Xlnt

 
 

Excel スプレッドシート用のクロスプラットフォーム C++ ライブラリ 

オープン ソース API により、C++ API を介して Microsoft Excel XLSX スプレッドシート ファイルの読み取り、書き込み、変更、エクスポートが可能です。

XLnt は、XLSX スプレッドシート ファイルを操作するための機能を提供する最新のオープン ソース C++ ライブラリです。ソフトウェア開発者は、スプレッドシート ファイルを XLSX ファイルとの間で読み書きできます。 2017 年 5 月 10 日に、Xlnt バージョン 1.0 の最初のパブリック リリースが公開されました。最近の作業は主に、互換性の強化とパフォーマンスの向上に重点を置いています。

Xlnt ライブラリは、Excel スタイルのワークブックと数値スタイルのワークブックの作成、暗号化されたワークブックの作成、Excel バイナリ ワークブック、ドキュメント プロパティ、ハイパーリンクのサポート、ページ マージン、コメント、セル スタイルなど、多くの重要な機能の機能を提供します。

Previous Next

Xlnt を使い始める

次の手順では、コンパイラを更新し、適切な環境変数を設定します。

PIP コマンドのインストール

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt-get upgrade
sudo apt-get install gcc-6 g++-6
export CC=/usr/bin/gcc-6 
export CXX=/usr/bin/g++-6

既存の XLSX スプレッドシートから読み取る C++ API

オープン ソースの XLnt ライブラリは、C++ アプリケーション内で既存の XLSX スプレッドシートを読み取るための機能を提供します。また、開発者が文字列値を画面に出力することもできます。また、読み込んだコンテンツをファイルにエクスポートして、任意の場所に保存することもできます。

LSスプレッドシートをC++ APIで読む

int main()
{
    xlnt::workbook wb;
    wb.load("/home/timothymccallum/test.xlsx");
    auto ws = wb.active_sheet();
    std::clog << "Processing spread sheet" << std::endl;
    for (auto row : ws.rows(false)) 
    { 
        for (auto cell : row) 
    { 
        std::clog << cell.to_string() << std::endl;
    }
    }
    std::clog << "Processing complete" << std::endl;
    return 0;
}

Excel スプレッドシートに書式設定とスタイルを適用する

Xlnt ライブラリを使用すると、プログラマは Excel スプレッドシート内のデータに書式設定とスタイルを適用できます。 Xlnt の形式は、セルに適用される配置、罫線、塗りつぶし、フォント、数値形式、および保護設定に対応します。一方、スタイルは、Excel の [セル スタイル] ドロップダウンで作成される名前付きのスタイルです。名前と、必要に応じて配置、境界線、塗りつぶし、フォント、数値形式、および保護が必要です。セルは、書式とスタイルの両方を持つことができます。

C++ API で番号のフォーマットを適用します。

#include 
#include 
int main()
{
    xlnt::workbook wb;
    auto cell = wb.active_sheet().cell("A1");
    cell.number_format(xlnt::number_format::percentage());
    cell.value(0.513);
    std::cout << cell.to_string() << std::endl;
    return 0;
}

ワークシートのページ余白の設定

オープン ソースの XLnt を使用すると、プログラマは独自の C++ アプリケーション内で Excel ワークシート ページにページ マージンを適用できます。ページ余白は、Excel ワークシートの情報の周囲にどれだけの空白領域を残すかを指定します。これらは、ユーザーの印刷ページに視覚的な境界線を提供し、ページを保持または綴じることができる領域を提供します。

 日本