無料SwiftライブラリでSwiftオブジェクトをExcelファイルにエクスポート

ソフトウェア開発者がSwiftオブジェクトをカスタムスタイリングされたプロフェッショナルなExcel(.xlsx)ファイルに変換できるオープンソースSwiftライブラリ。

Objects2XLSXとは何ですか?

最新の iOS、macOS、サーバーサイド Swift アプリケーションでは、構造化データを Microsoft Excel のスプレッドシートにエクスポートする必要があることが多いです。売上レポート、在庫リスト、財務諸表、分析ダッシュボードを作成する場合でも、手動でプロフェッショナルな Excel ファイルを作成するのはすぐに複雑になります。Objects2XLSX は、この問題を解決するために設計されたオープンソースの Swift ライブラリです。クリーンで型安全かつ宣言的な API を使用して、Swift オブジェクトを直接 Excel(.xlsx)ブックに変換できます。行や列を手動で書く代わりに、開発者は Swift モデルがスプレッドシートの列にどのようにマッピングされるかを定義するだけで、残りはライブラリが処理します。

このライブラリは、プロフェッショナルな書式設定、複数のワークシート、進捗レポート、そして幅広いSwiftデータ型をサポートしており、レポート生成やビジネスアプリケーションに最適なソリューションです。プロジェクトのドキュメントによると、Objects2XLSXは型安全性、スタイリング、複数のワークシート、高性能なExcel生成に重点を置いています。Objects2XLSXは、従来のExcel生成に必要だった多くのボイラープレートコードを削減します。セルを手動で作成したり、ワークシートを書式設定したり、データ変換を管理したりする代わりに、開発者はSwiftオブジェクトを直接操作します。一般的な使用例としては、顧客レコードのエクスポート、財務レポートの作成、在庫管理、従業員データのエクスポート、ビジネス分析、売上レポート、教育用の成績評価システム、管理ダッシュボードなどがあります。

Previous Next

Objects2XLSX 入門

Objects2XLSX の推奨インストール方法は、Swift Package Manager(SPM)または CocoaPods を使用することです。スムーズなインストールのために、以下のコマンドをご利用ください。

Swift Package Manager を使用して 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 には、エクスポート操作をリアルタイムで監視できる進捗追跡機能が含まれています。この機能は、長時間にわたるレポート生成プロセス中にユーザーが視覚的なフィードバックを期待するデスクトップアプリケーションやエンタープライズシステムで特に有用です。

 日本