2012-06-23 209 views
0

我使用C++創建Excel圖表。我有保存工作簿幾張紙有問題。這是我的代碼: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()跳轉到捕捉。我也嘗試使用工作簿 - > saveas(「table.xls」);但我不知道正確的語法。

感謝您的幫助!

+1

感謝您的注意,我糾正了我的帖子。 – speedyTeh

+0

您可以保存工作表嗎?我認爲你必須保存整個工作簿? –

回答

0

確保運行應用程序時文件未打開。