例如aaa.xls已经在Excel中打开,这时我如何在另外一个程序中修改这个文件的内容?要求是C/C++实现。
我觉得应该是可以的,因为我试过在aaa.xls已经被Excel打开的状态下,使用notepad或ultraedit打开同一文件,然后修改后使用“另存为”的方式覆盖aaa.xls文件是可以的,不知道是怎么实现的?谢谢!
我觉得应该是可以的,因为我试过在aaa.xls已经被Excel打开的状态下,使用notepad或ultraedit打开同一文件,然后修改后使用“另存为”的方式覆盖aaa.xls文件是可以的,不知道是怎么实现的?谢谢!
解决方案 »
- ADO连接SQL2005数据库问题
- CButtonST能不能用于商业用途?就是codeproject网站上的。
- 自己生成的lib库在使用中产生重定义错误,是什么原因呢?
- 哪位知道一个文件的文件类型是由哪个结构描述的?
- arc()函数的各个参数的意义
- 求书
- 已得到了一个HBITMAP类型指针,如何检索它所指的数据区的象素值?
- 二维数组的大小由用户输入,如何用new来动态分配一个二维数组?急
- 请问如何在DLL的一个输出函数里用CreateThread()创建线程?注意方面?
- 请教一个问题mouse_event()函数的使用
- 谁在DLL中实现过多文档框架?100分赠送
- 如何理解COM的语言无关性???
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge;
//创建Excel 2000服务器(启动Excel)
if (!ExcelApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("创建Excel服务失败!");
exit(1);
}
//利用模板文件建立新文档
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t("c:\\aaa.xlt")));
//得到Worksheets
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 Program!"));
//加入你需要的操作函数等等
//得到所有的列
rgMyRge.AttachDispatch(wsMysheet.GetColumns(),true);
//得到第一列
rgMyRge.AttachDispatch(rgMyRge.GetItem(_variant_t((long)1),vtMissing).pdispVal,true);
//设置列宽
rgMyRge.SetColumnWidth(_variant_t((long)200));
//调用模板中预先存放的宏
ExcelApp.Run(_variant_t("CopyRow"),_variant_t((long)10),vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,
vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing);
//打印预览
wbMyBook.SetSaved(true);
ExcelApp.SetVisible(true);
wbMyBook.PrintPreview(_variant_t(false));
//释放对象
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.ReleaseDispatch();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch();