Excel 导出类

 
说明:
不同版本的 Excel 对应的对象库如下:
 
office 97
office 2000
office XP
Excel8.olb
Excel9.olb
XL5CHS32.olb XL5EN32.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&) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值