2012-06-23 6 views
0

Я создаю диаграмму Excel с использованием C++. У меня проблема с сохранением книги с несколькими листами. Вот мой код: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"); но я не знаю правильного синтаксиса.

Благодарим за помощь!

+1

Спасибо за примечание, я исправил свой пост. – speedyTeh

+0

Можете ли вы сохранить лист? Думаю, вам нужно сохранить всю книгу? –

ответ

0

убедитесь, что файл не открывается при запуске приложения.

Смежные вопросы