资源简介
整理MFC下读取excel和wps表格的基本操作。
读写、表格格式设定,表格合并等。
附wps的api帮助文档,excel和wps所用类基本完全一样,这个文档也可以用来开发excel。
代码片段和文件信息
/******************************************************************************************
Copyright : 2000-2004 Appache 2.0
FileName : illusion_excel_file.cpp
Author : Sail
Version :
Date Of Creation : 2009年4月3日
Description :
Others :
Function List :
1. ......
Modification History:
1.Date :
Author :
Modification :
这个类是从网上下载的,我坐享其成,感谢原来的作者,我只试试是稍稍做了一下修正。
修正包括一些参数的使用不谨慎,bool 改为BOOL等对于对象关系,我改了一部分,感觉原来的作者对于OO的思路部分不是很清楚。
对于这类东西OLE,我完全不了解,用别人封装的东西感觉还是放心了很多,C++,伟大的C++
http://blog.csdn.net/gyssoft/archive/2007/04/29/1592104.aspx
OLE读写EXCEL都比较慢,所以应该尽量减少OLE的次数
对于读取,还有解决方法,请试用一下预加载的方式,这个方法一次加载所有的读取数据如此速度就飞快了。
据说写数据是没有什么方法加快的
http://topic.csdn.net/t/20030626/21/1962211.html
增加了一些写入方式的代码,保证可以写入EXCEL数据区,但是对于保存,我发现如果调用CLOSE并且保存的方式,
速度非常慢,我不理解为什么。
所以我吧EXCEL打开了,让你进行后续管理
******************************************************************************************/
//-----------------------excelfile.cpp----------------
#include “StdAfx.h“
//#include “illusion_excel_file.h“
#include “IllusionExcelFile.h“
using namespace excel_dep;
COleVariant
covTrue((short)TRUE)
covFalse((short)FALSE)
covOptional((long)DISP_E_PARAMNOTFOUND VT_ERROR);
//
CApplication IllusionExcelFile::excel_application_;
IllusionExcelFile::IllusionExcelFile():
already_preload_(FALSE)
{
}
IllusionExcelFile::~IllusionExcelFile()
{
//
CloseExcelFile();
}
//初始化EXCEL文件,
BOOL IllusionExcelFile::InitExcel()
{
//创建Excel 2000服务器(启动Excel)
if (!excel_application_.CreateDispatch(“excel.Application“NULL))
{
AfxMessageBox(“创建Excel服务失败你可能没有安装EXCEL,请检查!“);
return FALSE;
}
excel_application_.put_DisplayAlerts(FALSE);
return TRUE;
}
//
void IllusionExcelFile::ReleaseExcel()
{
excel_application_.Quit();
excel_application_.ReleaseDispatch();
excel_application_=NULL;
}
//打开excel文件
BOOL IllusionExcelFile::OpenExcelFile(const char *file_name)
{
//先关闭
CloseExcelFile();
//利用模板文件建立新文档
excel_books_.AttachDispatch(excel_application_.get_Workbooks()true);
LPDISPATCH lpDis = NULL;
lpDis = excel_books_.Add(COleVariant(file_name));
if (lpDis)
{
excel_work_book_.AttachDispatch(lpDis);
//得到Worksheets
excel_sheets_.AttachDispatch(excel_work_book_.get_Worksheets()true);
//记录打开的文件名称
open_excel_file_ = file_name;
return TRUE;
}
return FALSE;
}
//关闭打开的Excel 文件默认情况不保存文件
void IllusionExcelFile::CloseExcelFile(BOOL if_save)
{
//如果已经打开,关闭文件
if (open_excel_file_.IsEmpty() == FALSE)
{
//如果保存交给用户控制让用户自己存,如果自己SAVE,会出现莫名的等待
if (if_save)
{
excel_work_book_.Close(COleVariant(short(TRUE)) COleVariant(open_excel_file_) covOptio
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5816282 2015-02-05 17:13 ET.CHM
文件 2075706 2015-02-04 16:15 WPP.CHM
文件 6561998 2015-02-04 16:18 WPS.CHM
----------- --------- ---------- ----- ----
14453986 3
相关资源
- vc++ 开发GIS系统
- 《C++游戏开发》笔记十四 平滑过渡的
- MATLAB单双目标定程序(Opencv C++)
- C++ Primer 5th 英文版
- C++ 基于蓝牙的通信 代码
- VC++经典小游戏设计
- Modern C++ Design中文版高清完整.pdf
- 数据结构算法与应用:C++语言描述.
- Visual_C++面向对象与可视化程序设计源
- C++课设——简单的宿舍管理系统
- C++面向对象程序设计教程习题解答与
- 算法图解-Python语言版本C/C++也可以看
- C++实现简单Socket编程,多客户端登陆
- c++网络编程
- 微软vc++ BuildTools_2013
- C++项目练习
- C++ Builder 6实用编程100例光盘、源代码
- C++ Builder 5高级编程精解光盘、源代码
- Microsoft Visual C++ 2013 Redistributable Pack
- VC++泡泡堂游戏设计及源码+文档
- ISOIEC 14882 2017 c++ 2017标准
- 简单工厂模式之商场收银软件
- Visual C++/Turbo C串口通信编程实践第2版
- CTP_API_C++可实盘多合约多策略版本源代
- C语言操作MySQL数据库
- 图书馆管理数据存储到mysql数据库中
- C++中文离线手册修正版第二版
- 基于VC++ Socket 网络调试助手源码
- C++ 解析rtsp流后返回Iplimage,用Opengl显
- 缓冲区分析
评论
共有 条评论