Сохранение книги в C ++ Excel

Я создаю диаграмму Excel с помощью C ++. У меня проблема с сохранением книги с несколькими листами. Вот мой код:

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"); но я не знаю правильного синтаксиса.

Заранее благодарим за помощь!


person speedyTeh    schedule 23.06.2012    source источник
comment
Спасибо за заметку, я поправил свой пост.   -  person speedyTeh    schedule 23.06.2012
comment
Можете ли вы спасти лист? Я думаю, вам нужно сохранить всю рабочую тетрадь?   -  person Christian Sauer    schedule 18.02.2013


Ответы (1)


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

person Ami DATA    schedule 18.02.2013