在VC ++中创建多个Excel工作表

时间:2011-03-15 07:00:39

标签: c++ excel visual-c++ office-interop

如何在VC ++中使用多个工作表创建Excel文件并保存。

3 个答案:

答案 0 :(得分:1)

答案是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;
}

答案 1 :(得分:0)

Excel从2003年开始支持XML。 XML可以有多个工作表。

您可以从VC ++生成XML文件。此Excel cab将由Excel打开为Excel工作表。

要查找XML的格式/结构,请创建一个Excel文件,并在几张纸中输入少数单元格的数据。然后将文件另存为XML。

您可以编写代码来生成类似的XML。

答案 2 :(得分:0)

请参阅Excel Object Model Overview和/或How to find and use Office object model documentation以找到要调用的正确方法。工作簿界面中的SaveAs和SaveCopyAs方法可能就是您要查找的内容。