Arbeiten mit Excel in Swift (iOS/macOS): Bibliotheken und Codebeispiele
Die Entwicklung von Apps für iOS und macOS erfordert oft die Integration des Excel-Formats (.xlsx, .xls). Native Apple-Tools bieten keine direkte API für die Arbeit mit diesen Dateien, daher verwenden Entwickler Drittanbieter-Bibliotheken. In diesem Artikel betrachten wir drei beliebte Optionen: CoreXLSX, xlsxwriter und SwiftCSV, und geben praktische Beispiele zum Lesen und Schreiben von Daten.
1. CoreXLSX — Lesen und Schreiben von .xlsx
CoreXLSX ist eine Open-Source-Bibliothek, die vollständig in Swift geschrieben ist. Sie basiert auf dem internen ZIP-Format (da .xlsx ein ZIP-Archiv mit XML-Dateien ist). Unterstützt das Lesen, Schreiben und Bearbeiten von Blättern, Zellen und Stilen.
Installation: Über den Swift Package Manager (SPM) das Paket https://github.com/CoreOffice/CoreXLSX.git hinzufügen.
Beispiel: Daten aus Excel lesen
import CoreXLSX
func readExcelExample() { guard let filePath = Bundle.main.path(forResource: "data", ofType: "xlsx"), let data = try? Data(contentsOf: URL(fileURLWithPath: filePath)), let file = try? XLSXFile(data: data) else { print("Datei konnte nicht geladen werden") return } do { let sharedStrings = try file.parseSharedStrings() let worksheet = try file.parseWorksheet(at: "xl/worksheets/sheet1.xml") for row in worksheet.data?.rows ?? [] { var rowValues: [String] = [] for cell in row.cells { if let stringRef = cell.stringValue(sharedStrings) { rowValues.append(stringRef) } else if let value = cell.value { rowValues.append(value) } else { rowValues.append("") } } print(rowValues.joined(separator: ", ")) } } catch { print("Parsing-Fehler: \\(error)") }}2. xlsxwriter — Excel-Dateien in Swift erstellen
xlsxwriter ist ein Wrapper um die Bibliothek libxlsxwriter (C-Implementierung). Ermöglicht das Erstellen von .xlsx-Dateien mit Formatierung, Formeln und Diagrammen. Ideal für die Berichterstellung auf macOS und iOS.
Installation: Über CocoaPods (pod 'xlsxwriter') oder SPM.
Beispiel: Erstellen einer einfachen Datei
import xlsxwriter
func createExcelExample() { let documentDirectory = FileManager.default.temporaryDirectory let fileURL = documentDirectory.appendingPathComponent("report.xlsx") let workbook = Workbook(path: fileURL.path) let sheet = workbook.addWorksheet(named: "Bericht") // Überschriften sheet.writeString("Name", at: column: 0, row: 0) sheet.writeString("Alter", at: column: 1, row: 0) sheet.writeString("Stadt", at: column: 2, row: 0) // Daten sheet.writeString("Anna", at: column: 0, row: 1) sheet.writeNumber(28, at: column: 1, row: 1) sheet.writeString("Moskau", at: column: 2, row: 1) sheet.writeString("Ivan", at: column: 0, row: 2) sheet.writeNumber(35, at: column: 1, row: 2) sheet.writeString("Sankt Petersburg", at: column: 2, row: 2) workbook.close() print("Datei erstellt: \\(fileURL)")}3. SwiftCSV — Arbeiten mit CSV (Excel-Alternative)
Wenn Sie kein vollwertiges .xlsx-Format benötigen, ist SwiftCSV eine leichte Bibliothek zum Lesen und Schreiben von CSV-Dateien. CSV lässt sich problemlos in Excel und anderen Tabellenkalkulationsprogrammen öffnen.
Installation: Über SPM: https://github.com/swiftcsv/SwiftCSV.git.
Beispiel: CSV lesen und schreiben
import SwiftCSV
func csvExample() { // Lesen guard let csvURL = Bundle.main.url(forResource: "data", with Auch in der Bibliothek
Arbeiten mit Apache Kafka in Go (Golang): Bibliotheken und Beispiele
Moq für C# (.NET): Vollständiger Leitfaden mit Beispielen
Kotest für Kotlin: Das komplette Tutorial mit Praxisbeispielen
Arbeiten mit Daten in Swift (iOS/macOS): Bibliotheken und Werkzeuge