Arbeiten mit Excel in Swift auf iOS und macOS: Bibliotheken und Beispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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

Empfehlungen