Excelファイルに保存される有意義な桁数を指定する(C++使用)
可能な使用シナリオ
デフォルトでは、Aspose.CellsはExcelファイル内に64ビットの値の有効数字17桁を格納します。これは、MS-Excelが有効数字15桁しか格納しないのとは異なります。Aspose.Cellsの既定の動作を、GetSignificantDigits() プロパティを使用して15桁に変更できます。
Excelファイルに保存する有効桁数を指定
以下のサンプルコードは、Aspose.CellsがExcelファイル内に64ビットの値を格納する際に15桁の有効数字を使用するように強制します。出力Excelファイルを確認してください。拡張子を.zipに変更して解凍すると、Excelファイル内に15桁だけが格納されていることがわかります。以下のスクリーンショットは、GetSignificantDigits() プロパティが出力Excelファイルに与える影響を示しています。
サンプルコード
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// By default, Aspose.Cells stores 17 significant digits unlike
// MS-Excel which stores only 15 significant digits
CellsHelper::SetSignificantDigits(15);
// Create workbook
Workbook workbook;
// Access first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Access cell A1
Cell c = worksheet.GetCells().Get(u"A1");
// Put double value, only 15 significant digits as specified by
// CellsHelper.SignificantDigits above will be stored in excel file just like MS-Excel does
c.PutValue(1234567890.123451711);
// Save the workbook
workbook.Save(outDir + u"out_SignificantDigits.xlsx");
std::cout << "Workbook saved successfully with significant digits set to 15!" << std::endl;
Aspose::Cells::Cleanup();
}