Экспортируйте SwiftObjects в файлы Excel с помощью бесплатной библиотеки Swift

Открытая библиотека Swift, позволяющая разработчикам программного обеспечения преобразовывать объекты Swift в профессиональные файлы Excel (.xlsx) с пользовательской стилизацией.

Что такое Objects2XLSX?

Современным iOS, macOS и серверным приложениям на Swift часто требуется экспортировать структурированные данные в электронные таблицы Microsoft Excel. Независимо от того, создаёте ли вы отчёты о продажах, списки инвентаря, финансовые отчёты или аналитические панели, ручное создание профессиональных файлов Excel может быстро стать сложным. Objects2XLSX — это открытая библиотека Swift, разработанная для решения этой проблемы. Она позволяет разработчикам напрямую преобразовывать объекты Swift в рабочие книги Excel (.xlsx) с помощью чистого, типобезопасного и декларативного API. Вместо того чтобы вручную писать строки и столбцы, разработчики просто определяют, как их модели Swift сопоставляются со столбцами таблицы, а библиотека берёт на себя остальное.

Библиотека поддерживает профессиональное форматирование, несколько листов, отчётность о прогрессе и широкий спектр типов данных Swift, что делает её отличным решением для генерации отчётов и бизнес‑приложений. Согласно документации проекта, Objects2XLSX ориентирована на безопасность типов, стилизацию, несколько листов и высокопроизводительное создание Excel. Objects2XLSX устраняет большую часть шаблонного кода, традиционно требуемого для генерации Excel. Вместо ручного создания ячеек, форматирования листов и управления преобразованиями данных разработчики работают напрямую с объектами Swift. Некоторые типичные сценарии использования включают экспорт записей клиентов, создание финансовых отчётов, управление инвентарём, экспорт данных сотрудников, бизнес‑аналитику, отчётность по продажам, системы оценивания в образовании и административные панели.

Previous Next

Начало работы с Objects2XLSX

Рекомендуемый способ установки Objects2XLSX — использование Swift Package Manager (SPM) или CocoaPods. Пожалуйста, используйте следующую команду для беспроблемной установки.

Установить Objects2XLSX через Swift Package Manager

  // 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

Установить Objects2XLSX через GitHub:

 git clone https://github.com/fatbobman/Objects2XLSX.git

Вы можете скачать его напрямую с GitHub.

Декларативное создание рабочей книги с помощью Swift

Создание многовкладочных электронных таблиц исторически требовало вложенных пошаговых логических скриптов, которые было сложно масштабировать или рефакторить. Objects2XLSX использует декларативный слой синтаксиса, имитирующий современные предметно-ориентированные языки (DSLs). Это позволяет инженерам точно указывать, какие листы, столбцы и структурные взаимосвязи должны существовать внутри обёртки книги в чистой визуальной иерархии. Такая конфигурация значительно оптимизирует долгосрочное обслуживание кодовой базы и упрощает совместные ревью кода.

Как выполнить декларативное создание рабочей книги через API Swift?

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
}

Применение профессионального стиля Excel с помощью Swift

Профессиональные отчёты требуют больше, чем просто сырые данные. Открытая библиотека 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 с помощью Swift

Профессиональные отчёты требуют большего, чем сырые данные. Открытая библиотека 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 включает возможности отслеживания прогресса, позволяющие разработчикам контролировать операции экспорта в реальном времени. Эта функция особенно полезна в настольных приложениях и корпоративных системах, где пользователи ожидают визуальную обратную связь во время длительных процессов генерации отчётов.

 Русский