Создать несколько листов Excel в VC ++ - PullRequest
0 голосов
/ 15 марта 2011

Как создать файл Excel с несколькими рабочими листами в VC ++ и сохранить его.

Ответы [ 3 ]

1 голос
/ 15 марта 2011

Ответ XL->Worksheets->Add(); Рабочие листы добавляются в обратном порядке.

#import "C:\Program Files (x86)\Common Files\microsoft shared\OFFICE12\mso.dll"
#import "C:\Program Files (x86)\Common Files\microsoft shared\VBA\VBA6\VBE6EXT.OLB"
#import "C:\Program Files (x86)\Microsoft Office\Office12\excel.exe" \
rename("DialogBox","ExcelDialogBox") rename("RGB","ExcelRGB") \
exclude("IFont","IPicture")

#include <stdexcept>
#include <iostream>

int main()
{
  CoInitialize(NULL);
  try
  {
    Excel::_ApplicationPtr XL;
    HRESULT hr = XL.CreateInstance(L"Excel.Application");

    Excel::_WorkbookPtr workbook = XL->Workbooks->Add(Excel::xlWorksheet); 
    Excel::_WorksheetPtr worksheet = XL->ActiveSheet;
    worksheet->Name = "last page";

    worksheet = XL->Worksheets->Add(); // adding worksheets!!
    worksheet->Name = "other page";

    worksheet = XL->Worksheets->Add();
    worksheet->Name = "some page";

    worksheet->SaveAs("c:\\test.xls");
    workbook->Close();
    XL->Quit();
  }
  catch(_com_error &ce)
  {
    std::cout<<"caught" << std::endl;
  }

  CoUninitialize();

  system("pause");
  return 0;
}
0 голосов
/ 15 марта 2011

См. Обзор объектной модели Excel и / или Как найти и использовать документацию объектной модели Office , чтобы найти правильные методы для вызова. Вероятно, вам нужны методы SaveAs и SaveCopyAs в интерфейсе Workbook.

0 голосов
/ 15 марта 2011

Excel поддерживает XML с 2003 года.XML может иметь несколько рабочих листов.

Вы можете создать файл XML из VC ++.Этот XML-файл можно открыть в Excel как лист Excel.

Чтобы найти формат / структуру XML, создайте файл Excel и введите данные для нескольких ячеек на нескольких листах.Затем сохраните файл в формате XML.

Вы можете написать код для создания аналогичного XML.

...