想输出excel格式的报表,遇到一些问题

mayue1125 2009-05-14 02:31:31
在网上找到了以段示例代码,自己调试了一下,发现有些问题,
代码是这样的:
_Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge;

if (!ExcelApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("创建Excel服务失败!");
exit(1);
}
//利用模板文件建立新文档
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t("F:\\H7GMSW-CS\\bin\\ServerOption\\OverThresholdEvent.xls")));

wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
//得到sheet1
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
//得到全部Cells,此时,rgMyRge是cells的集合
rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);
//*****************填加列值*****************//
//设置1行1列的单元的值
rgMyRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("This Is A Excel Test Program1!"));
//****************************************//
//wbMyBook.Save();
wbMyBook.SaveCopyAs(_variant_t("g:\\exceltest\\MyTemplate3.xls"));

问题:OverThresholdEvent.xls必须是要事先建立好的?我不需要先建立一个空模板,想直接生成一个文件,文件名以当时的时间命名就可以。
实在没有找到办法,也可以提前建立一个模板,但是每次打来生成的文件都提示要不要保存OverThresholdEvent1.xls,这个很烦啊,有没有解决的办法啊?
...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayue1125 2009-05-14
  • 打赏
  • 举报
回复
解决了,我先在固定路径下建了一个模板,然后最后用saveas方法,而不是用SaveCopyAs方法,再打开生成的文件, 就不会弹出提示了。了。
mayue1125 2009-05-14
  • 打赏
  • 举报
回复
用add方法时,必须要自己创建一个模板吗?
mayue1125 2009-05-14
  • 打赏
  • 举报
回复
看起来我用的是第二个方法,不过我看不太懂啊。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧