C++ を使用して Excel グラフを作成しています。シート数が少ないワークブックの保存に問題があります。これが私のコードです:
try
{
CoInitialize(NULL);
Excel::_ApplicationPtr XL;
XL.CreateInstance(L"Excel.Application");
XL->Visible=false;
Excel::_WorkbookPtr workbook = XL->Workbooks->Add(Excel::xlWorksheet);
Excel::_WorksheetPtr pSheet= XL->ActiveSheet;
for (i='1';i<='z';i++){
pSheet = XL->Worksheets->Add();
char arr[25];
sprintf(arr, "Podaci za %c", i);
pSheet->Name = arr;
...
}
pSheet = XL->Worksheets->Add();
pSheet->Name = "some page";
pSheet->SaveAs("c:\\test.xls");
workbook->Close();
XL->Quit();
}
catch(_com_error & error)
{
printf("\n Greska u komunikaciji s MS Excelom.");
}
CoUninitialize();
いくつかのシートを作成する for ループがあります。「...」は、テーブルを埋めるコードの部分を表します。保存しようとするまで、すべてうまくいきました。SaveAs() にコーンすると、キャッチにジャンプします。workbook->saveas("table.xls"); も使用してみました。しかし、正しい構文がわかりません。
事前に助けてくれてありがとう!