100 000 行のワークシートを含む Excel xls ファイルを作成するために、xlsLib を使用して次のプログラムを作成しました。
#include <xlslib.h>
#include <xlslib/number.h>
#include <xlslib/common/xlstypes.h>
using namespace xlslib_core;
using namespace xlslib_strings;
int main()
{
workbook wb;
worksheet *sh = wb.sheet( "DATA" );
unsigned32_t numberRows = 100000;
unsigned32_t numberColumns = 10;
for(unsigned32_t r=0;r<numberRows;r++)
{
for(unsigned32_t c=0;c<numberColumns;c++)
{
double number = r + c;
sh->number( r, c, number );
}
}
wb.Dump("/tmp/test.xls");
return 0;
}
ファイル「test.xls」を開くと、整数のオーバーフローが発生したようです。16 の符号なし整数の最大値である値 65 535 から、行がオーバーラップし始めます。間違いを犯したのか、xlsLib にバグがあるのか わかりません。助けてくれて本当にありがとう。
前もって感謝します。