کتابخانه رایگان سوئیفت برای خواندن و نوشتن فایلهای Excel XLSX
کتابخانه منبع باز مستحکم سوئیفت 5 که به توسعهدهندگان امکان ایجاد و خواندن فایلهای XLSX، کپی، حذف شیتها، اعمال استایلها و قالببندی و غیره را بهصورت رایگان میدهد.
XlsxReaderWriterSwift چیست؟
از مقابله با فرمتهای پیچیدهٔ صفحهگسترده در پروژههای Swift خسته شدهاید؟ تصور کنید برنامهتان باید گزارشی دقیق تولید کند، دادههای کاربر را از یک قالب وارد کند، یا حتی یک مدل مالی پویا بسازد—تمام اینها مستقیماً در اکوسیستم iOS. پردازش دستی فایلهای CSV محدودیت دارد و تکیه بر سرویسهای خارجی برای پردازش فایلهای XLSX ناکارآمد است. در اینجا XlsxReaderWriterSwift، یک کتابخانهی قدرتمند و بومی منبع باز، به کمک میآید. این کتابخانه ابزارهای کاربری شهودی و قدرتمندی را به توسعهدهندگان Swift میدهد تا بتوانند بهصورت یکپارچه از فرمت .xlsx مدرن مایکروسافت اکسل بخوانند و بنویسند، درست داخل برنامههای iOS، macOS و visionOS شما.
XlsxReaderWriterSwift یک کتابخانهٔ قوی Swift 5 است که به توسعهدهندگان نرمافزار امکان میدهد تا فایلهای XLSX را که استاندارد صفحهگستردههای مدرن اکسل هستند، ایجاد و بخوانند. این کتابخانه ویژگیهای مهمی برای کار با فایلهای XLSX مایکروسافت، مانند خواندن فایلهای XLSX، ایجاد فایلهای جدید XLSX، اعمال سبک و قالببندی به سلولها، افزودن و مدیریت تصاویر در سلولها، تولید گزارشها، جاسازی صفحهگستردهها و موارد دیگر ارائه میدهد. این کتابخانه بر پایه کتابخانهٔ C libxlsxwriter ساخته شده و مجموعهای کامل از قابلیتها را به اکوسیستم اپل میآورد. این به این معناست که میتوانید فایلهای Excel کاملاً سازگار و تمامعیار را مستقیماً از برنامه iOS یا macOS خود تولید کنید.
شروع کار با XlsxReaderWriterSwift
راه توصیهشده برای نصب XlsxReaderWriterSwift استفاده از CocoaPods است. لطفاً دستور زیر را برای نصب روان اجرا کنید.
نصب XlsxReaderWriterSwift از طریق CocoaPods
pod "XlsxReaderWriterSwift"
pod install
نصب XlsxReaderWriterSwift از طریق GitHub
git clone https://github.com/mehulparmar4ever/XlsxReaderWriterSwift.git
میتوانید آن را مستقیماً از GitHub دانلود کنید.
ایجاد و نوشتن در یک فایل XLSX جدید با استفاده از کتابخانه سوئیفت
ایجاد یک فایل جدید از صفر و پر کردن آن با دادهها به همان سادگی است. کتابخانه منبع باز XlsxReaderWriterSwift پشتیبانی کامل برای ایجاد و مدیریت صفحات جدید Excel XLSX در برنامههای Swift فراهم میکند. توسعهدهندگان میتوانند شیت جدیدی ایجاد کنند، شیت موجود را تغییر نام دهند، دادههای شیت را کپی کنند، سند را در مکان خاصی ذخیره کنند و غیره. مثال زیر نشان میدهد چگونه توسعهدهندگان میتوانند یک صفحه جدید Excel XLSX را با استفاده از کتابخانه Swift ایجاد کنند.
چگونه یک Worksheet جدید Excel XLSX را با کتابخانه Swift ایجاد کنیم؟
import XlsxReaderWriterSwift
// 1. Create a new, empty document
let document = BRAOfficeDocumentPackage()
// 2. Get the first worksheet and give it a name
guard let worksheet = document.workbook.worksheets.first as? BRAWorksheet else {
return
}
worksheet.name = "User Data"
// 3. Write different types of data to cells
worksheet.cell(forCellReference: "A1", shouldCreate: true).stringValue = "Name"
worksheet.cell(forCellReference: "B1", shouldCreate: true).stringValue = "Score"
worksheet.cell(forCellReference: "A2", shouldCreate: true).stringValue = "Alice"
worksheet.cell(forCellReference: "B2", shouldCreate: true).integerValue = 95
worksheet.cell(forCellReference: "A3", shouldCreate: true).stringValue = "Bob"
worksheet.cell(forCellReference: "B3", shouldCreate: true).integerValue = 87
// 4. Define a file path to save the document
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileURL = documentsDirectory.appendingPathComponent("NewReport.xlsx")
// 5. Save the document to the specified path
do {
let data = document.save()
try data?.write(to: fileURL)
print("Spreadsheet saved successfully at: \(fileURL.path)")
} catch {
print("Failed to save spreadsheet: \(error)")
}
اعمال سبکسازی پیشرفته به سلولها با سوئیفت
یک صفحهگسترده فقط درباره دادهها نیست؛ ارائه نیز مهم است. API منبع باز XlsxReaderWriterSwift کنترل گستردهای بر استایلگذاری سلولها فراهم میکند. این فراتر از ورود ساده دادههاست. میتوانید طیف وسیعی از گزینههای فرمتبندی مانند تنظیمات ترازبندی سلول و فرمت عددی، ایجاد سلولهای جدید، ایجاد سبکهای جدید، دسترسی به سبکهای موجود، اعمال حاشیه به محدودهای از سلولها و غیره اعمال کنید. این یک مثال ساده است که نشان میدهد چگونه توسعهدهندگان میتوانند استایلهای پیشرفته را به سلولهای Excel با استفاده از دستورات Swift اعمال کنند.
چگونه سبکهای پیشرفته را به سلولهای Excel با استفاده از کتابخانه Swift اعمال کنیم؟
// ... (after creating a worksheet and cell)
// Get or create a cell
let headerCell = worksheet.cell(forCellReference: "A1", shouldCreate: true)
headerCell.stringValue = "Sales Report"
// Access the cell's style
let style = headerCell.cellStyle()
// Configure the style
style.font.bold = true
style.font.size = 18
style.fill.foregroundColor = .blue // Background color
style.fill.patternType = .solid
style.alignment.horizontal = .center
// Apply a border to a range of cells
let borderStyle = BRABorderStyle()
borderStyle.lineStyle = .medium
borderStyle.color = .darkGray
let dataRange = worksheet.cells(inRows: 1...3, columns: 1...2)
for cell in dataRange {
(cell as? BRACell)?.cellStyle().bottomBorder = borderStyle
}
خواندن یک فایل XLSX با کتابخانه سوئیفت
کتابخانه منبع باز XlsxReaderWriterSwift به توسعهدهندگان نرمافزار اجازه میدهد تا دادهها را درون صفحات Excel با استفاده از API Swift دستکاری کنند. این کتابخانه امکان انجام عملیات مختلفی مانند مرتبسازی، فیلتر کردن و محاسبه مقادیر درون شیتهای Excel را فراهم میکند. این ویژگیها آن را به ابزار ایدهآلی برای کارهایی مانند تحلیل داده و گزارشگیری تبدیل میکند. علاوه بر این، توسعهدهندگان میتوانند بهراحتی دادهها را از سلولها، ردیفها یا ستونهای خاص استخراج کنند، که در کار با مجموعهدادههای بزرگ و نیاز به اطلاعات خاص بسیار مفید است.
چگونه با API رایگان Swift دادهها را از یک فایل Excel XLSX بخوانیم؟
import XlsxReaderWriterSwift
// 1. Locate the .xlsx file in your app's bundle
guard let filePath = Bundle.main.path(forResource: "SampleData", ofType: "xlsx") else {
print("File not found!")
return
}
// 2. Create a BRAOfficeDocumentPackage object from the file
let document = BRAOfficeDocumentPackage.open(filePath)
// 3. Get the first worksheet
guard let worksheet = document.workbook.worksheets.first as? BRAWorksheet else {
print("No worksheets found!")
return
}
// 4. Read data from specific cells
if let cellA1 = worksheet.cell(forCellReference: "A1") {
let stringValue = cellA1.stringValue() // Gets the value as a String
print("A1: \(stringValue)")
}
if let cellB2 = worksheet.cell(forCellReference: "B2") {
let numberValue = cellB2.floatValue() // Gets the value as a Float
print("B2: \(numberValue)")
}
// 5. Iterate over a range of cells
for row in 1...5 {
for column in 1...3 {
let cellReference = "\(UnicodeScalar(64 + column)!)\(row)" // Creates refs like A1, B1, etc.
if let cell = worksheet.cell(forCellReference: cellReference),
let value = cell.stringValue() {
print("\(cellReference): \(value)")
}
}
}