| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:追加EXCEL的代码
只看楼主 加入收藏
hjq333
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-6-21
收藏
 问题点数:0 回复次数:0 
追加EXCEL的代码
不会VC操作EXCEL,就请同学帮忙,他也不熟悉,给我一段应付了事的代码,
谁帮我注释下:
void CTEXTDlg::OnExceltest()
{
// TODO: Add your control notification handler code here
CString strPath = "D:\\test.xls";
COleVariant
covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
_Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge;
//创建Excel 2000服务器(启动Excel)
if (!ExcelApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("Create Excel service failure!");
return;
}
ExcelApp.SetVisible(false);
//利用模板文件建立新文档
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook = wbsMyBooks.Add(covOptional);
for(int k=1;k<=1000;k++){
//得到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)k),_variant_t((long)1),_variant_t("test1"));
rgMyRge.SetItem(_variant_t((long)k),_variant_t((long)2),_variant_t("test2"));
rgMyRge.SetItem(_variant_t((long)k),_variant_t((long)3),_variant_t("test3"));
rgMyRge.SetItem(_variant_t((long)k),_variant_t((long)4),_variant_t("test4"));

wbMyBook.SaveCopyAs(_variant_t(strPath));
ExcelApp.SetVisible(true);
_sleep(1000);
}
}
他的程序添加了EXCEL类(EXCEL2003):
选择Menu->View->ClassWizade,打开ClassWizade窗口,选择Add Class->From a type library,选择C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE,选择_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range,加入新类,增加头文件#include "comdef.h" #include "Excel.h"
在BOOL CTEXTApp::InitInstance()中,dlg.DoModal();之前增加代码:
if (CoInitialize(NULL)!=0)
{
AfxMessageBox("初始化COM支持库失败!");
exit(1);
}
在return FALSE; 语句前,加入:
CoUninitialize();
然后新建一个按钮,加入上面那一大段代码。
这段代码可以运行,也在每秒追加数据,可是程序会繁忙的不响应(假死机状态)
请高手给我修改下,我想实现的功能是,每秒向EXCEL追加一行数据。
搜索更多相关主题的帖子: EXCEL 代码 
2007-06-28 11:35
快速回复:追加EXCEL的代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016482 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved