HotXLS ドキュメント

ネイティブExcel · DelphiおよびC++Builder · Excel / Office / COM 不要

自身のプロセス内で直接、本物のスプレッドシートを生成、読み取り、スタイル設定、エクスポート

HotXLSは、バイナリ/OOXMLレベルでExcelワークブックを読み取り、書き込み、変更、スタイル設定、計算、およびエクスポートする、ネイティブなObject Pascalスプレッドシートライブラリです。Microsoft Excel、Officeのインストール、COM/OLEオートメーション、外部DLL、およびランタイムロイヤリティは一切不要です。

開発チームがOfficeオートメーションよりもHotXLSを選ぶ9つの理由

各ポイントはロードマップ上の予定ではなく、APIリファレンスやデモで確認できる提供済みの機能です。

Excel / Office / COM 依存なし

DelphiまたはC++Builderのプロセス内で直接ワークブックを構築します。Officeオートメーションが脆弱、低速、または利用できないデスクトップアプリ、サービス、バッチジョブ、インストーラー、サーバーユーティリティで機能します。

無人 / サーバーサイドでの使用を想定した設計

純粋なネイティブPascal · DLL不要 · ロイヤリティ不要

完全にDelphiで記述されており、DLLは不要で、ホットパスでの中間XML DOMの割り当てもありません。開発者ライセンスのみで本番環境にデプロイでき、コピーごとのランタイム費用はかかりません。

69のソースユニット · 単一のインプロセスエンジン

1つのライブラリで6つのフォーマットに対応

XLS (BIFF8)、XLSX (OOXML)、ODS (OpenDocument 1.2) の読み書きに対応し、CSV、TSV、HTML、RTFにエクスポートします。CSV/TSVのインポートでは、区切り文字の自動判別、BOMの検出、値の型の推論を行います。

エントリポイント: TXLSWorkbook および TXLSXWorkbook

組み込みの数式計算エンジン

数式はHotXLS自身によって評価されるため、開くときにExcelで再計算する必要はありません。テキスト、日付/稼働日、基数変換、ビット演算、統計、数学などの関数グループをカバーしており、OnUserFunction / OnUserFunctionEx を介して独自の関数を追加できます。

TXLSFormulaTracer によるステップバイステップのトレース

AES-NI による高速暗号化

ハードウェアのAES-NIアクセラレーションとソフトウェアのフォールバックを備えた、Excel互換のAES暗号化XLSX保存 (SaveAsEncrypted)。クラシックなXLSでは、EncryptionPassword を介してBIFF8 RC4パスワード保護を維持します。

どちらのパスでも同一の暗号文

メモリをほぼ一定に保つストリーミング

TXLSDirectReader は、セル/シートごとのイベントと早期終了を使用してセルを1つずつスキャンします。TXLSDirectWriter は、行が到着すると各ワークシートをパッケージに直接出力します。超大容量のワークブックを全体をロードすることなく処理します。

共有文字列の重複排除と共有数式の圧縮により、ファイルサイズを小さく維持

スレッドセーフなファイルI/O

複数の TXLSXWorkbook インスタンスが独立したスレッド上で同期なしに同時に実行されます。多くのワークブックを一度に生成するマルチスレッドのレポートサーバーに最適です。

高スループットのサービスバックエンドに最適

デュアルファサードアーキテクチャ

レガシーコードはクラシックな lxHandle ファサード (XLS + HTML/RTF/CSV/TSV) 上で動作し続けますが、lxHandleX はXLSX/ODSを独立して拡張します。大規模な書き換えを行わずに段階的に移行できます。

APIはExcel OLEオブジェクトモデルを反映しており、COM移行時のドロップイン代替として機能

ドロップインコンポーネントと豊富なExcelオブジェクト

TDataToXLS (データセットエクスポート) と TGridToXLS (DBGridエクスポート) は、一般的なタスクにコードを必要としません。オプションでDevExpress cxGrid のエクスポートも可能です。さらに、チャート、ピボットテーブル、条件付き書式、データの入力規則、オートフィルター、テーブル、画像、およびVBAのラウンドトリップに対応しています。

50のDelphiおよび27のC++Builderデモプロジェクト

主張だけでなく、確かな実績

6フォーマット: XLS, XLSX, ODS, CSV/TSV, HTML, RTF
12RAD Studio バージョン: XE5 → 13.1 Florence
466APIリファレンスおよびガイドのトピック
35ローカライズされたドキュメント言語

HotXLSの主な対象ユーザー

サーバーサイドのレポート生成

Excel/Officeをインストールできないサービスでの、大容量でマルチスレッドのワークブック作成。スレッドセーフ、UIなし、メモリはほぼ一定。

Officeオートメーションからの移行

脆弱で低速なCOM/OLEオートメーションを、Excelオブジェクトモデルを反映したネイティブなインプロセスエンジンに置き換えます。同じ呼び出しで、Officeは不要、真のパフォーマンスを実現します。

データエクスポートとBI

1行のコードでデータセット、DBGrid、DevExpress cxGridを、スタイル設定と数式に対応したワークブックにエクスポートし、あらゆるスプレッドシートアプリできれいに開くことができます。

金融とコンプライアンス

AES暗号化されたXLSXの配信、BIFF8 RC4レガシーサポート、およびExcelで作成されたメタデータとテーマカラーを保持する高忠実度のラウンドトリップ。

多言語データ

CJK(日中韓)、アラビア語、ヘブライ語、タイ語に対するUnicodeネイティブの読み書きで、正確な双方向/文字の読み取り順序処理をサポートします。

単一ファイルのデプロイ

外部依存関係やインストールのフットプリントなしで、1つの実行可能ファイルとして出荷する必要があるデスクトップおよび組み込みツール。

数行のコードでスタイル付きワークブックを作成

Excelなし、COMなし、ディスク上の一時的なXMLファイルなし。ワークブックはメモリ内で直接構築されます。

uses lxHandleX;

var
  WB: TXLSXWorkbook;
  WS: TXLSXWorksheet;
begin
  WB := TXLSXWorkbook.Create;
  try
    WS := WB.AddWorksheet('Sales');
    WS.Cells[0, 0].AsString := 'Region';
    WS.Cells[0, 1].AsString := 'Total';
    WS.Cells[1, 1].AsFormula := '=SUM(B2:B100)';
    WS.ApplyAutoFilter('A1:B100');
    WB.SaveAsEncrypted('sales.xlsx', 'owner-pwd');
  finally
    WB.Free;
  end;
end;

次のステップ

まずは完全な概要サンプルから始めるか、 目次で各クラスを閲覧するか、 最新のリリースノート (現在 2.92.0) にジャンプしてください。