Arbeiten mit Excel in Swift: Vollständiger Leitfaden zu Bibliotheken und Tools für iOS/macOS

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): Übersicht über Bibliotheken und Codebeispiele



Die Verarbeitung von Tabellendaten ist eine der Kernaufgaben in modernen Anwendungen. Auf den Apple-Plattformen (iOS, macOS, watchOS) gibt es keine integrierte Unterstützung für das Excel-Format (.xlsx), daher verwenden Entwickler Drittanbieter-Bibliotheken. In diesem Artikel betrachten wir drei Hauptansätze und Bibliotheken für die Arbeit mit Excel in Swift: CoreXLSX, SwiftExcel und XLConnect. Sie erfahren, wie Sie Dateien lesen, erstellen und bearbeiten, und erhalten fertige Codebeispiele.



1. CoreXLSX — Lesen und Schreiben von .xlsx-Dateien



CoreXLSX ist die beliebteste Bibliothek für die Arbeit mit Excel in Swift. Sie unterstützt das Lesen und Schreiben von Dateien im Office Open XML (OOXML)-Format. Die Bibliothek ist in reinem Swift geschrieben und benötigt keine externen Abhängigkeiten.



Installation über den Swift Package Manager

// In Package.swift hinzufügen:dependencies: [    .package(url: "https://github.com/CoreOffice/CoreXLSX.git", from: "0.14.0")]


Excel-Datei lesen

import CoreXLSX

guard let filePath = Bundle.main.path(forResource: "data", ofType: "xlsx") else { print("Datei nicht gefunden") return}

let file = try XLSXFile(filepath: filePath)let sharedStrings = try file?.parseSharedStrings()let worksheets = try file?.parseWorksheetPaths()

for worksheetPath in worksheets ?? [] { let worksheet = try file?.parseWorksheet(at: worksheetPath) let rows = worksheet?.data?.rows ?? [] for row in rows { for cell in row.cells { if let sharedStrings = sharedStrings { let reference = cell.reference let value = cell.stringValue(sharedStrings) ?? cell.value ?? "" print("Zelle \\(reference): \\(value)") } } }}


Neue Datei erstellen

import CoreXLSX

let path = FileManager.default.temporaryDirectory.appendingPathComponent("newFile.xlsx")let file = XLSXFile(filepath: path.path)

// Arbeitsblatt erstellenlet worksheet = Worksheet(data: DataSheet(rows: [ Row(cells: [ Cell(reference: "A1", value: "Name"), Cell(reference: "B1", value: "Alter") ]), Row(cells: [ Cell(reference: "A2", value: "Anna"), Cell(reference: "B2", value: "25") ])]))

try file?.write(worksheet: worksheet, at: "xl/worksheets/sheet1.xml")


2. SwiftExcel — leichte Alternative



SwiftExcel ist eine minimalistische Bibliothek zum Erstellen von Excel-Dateien. Sie unterstützt das Lesen vorhandener Dateien nicht, eignet sich aber hervorragend zum Generieren von Berichten und zum Exportieren von Daten.



Installation über CocoaPods

pod 'SwiftExcel'


Beispiel zum Erstellen einer Tabelle

import SwiftExcel

let workbook = Workbook()let sheet = workbook.createSheet(named: "Bericht")

// Kopfzeilen ausfüllensheet.write(value: "Produkt", column: 1, row: 1)sheet.write(value: "Preis", column: 2, row: 1)sheet.write(value: "Menge", column: 3, row: 1)

// Datensheet.write(value: "Laptop", column: 1, row: 2)sheet.write(value: 1500.00, column: 2, row: 2)sheet.write(value: 10, column: 3, row: 2)

// Speichernlet path = FileManager.default.temporaryDirectory.appendingPathComponent("report.xlsx")try workbook.save(to: path)print("Datei gespeichert: \\(path)")


3. XLConnect — Arbeiten mit Excel über OpenXML (macOS)



XLConnect ist eine Bibliothek für macOS, die das OpenXML-Format direkt verwendet. Sie unterstützt komplexe Operationen: Zellen zusammenführen, Stile, Formeln und Diagramme.



Installation über Carthage

github "SwiftStudies/XLConnect" ~> 2.0


Beispiel mit Formeln und Stilen

import XLConnect

let workbook = Workbook()let sheet = try workbook.createShee

Empfehlungen