通过免费 Swift 库将 Swift 对象导出为 Excel 文件
开源 Swift 库,允许软件开发者将 Swift 对象转换为带有自定义样式的专业 Excel(.xlsx)文件。
Objects2XLSX 是什么?
现代 iOS、macOS 和服务器端 Swift 应用程序通常需要将结构化数据导出到 Microsoft Excel 电子表格中。无论是生成销售报告、库存清单、财务报表还是分析仪表板,手动创建专业的 Excel 文件都可能变得非常复杂。Objects2XLSX 是一个开源的 Swift 库,旨在解决此问题。它允许开发者使用简洁、类型安全且声明式的 API,将 Swift 对象直接转换为 Excel(.xlsx)工作簿。开发者无需手动编写行和列,只需定义 Swift 模型如何映射到电子表格列,其余工作交由库来完成。
该库支持专业的格式化、多工作表、进度报告以及广泛的 Swift 数据类型,使其成为报告生成和业务应用的优秀解决方案。根据项目文档,Objects2XLSX 注重类型安全、样式、多工作表以及高性能的 Excel 生成。Objects2XLSX 消除了传统 Excel 生成中大量的样板代码。开发者无需手动创建单元格、格式化工作表和管理数据转换,而是直接使用 Swift 对象。一些常见的使用场景包括导出客户记录、创建财务报告、库存管理、员工数据导出、业务分析、销售报告、教育评分系统和管理仪表板。
Objects2XLSX 入门指南
推荐的 Objects2XLSX 安装方式是使用 Swift Package Manager (SPM) 或 CocoaPods。请使用以下命令进行顺利安装。
通过 Swift 包管理器安装 Objects2XLSX
// Add Objects2XLSX to your Package.swift dependencies:
dependencies: [ .package(url: "https://github.com/fatbobman/Objects2XLSX.git", from: "1.3.0") ]
// Import the package
import Objects2XLSX
通过 GitHub 安装 Objects2XLSX:
git clone https://github.com/fatbobman/Objects2XLSX.git
您可以直接从 GitHub 下载。
通过 Swift 进行声明式工作簿构建
构建多标签页电子表格在历史上需要嵌套的、一步步的逻辑脚本,这些脚本难以扩展或重构。Objects2XLSX 使用一种声明式语法层,模仿现代领域特定语言(DSL)。这使得工程师能够在工作簿包装器中以清晰的可视层次结构准确地声明应存在的工作表、列和结构关系。此配置极大地优化了长期代码库的维护,并简化了协作代码审查。
如何通过 Swift API 执行声明式工作簿构建?
import Objects2XLSX
import Foundation
struct UserAccount: Sendable { let username: String; let rank: String }
struct LogEntry: Sendable { let timestamp: Date; let action: String }
func generateSystemWorkbook(users: [UserAccount], logs: [LogEntry]) -> Workbook {
// Declarative assembly definition organizing multi-sheet data structures
let workbook = Workbook(
sheets: [
Sheet(title: "Active Users", columns: [
Column(header: "User Profile ID", keyPath: \.username),
Column(header: "Access Group", keyPath: \.rank)
]).addRows(users),
Sheet(title: "Security Audits", columns: [
Column(header: "Event Time", keyPath: \.timestamp),
Column(header: "Operation Details", keyPath: \.action)
]).addRows(logs)
]
)
return workbook
}
通过 Swift 应用专业的 Excel 样式
专业报告需要的不仅是原始数据。开源库 Objects2XLSX 提供了丰富的样式功能,允许开发者自定义字体、颜色、边框、对齐方式和单元格外观。这使得能够轻松生成可直接用于业务的电子表格,而无需事后打开 Excel 进行手动格式化。样式系统旨在生成适合演示、报告和企业工作流的精美工作簿。
如何通过 Swift 库应用自定义样式?
import Objects2XLSX
import CoreGraphics
// Define customized visual presets matching enterprise documentation needs
let boldHeaderStyle = Style()
.font(.system(size: 11, weight: .bold))
.alignment(.center)
.background(.color(red: 0.12, green: 0.53, blue: 0.90)) // Corporate Blue
let currencyColumnStyle = Style()
.numberFormat("$#,##0.00")
.alignment(.right)
let customizedColumn = Column(
header: "Gross Revenue",
keyPath: \FinancialRow.revenue,
headerStyle: boldHeaderStyle,
cellStyle: currencyColumnStyle,
width: 22.0
)
struct FinancialRow: Sendable { let revenue: Double }
通过 Swift 应用专业的 Excel 样式
专业报告需要的不仅仅是原始数据。开源库 Objects2XLSX 提供了丰富的样式功能,允许开发者自定义字体、颜色、边框、对齐方式和单元格外观。这使得能够轻松生成可直接用于业务的电子表格,而无需事后打开 Excel 进行手动格式化。样式系统旨在生成适合演示、报告和企业工作流的精美工作簿。
如何通过 Swift 库应用自定义样式?
import Objects2XLSX
import CoreGraphics
// Define customized visual presets matching enterprise documentation needs
let boldHeaderStyle = Style()
.font(.system(size: 11, weight: .bold))
.alignment(.center)
.background(.color(red: 0.12, green: 0.53, blue: 0.90)) // Corporate Blue
let currencyColumnStyle = Style()
.numberFormat("$#,##0.00")
.alignment(.right)
let customizedColumn = Column(
header: "Gross Revenue",
keyPath: \FinancialRow.revenue,
headerStyle: boldHeaderStyle,
cellStyle: currencyColumnStyle,
width: 22.0
)
struct FinancialRow: Sendable { let revenue: Double }
大型导出进度跟踪
生成包含数千条记录的 Excel 工作簿可能需要显著的时间。Objects2XLSX 包含进度跟踪功能,允许开发者实时监控导出操作。此功能在桌面应用程序和企业系统中尤为有用,因为用户期望在长时间的报告生成过程中获得可视化反馈。