Excel 导出类

 
说明:
不同版本的 Excel 对应的对象库如下:
 
office 97
office 2000
office XP
Excel8.olb
Excel9.olb
XL5CHS32.olbXL5EN32.olb
 
 
 
 
通常导出如下几个类:
_Application //应用程序类;
Workbooks   //工作薄集合类;
_Workbook //工作薄类;
Worksheets //工作表集合类;
_Worksheet //工作表类;
Range      //单元格类;
使用 Excel 导出类固定代码如下:
::CoInitialize(NULL) //注意:必须初始化OLE/COM 环境。
_Application objApp;
Workbooks objBooks;
_Workbook objBook;
Worksheets objSheets;
_Worksheet objSheet;
Range      objRange;
 
//*代码*//
 
objRange.ReleaseDispatch();
objSheet.ReleaseDispatch();
objSheets.ReleaseDispatch();
objBook.ReleaseDispatch();
objBooks.ReleaseDispatch();
objApp.ReleaseDispatch();
::CoUnInitialize()   //关闭OLE/COM 环境。
 
一、_Application
1、初始化 _Application 对象
CreateDispatch(LPCTSTR)
说明:
LPCTSTR:一般为"Excel.Application"
 
2、获取 Workbooks 对象
LPDISPATCH GetWorkbooks()
说明:
获取工作薄集合对象的句柄,可以直接将该句柄赋给工作薄集合对象。
 
3、确定 Excel 应用程序是否可见
void SetVisible(BOOL)
说明:
BOOL:为 TRUE 时可见,否则不可见。
 
二、Workbooks
1、添加一个文件到 Workbooks 对象中
LPDISPATCH Add(const VARIANT&)
说明:
LPDISPATCH:返回工作薄对象句柄,可以将该句柄直接赋给工作薄对象。
VARIANT:可以是一个文件名或缺省值。
 
三、_Workbook
1、获取 Worksheets 对象
LPDISPATCH GetSheets()
说明:
LPDISPATCH:返回工作表集合对象句柄,可以将该句柄直接赋给工作表集合对象。
 
2、打印文档
void PrintOut(VARIANT&, VARIANT&,VARIANT&,VARIANT&, VARIANT&,VARIANT&,VARIANT&,VARIANT&)
说明:
VARIANT&:打印的开始页码(缺省)
VARIANT&:打印的结束页码(缺省)
VARIANT&:打印的份数;
VARIANT&:是否显示打印预览;
VARIANT&:指定打印机(缺省)
VARIANT&:是否打印到文件;
VARIANT&:是否逐份打印(缺省)
VARIANT&:如果打印到文件,则此参数为文件名(缺省)
说明:
在进行缺省设置时,必须定义如下的数据对象,并将此对象赋给参数:
COleVariant dat((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
 
3、打印预览
void PrintPreview(const VARIANT&)
说明:
VARIANT:指定打印预览的起始页码。
 
四、Worksheets
1、获取 _Workshee 对象
LPDISPATCH GetItem(const VARIANT&)
说明:
LPDISPATCH:返回工作表对象句柄,可以将该句柄直接赋给工作表对象。
VARIANT:工作表的索引(基于 1 )
 
五、_Workshee
1、获取 Range 对象
LPDISPATCH GetCells()
说明:
LPDISPATCH:返回单元格对象句柄,可以将该句柄直接赋给单元格对象。
注意:这里的单元格对象是指所有单元格。
 
六、Range
1、在单元格中设置数据
void SetItem(VARIANT&,VARIANT&,VARIANT&)
说明:
VARIANT:行的索引(基于 1 )
VARIANT:列的索引(基于 1 )
VARIANT:数据值;
 
 
总结:
只要在EXCEL中首先建立一个自定义的表(包括字体、标题、页首、页脚等),然后调用Add(const VARIANT&)(注意:之前的初始化上面已经提及,在这里就省略),再调用SetItem(VARIANT&,VARIANT&,VARIANT&)将数据写入到单元格,最后调用void PrintOut(VARIANT&, VARIANT&,VARIANT&,VARIANT&, VARIANT&,VARIANT&,VARIANT&,VARIANT&) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值