我正在使用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-&gt; saveas(“table.xls”);但我不知道正确的语法。
提前感谢您的帮助!
答案 0 :(得分:0)
确保在运行应用时未打开该文件。