Travailler avec Excel en Swift sur iOS et macOS : bibliothèques et exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Travailler avec Excel en Swift (iOS/macOS) : bibliothèques et exemples de code



Le développement d'applications pour iOS et macOS nécessite souvent une intégration avec le format Excel (.xlsx, .xls). Les outils natifs d'Apple ne fournissent pas d'API directe pour travailler avec ces fichiers, c'est pourquoi les développeurs utilisent des bibliothèques tierces. Dans cet article, nous examinerons trois options populaires : CoreXLSX, xlsxwriter et SwiftCSV, et nous fournirons des exemples pratiques pour la lecture et l'écriture de données.



1. CoreXLSX — lecture et écriture de .xlsx

CoreXLSX est une bibliothèque open source entièrement écrite en Swift. Elle est basée sur le format interne ZIP (car .xlsx est une archive ZIP contenant des fichiers XML). Elle prend en charge la lecture, l'écriture et l'édition de feuilles, de cellules et de styles.



Installation : via Swift Package Manager (SPM), ajoutez le paquet https://github.com/CoreOffice/CoreXLSX.git.



Exemple : lecture de données depuis Excel

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("Impossible de charger le fichier") 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("Erreur d'analyse : \\(error)") }}


2. xlsxwriter — création de fichiers Excel en Swift

xlsxwriter est un wrapper autour de la bibliothèque libxlsxwriter (implémentation en C). Il permet de créer des fichiers .xlsx avec mise en forme, formules et graphiques. Idéal pour la génération de rapports sur macOS et iOS.



Installation : via CocoaPods (pod 'xlsxwriter') ou SPM.



Exemple : création d'un fichier simple

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: "Rapport") // En-têtes sheet.writeString("Nom", at: column: 0, row: 0) sheet.writeString("Âge", at: column: 1, row: 0) sheet.writeString("Ville", at: column: 2, row: 0) // Données sheet.writeString("Anna", at: column: 0, row: 1) sheet.writeNumber(28, at: column: 1, row: 1) sheet.writeString("Moscou", at: column: 2, row: 1) sheet.writeString("Ivan", at: column: 0, row: 2) sheet.writeNumber(35, at: column: 1, row: 2) sheet.writeString("Saint-Pétersbourg", at: column: 2, row: 2) workbook.close() print("Fichier créé : \\(fileURL)")}


3. SwiftCSV — travail avec CSV (alternative à Excel)

Si vous n'avez pas besoin du format complet .xlsx, SwiftCSV est une bibliothèque légère pour lire et écrire des fichiers CSV. Les fichiers CSV s'ouvrent facilement dans Excel et d'autres tableurs.



Installation : via SPM : https://github.com/swiftcsv/SwiftCSV.git.



Exemple : lecture et écriture de CSV

import SwiftCSV

func csvExample() { // Lecture guard let csvURL = Bundle.main.url(forResource: "data", with

Recommendations