Xlnt
Excel スプレッドシート用のクロスプラットフォーム C++ ライブラリ
オープン ソース API により、C++ API を介して Microsoft Excel XLSX スプレッドシート ファイルの読み取り、書き込み、変更、エクスポートが可能です。
XLnt は、XLSX スプレッドシート ファイルを操作するための機能を提供する最新のオープン ソース C++ ライブラリです。ソフトウェア開発者は、スプレッドシート ファイルを XLSX ファイルとの間で読み書きできます。 2017 年 5 月 10 日に、Xlnt バージョン 1.0 の最初のパブリック リリースが公開されました。最近の作業は主に、互換性の強化とパフォーマンスの向上に重点を置いています。
Xlnt ライブラリは、Excel スタイルのワークブックと数値スタイルのワークブックの作成、暗号化されたワークブックの作成、Excel バイナリ ワークブック、ドキュメント プロパティ、ハイパーリンクのサポート、ページ マージン、コメント、セル スタイルなど、多くの重要な機能の機能を提供します。
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 ワークシートの情報の周囲にどれだけの空白領域を残すかを指定します。これらは、ユーザーの印刷ページに視覚的な境界線を提供し、ページを保持または綴じることができる領域を提供します。