VS2008具体操作Excel
来源:互联网 发布:淘宝店装修需要多少钱 编辑:程序博客网 时间:2024/06/14 06:20
前一篇博文中转载了有人对VS2008操作Excel的总结,网址见http://blog.sina.com.cn/s/blog_6163bdeb0102dxcy.html
之前做过使用VS2008以OLE方式操作PPT(见http://blog.sina.com.cn/s/blog_6163bdeb0100nn1p.html),所以想尝试一下OLE操作Excel,基本过程时差不多的,但有些地方还是不一样,基本过程参考上面的操作PPT的博文,不一样的地方总结于此。
参考了如下两篇博文:
VS2010+MFC解析Excel文件中数据,介绍的有关Excel的设置方面很全
http://www.vcfans.com/2010/08/vs2010-mfc-excel-file-in-the-data-analysis.html
OLE操作Excel编译错误处理,里面有具体操作的函数使用方法
http://www.cppblog.com/greatws/archive/2008/09/21/62423.html
Excel的设置方法及使用如下:
设置上与PPT最大的不同在于,添加如下代码
#pragma region Import the type libraries
//#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" \
//
//
//
// [-or-]
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL" \
using namespace Office;
//#import "libid:0002E157-0000-0000-C000-000000000046"
// [-or-]
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"
using namespace VBIDE;
//#import "libid:00020813-0000-0000-C000-000000000046" \
//
//
//
//
//
// [-or-]
#import "C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE" \
#pragma endregion
(PPT添加的代码如下
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE11\\mso.dll" \
rename_namespace("Office"), named_guids, exclude("Pages")
using namespace Office;
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.olb" \
rename_namespace("VBE6")
using namespace VBE6;
可见上面给的代码更规范)
设置完后(其他设置与PPT的相同),编译会发现如下错误
warning C4003: “DialogBoxW”宏的实参不足
有人说可以升级你的windows SDK,或者在错误处将DialogBox() 改为 _DialogBox() ,就可以编译成功了。
具体的实现可以参考OLE操作Excel编译错误处理那边博文,现简单整理了一个Excel的接口,完成了少量功能,代码如下
CExcelInterface.h文件
#pragma once
#pragma region Import the type libraries
//#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" \
//
//
//
// [-or-]
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL" \
using namespace Office;
//#import "libid:0002E157-0000-0000-C000-000000000046"
// [-or-]
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"
using namespace VBIDE;
//#import "libid:00020813-0000-0000-C000-000000000046" \
//
//
//
//
//
// [-or-]
#import "C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE" \
#pragma endregion
#include "CApplication.h"
#include "CWorkbooks.h"
#include "CWorkbook.h"
#include "CWorksheets.h"
#include "CWorksheet.h"
#include "CRange.h"
class CExcelInterface
{
public:
public:
public:
};
CExcelInterface.cpp文件
#include "StdAfx.h"
#include "ExcelInterface.h"
CExcelInterface::CExcelInterface(void)
{
}
CExcelInterface::~CExcelInterface(void)
{
}
// open Excel engine
BOOL CExcelInterface::OpenEngine()
{
}
// create a Excel
void CExcelInterface::NewWorkBooks()
{
}
// open Excel file
void CExcelInterface::OpenExcelFile(CString cstrFileName)
{
}
void CExcelInterface::InsertData(int iSheetNum, int iRow, int iColumn, CString cstrData)
{
}
// save Excel
void CExcelInterface::SaveExcel()
{
}
// close Excel engine
void CExcelInterface::CloseEngine()
{
}
封装成个类,在使用时会很方便,如随便建一个对话框程序,建一个按钮,按钮响应如下
void CExcelTestDlg::OnBnClickedButton1()
{
}
- VS2008具体操作Excel
- poi操作Excel, 各种具体操作和解释
- !!如何用vb控制excel表格的具体操作
- vs2008下操作Excel
- VS2008数据导出EXCEL问题
- VS2008读写excel文件解决方法
- VS2008读写excel文件解决方法
- vs2008 c#对excel操作
- VS2008 添加excel相关类
- MFC 读取EXCEL表格 VS2008
- vs2008 mfc 读写excel文件
- 数据库具体操作
- 二分法 具体操作
- vsftp 具体操作
- NoteExpress具体操作
- Selenium 具体操作
- vc操作excel历程(vs2008+excel2007)
- vs2008添加excel类编译错误解决方法
- xWindow 的 ”Hello World“实例
- NoSQL数据库的分布式算法
- Web开发中常见的java.lang.IllegalStateException错误 解决办法
- JActor基础知识(二)
- 数据结构学习(四)——循环单链表的操作之合并
- VS2008具体操作Excel
- 网页不刷新检测用户名的方法
- How to restore an element that has been deleted in CCRC?
- 遇到的一些问题
- 在VS2008下操作Excel的方法总结
- 避免弹出键盘遮盖住视图上的控件
- android 手电筒的实现
- 游戏中添加音频-详解MediaPlayer与SoundPoo!并讲解两者的区别和游戏中的用途!
- php过滤html字符串,防止SQL注入