2012-06-23 5 views
0

Je crée un graphique Excel en C++. J'ai un problème avec l'enregistrement de classeur avec quelques feuilles. Voici mon code:C++ Excel workbook d'économie d'énergie

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(); 

J'ai une boucle for qui crée quelques feuilles. "..." représente la partie du code où je remplis les tables. Tout a bien fonctionné jusqu'à ce que j'ai essayé de le sauver. Maintenant, quand il cônes à SaveAs() saute à attraper. J'ai également essayé d'utiliser classeur-> saveas ("table.xls"); mais je ne connais pas la bonne syntaxe.

Merci de votre aide à l'avance!

+1

Merci pour la note, j'ai corrigé mon poste. – speedyTeh

+0

Pouvez-vous enregistrer la feuille? Je pense que vous devez enregistrer tout le classeur? –

Répondre

0

Assurez-vous que le fichier n'est pas ouvert lorsque vous exécutez votre application.

Questions connexes