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

Спасибо за помощь заранее!

1 ответ

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

Другие вопросы по тегам