OLE操作EXCEL总结点
2014-04-26 17:50
281 查看
1、必须安装完整的office软件,否则EXCEL服务可能启动不了
2、if (!m_App.CreateDispatch("Excel.Application"))
{
AfxMessageBox("无法启动Excel服务器");
return FALSE;
} 可以启动一次服务,然后可以多次操作excel而不必多次启用,在程序退出时再释放即可。
m_App.Quit();//退出进程
//m_ExlApp一定要释放,否则程序结束后还会有一个Excel进程驻留在内存中,而且程序重复运行的时候会出错
m_App.ReleaseDispatch();
3、先打开工作簿workbooks和workbook,然后操作sheets和sheet
4、//获取已用的行数
CRange usedRange,rowrange,columrange;
usedRange.AttachDispatch(m_sheet.get_UsedRange(),true); //获得已用的区域
rowrange.AttachDispatch(usedRange.get_Rows(), true); //区域中的行
int Rowcount = rowrange.get_Count();//行数
//获取列数
columrange.AttachDispatch(usedRange.get_Columns(),true); //区域中的列
int Columncount = columrange.get_Count();//列数
usedRange.ReleaseDispatch();
rowrange.ReleaseDispatch();
columrange.ReleaseDispatch();5、注意对象的释放
2、if (!m_App.CreateDispatch("Excel.Application"))
{
AfxMessageBox("无法启动Excel服务器");
return FALSE;
} 可以启动一次服务,然后可以多次操作excel而不必多次启用,在程序退出时再释放即可。
m_App.Quit();//退出进程
//m_ExlApp一定要释放,否则程序结束后还会有一个Excel进程驻留在内存中,而且程序重复运行的时候会出错
m_App.ReleaseDispatch();
3、先打开工作簿workbooks和workbook,然后操作sheets和sheet
4、//获取已用的行数
CRange usedRange,rowrange,columrange;
usedRange.AttachDispatch(m_sheet.get_UsedRange(),true); //获得已用的区域
rowrange.AttachDispatch(usedRange.get_Rows(), true); //区域中的行
int Rowcount = rowrange.get_Count();//行数
//获取列数
columrange.AttachDispatch(usedRange.get_Columns(),true); //区域中的列
int Columncount = columrange.get_Count();//列数
usedRange.ReleaseDispatch();
rowrange.ReleaseDispatch();
columrange.ReleaseDispatch();5、注意对象的释放
相关文章推荐
- JS学习笔记-数据类型
- 【P000-007】分析模块——OO面向对象
- Oracle Nested table、Record
- MOS管体二极管的作用
- 源码编译mysql
- 判断某一年是否为闰年
- 详解HTML5新特性(转自:英特尔开发人员专区)
- 判断x+y是否溢出
- Ruby 一些常用的细节
- 71道经典Android面试题和答案
- Struts2之自定义类型转换器
- NEFU 3题
- UIimage更新图片时出现缓存问题
- 镁光139 8510
- Android源码分析-资源加载机制
- Log4net的结构
- boost unordered 初识
- Android安卓隐藏DatePickerDialog的年和日
- SQL实现多行合并一行 .
- CSU 1374 Restore Calculation 数位DP