Trabalhando com Excel em Swift: Guia Completo de Bibliotecas e Ferramentas para iOS/macOS

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Trabalhando com Excel em Swift (iOS/macOS): Visão geral das bibliotecas e exemplos de código



O processamento de dados tabulares é uma das principais tarefas em aplicativos modernos. Nas plataformas Apple (iOS, macOS, watchOS) não há suporte nativo para o formato Excel (.xlsx), por isso os desenvolvedores usam bibliotecas de terceiros. Neste artigo, veremos três abordagens principais e bibliotecas para trabalhar com Excel em Swift: CoreXLSX, SwiftExcel e XLConnect. Você aprenderá a ler, criar e editar arquivos, além de obter exemplos de código prontos.



1. CoreXLSX — leitura e escrita de arquivos .xlsx



CoreXLSX é a biblioteca mais popular para trabalhar com Excel em Swift. Ela suporta leitura e escrita de arquivos no formato Office Open XML (OOXML). A biblioteca é escrita em Swift puro e não requer dependências externas.



Instalação via Swift Package Manager

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


Lendo um arquivo Excel

import CoreXLSX

guard let filePath = Bundle.main.path(forResource: "data", ofType: "xlsx") else { print("Arquivo não encontrado") 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("Célula \\(reference): \\(value)") } } }}


Criando um novo arquivo

import CoreXLSX

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

// Criando uma planilhalet worksheet = Worksheet(data: DataSheet(rows: [ Row(cells: [ Cell(reference: "A1", value: "Nome"), Cell(reference: "B1", value: "Idade") ]), Row(cells: [ Cell(reference: "A2", value: "Ana"), Cell(reference: "B2", value: "25") ])]))

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


2. SwiftExcel — alternativa leve



SwiftExcel é uma biblioteca minimalista para criar arquivos Excel. Ela não suporta leitura de arquivos existentes, mas é excelente para geração de relatórios e exportação de dados.



Instalação via CocoaPods

pod 'SwiftExcel'


Exemplo de criação de tabela

import SwiftExcel

let workbook = Workbook()let sheet = workbook.createSheet(named: "Relatório")

// Preenchendo cabeçalhossheet.write(value: "Produto", column: 1, row: 1)sheet.write(value: "Preço", column: 2, row: 1)sheet.write(value: "Quantidade", column: 3, row: 1)

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

// Salvandolet path = FileManager.default.temporaryDirectory.appendingPathComponent("report.xlsx")try workbook.save(to: path)print("Arquivo salvo: \\(path)")


3. XLConnect — trabalhando com Excel via OpenXML (macOS)



XLConnect é uma biblioteca para macOS que usa o formato OpenXML diretamente. Ela suporta operações complexas: mesclagem de células, estilos, fórmulas e gráficos.



Instalação via Carthage

github "SwiftStudies/XLConnect" ~> 2.0


Exemplo com fórmulas e estilos

import XLConnect

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

Recommendations