0

我正在使用 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"); 但我不知道正确的语法。

提前感谢您的帮助!

4

1 回答 1

0

确保在运行应用程序时未打开该文件。

于 2013-02-18T09:52:59.057 回答