Travailler avec Excel en Swift : Guide complet des bibliothèques et outils pour iOS/macOS

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) : Aperçu des bibliothèques et exemples de code



Le traitement des données tabulaires est l'une des tâches clés dans les applications modernes. Sur les plateformes Apple (iOS, macOS, watchOS), il n'y a pas de prise en charge intégrée du format Excel (.xlsx), c'est pourquoi les développeurs utilisent des bibliothèques tierces. Dans cet article, nous examinerons trois approches et bibliothèques principales pour travailler avec Excel en Swift : CoreXLSX, SwiftExcel et XLConnect. Vous apprendrez à lire, créer et modifier des fichiers, et obtiendrez des exemples de code prêts à l'emploi.



1. CoreXLSX — lecture et écriture de fichiers .xlsx



CoreXLSX est la bibliothèque la plus populaire pour travailler avec Excel en Swift. Elle prend en charge la lecture et l'écriture de fichiers au format Office Open XML (OOXML). La bibliothèque est écrite en Swift pur et ne nécessite pas de dépendances externes.



Installation via Swift Package Manager

// Dans Package.swift, ajoutez :dependencies: [    .package(url: "https://github.com/CoreOffice/CoreXLSX.git", from: "0.14.0")]


Lecture d'un fichier Excel

import CoreXLSX

guard let filePath = Bundle.main.path(forResource: "data", ofType: "xlsx") else { print("Fichier non trouvé") 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("Cellule \\(reference) : \\(value)") } } }}


Création d'un nouveau fichier

import CoreXLSX

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

// Créer une feuille de calcullet worksheet = Worksheet(data: DataSheet(rows: [ Row(cells: [ Cell(reference: "A1", value: "Nom"), Cell(reference: "B1", value: "Âge") ]), Row(cells: [ Cell(reference: "A2", value: "Anna"), Cell(reference: "B2", value: "25") ])]))

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


2. SwiftExcel — une alternative légère



SwiftExcel est une bibliothèque minimaliste pour créer des fichiers Excel. Elle ne prend pas en charge la lecture de fichiers existants, mais est parfaite pour générer des rapports et exporter des données.



Installation via CocoaPods

pod 'SwiftExcel'


Exemple de création d'un tableau

import SwiftExcel

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

// Remplir les en-têtessheet.write(value: "Produit", column: 1, row: 1)sheet.write(value: "Prix", column: 2, row: 1)sheet.write(value: "Quantité", column: 3, row: 1)

// Donnéessheet.write(value: "Ordinateur portable", column: 1, row: 2)sheet.write(value: 1500.00, column: 2, row: 2)sheet.write(value: 10, column: 3, row: 2)

// Enregistrerlet path = FileManager.default.temporaryDirectory.appendingPathComponent("report.xlsx")try workbook.save(to: path)print("Fichier enregistré : \\(path)")


3. XLConnect — travailler avec Excel via OpenXML (macOS)



XLConnect est une bibliothèque pour macOS qui utilise directement le format OpenXML. Elle prend en charge les opérations complexes : fusion de cellules, styles, formules et graphiques.



Installation via Carthage

github "SwiftStudies/XLConnect" ~> 2.0


Exemple avec formules et styles

import XLConnect

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

Recommendations