怎样操纵excel? 我要把RS232口源源不断传来的数据经过处理再存入excel文件,麻烦高手指点迷津,怎样创建文件,怎样把数据写进去啊?我一点思路都没有,谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.vckbase.com/document/viewdoc/?id=1168 不过如果你要做实时性比较高的程序的话,这个类可能达不到要求,我用这个类的时候发现速度快的时候程序就挂掉了,建议直接写。#include "excel9.h"COleVariantcovTrue((short)TRUE),covFalse((short)FALSE),covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);_Application ExcelApp; Workbooks wbsMyBooks; _Workbook wbMyBook; Worksheets wssMysheets; _Worksheet wsMysheet; Range rgMyRge; 新建if (!ExcelApp.CreateDispatch("Excel.Application",NULL)) { AfxMessageBox("创建Excel服务失败!"); exit(1); } ExcelApp.SetVisible(false); wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true); wbMyBook.AttachDispatch(wbsMyBooks.Add(covOptional)); //得到Worksheets wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true); //得到sheet1 wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true); //得到全部Cells,此时,rgMyRge是cells的集合 rgMyRge.AttachDispatch(wsMysheet.GetCells(),true); 插入数据rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)1),_variant_t(str));保存 wbMyBook.SaveAs(COleVariant("d:\\1.xls"),covOptional, covOptional,covOptional, covOptional,covOptional,(long)0,covOptional,covOptional,covOptional, covOptional);可以达到效果,我用VC + MSCOMM控件,数据50毫秒一个 谢谢先,弱弱的再问一句_Application ExcelApp; Workbooks wbsMyBooks; _Workbook wbMyBook; Worksheets wssMysheets; _Worksheet wsMysheet;是怎么来的?哪里有这方面的资料?我的msdn里没有。 excel Sdk 可以参阅一下 首先明白Excel的层次结构 以vc6为例,classwizard->automation->Add class->from a type library->定位到excel.exe文件(office XP、2003、2005均可),即可生成相应的excel相关类。好像是COM+调用,执行效率很低,每次运行会有excel后台进程启动接口说明查看office文档 如果用odbc拿它当数据库用,会不会快一点? 你可以试试,COM+写的时候的确存在创建的时候会比较慢,但是写数据不慢,而且COM+写的时候要主意关闭进程 VC++ 怎么用Win32API实现删除LISTBOX的所有选项 替换自身程序的问题 ON_COMMAND_RANGE 宏的前两个参数需要连续的起始范围 VC 改变图标 如何从对话框之间传递消息 急,在线等,SQL语句 求教如何刷新SDI? IIS 对串口和开发组态软件感兴趣的朋友请进 怎样让我的u盘插入时自动运行某个指定程序,就像光驱一样? 请教:关于弹出对话框的问题 路径转换问题
#include "excel9.h"
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;
新建
if (!ExcelApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("创建Excel服务失败!");
exit(1);
}
ExcelApp.SetVisible(false);
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(covOptional));
//得到Worksheets
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
//得到sheet1
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
//得到全部Cells,此时,rgMyRge是cells的集合
rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);
插入数据
rgMyRge.SetItem(_variant_t((long)i),_variant_t((long)1),_variant_t(str));
保存
wbMyBook.SaveAs(COleVariant("d:\\1.xls"),covOptional,
covOptional,covOptional,
covOptional,covOptional,(long)0,covOptional,covOptional,covOptional,
covOptional);可以达到效果,我用VC + MSCOMM控件,数据50毫秒一个
_Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
是怎么来的?哪里有这方面的资料?我的msdn里没有。