ספריית Swift חינמית לטעינה וכתיבה של קבצי Excel XLSX

ספרייה חזקה בקוד פתוח של Swift 5 שמעצימה מפתחים ליצור ולקרוא קבצי XLSX, להעתיק, להסיר גיליונות, להחיל סגנונות ועיצוב ועוד, בחינם.

מהי XlsxReaderWriterSwift?

עייפים מריבוי פורמטים מורכבים של גיליונות ב- Swift שלכם? דמיינו תרחיש שבו האפליקציה שלכם צריכה ליצור דו"ח מפורט, לייבא נתוני משתמש מתבנית, או אפילו לבנות מודל פיננסי דינמי — כל זה ישירות בתוך סביבת ה‑iOS. ניתוח קבצי CSV באופן ידני מוגבל, והסתמכות על שירותים חיצוניים לעיבוד קבצי XLSX אינה יעילה. כאן נכנסת XlsxReaderWriterSwift, ספריה פתוחה וחזקה, שתסייע. הספרייה מספקת למפתחי Swift ערכה אינטואיטיבית ויציבה לקריאה וכתיבה של פורמט .xlsx המודרני של Microsoft Excel, ישירות באפליקציות iOS, macOS ו‑visionOS שלכם.

XlsxReaderWriterSwift היא ספריית Swift 5 חזקה שמאפשרת למפתחים ליצור ולקרוא קבצי XLSX, הפורמט הסטנדרטי של גליונות Excel מודרניים. הספרייה מציעה מספר תכונות חשובות לעבודה עם קבצי Excel XLSX של Microsoft, כגון קריאת קבצי XLSX, יצירת קבצים חדשים, החלת סגנון ועיצוב לתאים, הוספה וניהול של תמונות בתאים, יצירת דו"חות, הטמעת גליונות ועוד רבים. מבוססת על ספריית C libxlsxwriter, היא מוסיפה ערכה מקיפה של תכונות ל‑Apple ecosystem. משמעות הדבר שאתם יכולים ליצור קבצים תואמים ל‑Excel במלואם, 100% תואמים, ישירות באפליקציות iOS או macOS שלכם.

Previous Next

התחלה עם XlsxReaderWriterSwift

השיטה המומלצת להתקנת XlsxReaderWriterSwift היא באמצעות CocoaPods. נא להשתמש בפקודה הבאה להתקנה חלקה.

להתקין את XlsxReaderWriterSwift באמצעות CocoaPods

 pod "XlsxReaderWriterSwift"

pod install

להתקין את XlsxReaderWriterSwift באמצעות GitHub

git clone https://github.com/mehulparmar4ever/XlsxReaderWriterSwift.git

אתה יכול להוריד זאת ישירות מ-GitHub.

צור וכתוב לקובץ XLSX חדש באמצעות ספריית Swift

יצירת קובץ חדש מאפס והוספת נתונים אליו היא קלה בדיוק. ספריית הקוד הפתוח XlsxReaderWriterSwift מספקת תמיכה מלאה ביצירת וניהול גיליונות אלקטרוניים XLSX חדשים ביישומי Swift. מפתחים יכולים ליצור גיליון עבודה חדש, לשנות שם לגיליון קיים, להעתיק נתוני גיליון, לשמור את המסמך במקום ספציפי ועוד. הדוגמה הבאה מציגה כיצד מפתחים יכולים ליצור גיליון עבודה XLSX חדש באמצעות ספריית Swift.

כיצד ליצור גיליון עבודה XLSX חדש ב-Excel באמצעות ספריית 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)")
}

החלת עיצוב תאי מתקדם באמצעות Swift

גיליון אלקטרוני אינו רק על נתונים; מצגת חשובה. ה-API של XlsxReaderWriterSwift בקוד פתוח מספק שליטה רחבה בעיצוב תאים. הוא חורג מהזנת נתונים בסיסית. ניתן להחיל מגוון רחב של אפשרויות עיצוב, כולל יישור תאים ועיצוב מספרים, יצירת תאים חדשים, יצירת סגנונות חדשים, גישה לסגנונות קיימים, יישום גבול על טווח תאים ועוד. הנה דוגמה פשוטה שמראה כיצד מפתחים יכולים להחיל סגנונות מתקדמים על תאים באקסל באמצעות פקודות 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 באמצעות ספריית Swift

ספריית XlsxReaderWriterSwift בקוד פתוח מאפשרת למפתחים לנצל נתונים בתוך גיליון אלקטרוני של Excel באמצעות API של Swift. הספרייה מאפשרת לבצע מגוון פעולות מניפולציה של נתונים, כגון מיון, סינון וחישוב ערכים בתוך גליון Excel. זה הופך אותה לכלי אידיאלי למשימות כגון ניתוח נתונים ודיווח. בנוסף, מפתחים יכולים בקלות לחלץ נתונים מתאים מסוים, שורות או עמודות בתוך גליון Excel באמצעות API של Swift. תכונה זו מועילה מאוד בעבודה עם קבוצות נתונים גדולות כאשר רק מידע ספציפי נדרש.

כיצד לקרוא נתונים מקובץ XLSX של Excel באמצעות API חופשי של Swift?

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)")
        }
    }
}

 עִברִית