1  安装有office2007以上版本的excel

2.向项目工程中添加基本的7个类(Excel作为OLE/COM库插件,定义好了各类交互的接口,这些接口是跨语言的接口。VC可以通过导入这些接口,并通过接口来对Excel的操作),由于本文只关心对Excel表格中的数据的读取,主要关注7个接_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range、Font0。

VS2012导入OLE/COM组件的接口的步骤为:项目->类向导->添加类->类型库中的MFC类(TypeLib中的MFC类),先选择要导入的组件所在的路径,即Excel.exe所在的路径,然后再选择要导入的Excel类型库中的接口。组件路径一般为C:\Program Files\Microsoft Office\Office15\EXCEL.exe;格式类似。

导入后会在项目中自动导入相关类,使用时需要添加其头文件,主要的头文件有:
#include "CApplication.h"
#include "CWorkbook.h"
#include "CWorkbooks.h"
#include "CWorksheet.h"
#include "CWorksheets.h"
#include "CRange.h"
  #include "CFont0.h"

3. 导入之后需要“#import "C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE"  no_namespace”注释掉,然后添加头文件:#include <afxdisp.h>到上面7个文件中去。

4.如果有错误error C2059双击error C2059,将VARIANT DialogBox()改成VARIANT _DialogBox() 再次编译,通过!!

void CMFCApplicationWriteExcelDlg::OnBnClickedButton3()
{/*1  安装有office2007以上版本的excel 2.向项目工程中添加基本的7个类(Excel作为OLE/COM库插件,定义好了各类交互的接口,这些接口是跨语言的接口。VC可以通过导入这些接口,并通过接口来对Excel的操作),由于本文只关心对Excel表格中的数据的读取,主要关注7个接_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range、Font0。VS2012导入OLE/COM组件的接口的步骤为:项目->类向导->添加类->类型库中的MFC类(TypeLib中的MFC类),先选择要导入的组件所在的路径,即Excel.exe所在的路径,然后再选择要导入的Excel类型库中的接口。组件路径一般为C:\Program Files\Microsoft Office\Office15\EXCEL.exe;格式类似。导入后会在项目中自动导入相关类,使用时需要添加其头文件,主要的头文件有:#include "CApplication.h"#include "CWorkbook.h"#include "CWorkbooks.h"#include "CWorksheet.h"#include "CWorksheets.h"#include "CRange.h"#include "CFont0.h"3. 导入之后需要“#import "C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE" no_namespace”注释掉,然后添加头文件:#include <afxdisp.h>到上面7个文件中去。4.如果有错误error C2059双击error C2059,将VARIANT DialogBox()改成VARIANT _DialogBox()再次编译,通过!!*///默认使用第一个sheetint nSheetNumber=1;//创建对象CApplication app;if( !app.CreateDispatch(_T("Excel.Application"))){AfxMessageBox("没有安装office2007以上版本,无法操作excel文件");return ;}//定义其他内部对象CWorkbooks   books;CWorkbook    book;CWorksheets  sheets;CWorksheet   sheet;CFont0 font;CRange range;CString FieldName,FieldValue;COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); books=app.get_Workbooks();//需要在c盘建立一个excel文件,也可以改成系统自带的excel文件// book=books.Add(COleVariant("c:\\aa.xlsx"));book = books.Add(covOptional); book.put_Title("Mybooks");sheets=book.get_Sheets();     sheet=sheets.get_Item(COleVariant((short)nSheetNumber));sheet.put_Name("wxpSheet");//---------------------app.put_Visible(TRUE);//可见性app.put_UserControl(TRUE);//只读 //设置标题FieldName="a1";FieldValue="数据A";range=sheet.get_Range(COleVariant(FieldName),COleVariant(FieldName));range.put_Value2(COleVariant(FieldValue));FieldName="B1";FieldValue="数据B";range=sheet.get_Range(COleVariant(FieldName),COleVariant(FieldName));range.put_Value2(COleVariant(FieldValue));//填充数据-------------------------------------------------------for(int row=1;row<10;++row){//每一行的数据 for(int col=0;col<10;++col){//放置自己的指定数据------------------------------FieldName.Format("%c%d",'a'+col,(row+1));FieldValue.Format("(%d,%d)",row+1,col+1);        range=sheet.get_Range(COleVariant(FieldName),COleVariant(FieldName));// range.put_Value2(COleVariant(FieldValue));range.put_Formula(_variant_t("=RAND()*100"));range.put_NumberFormat(_variant_t("00.00"));       //设置隔行颜色if(row %2==0){  font=range.get_Font();font.put_Bold(COleVariant((short)TRUE));font.put_Color(COleVariant((long)RGB(255, 0, 0))); //  font.put_Name(COleVariant(_T("黑体")));    }}//end of col}//end of row//设计计算公式,所有excel中的公式都可以使用-------------------------FieldName="a11";range=sheet.get_Range(COleVariant(FieldName),COleVariant(FieldName));range.put_Formula(COleVariant(_T("=sum(a2:a10")));//自适应列宽度--------------------------------CRange      cols;cols=range.get_EntireColumn();cols.AutoFit();//::Sleep(5000);//读取内容-----------------------------------------------------FieldName="a11";range = sheet.get_Range(COleVariant(FieldName),COleVariant(FieldName));COleVariant cov = range.get_Value2();CString str="success";cov.ChangeType(VT_BSTR);str=cov.bstrVal; AfxMessageBox(str);//------------------------------------------------------------------//关闭excel文件,根据需要自行决定books.Close();app.Quit();books.ReleaseDispatch();app.ReleaseDispatch();}

VC操作excel(读写操作)相关推荐

  1. VS2010 对Excel读写操作

    VS2010对Excel读写操作 一.开发环境 编程环境 VS2010 office版本 office 2010 注意 :这里office版本号不一定非得和vs版本号一致. 二.基本实现功能 基本实现 ...

  2. 实现EasyExcel对Excel读写操作

    实现EasyExcel对Excel读写操作 .pom中引入xml相关依赖 <dependencies><!-- https://mvnrepository.com/artifact/ ...

  3. php excel读写,phpGrace 工具类库 - excel 读写操作

    功能说明 excel 读写操作基于 PHPExecl 类库,可以方便的对 Excel 进行操作. 部署说明下载 PHPExcel.zip 解压后将全部文件部署到 phpGrace/tools 下 调用 ...

  4. VS2015 对Excel读写操作

    一.开发环境 编程环境 VS2015 office版本 office 2016 二.参考博文 VS2010 对Excel读写操作 https://blog.csdn.net/ywx123_/artic ...

  5. VS2010 对Excel读写操作

    https://blog.csdn.net/ywx123_/article/details/77074038 VS2010对Excel读写操作 一.开发环境 编程环境 VS2010 office版本 ...

  6. python中xlrd写操作_Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  7. 基于Python的Excel读写操作--内容超详细,值得排排坐

    今日份超详细的解读,Excel文件基础操作,让你以学就会. 写这个的原因是,一位群友问了很久,然后网上的教程写的又不是很详细,看的有些犯迷糊,所以我今日份写一份超详细的基本操作,让你打下良好的基础. ...

  8. python xlrd使用_python使用xlrd 操作Excel读写

    原博文 2016-07-12 15:00 − 此文章非本人 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了pyt ...

  9. Python操作 Excel 基础操作

    Python操作 Excel 安装 读取 Excel pip install xlrd read 写入Excel pip install xlwt write 补充会用到的excel表 读取 Exce ...

  10. 【开发指南】Spring Cloud集成POI完成Excel读写操作

    POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft office格式档案读和写的功能,其中包括Excel,Word,Power ...

最新文章

  1. jsp中jsp中群发邮件群发邮件
  2. 英语 语义分割_Padlex数据处理-语义分割-分段变换,PaddleX,segtransforms
  3. concurrenthashmap是什么锁_多线程为什么要用ConcurrentHashMap
  4. 阿里redis规范(转自别人的公众号)
  5. redis持久化策略梳理及主从环境下的策略调整记录
  6. 【超全解析】原码、反码、补码、移码的相互转化和解读(取值范围)
  7. 怎么用汇编语言转换c语言程序设计,C语言是如何转换成汇编语言的6个步骤带你解析...
  8. python数据格式化后导入数据库_如何为数据库导入重新格式化这个json?
  9. 四步奠定SDN部署基石
  10. Python内置函数sorted()高级排序用法
  11. 过滤HTML标记、HTML注释、“!@#¥%”等非法字符
  12. 对称加密算法和非对称加密算法介绍
  13. MySQL 大数据量分页性能优化
  14. WEBPACK+ES6+REACT入门(6/7)-使用this.setState修改state上的数据
  15. QT Designer 设计主窗口时如何更改工具栏默认顺序
  16. JavaScript,实现这样的情景:阅读协议,阅读完毕后就可以点击同意复选框。
  17. selenium web录制(selenium_ide-2.9.1-fx.xpi和老版本火狐浏览器在最下方)
  18. N的阶乘递归与非递归
  19. 软件实用小技巧,大大提高学习、办公效率
  20. 吾爱破解python处理wps文件_太赞了!用Python实现WPS会员功能

热门文章

  1. sumo笔记(五)——设置E1道路检测器
  2. 系统架构-企业服务总线(ESB)
  3. HCNP路由交换学习指南--- 路由的基本概念
  4. Redis 21 问,你接得住不?
  5. 小可评测:来自peluso的性价比 peluso251 电子管麦克风使用评价
  6. js 控制three.js画布全屏和退出全屏
  7. Win8 Metro(C#)数字图像处理--2.37Wallis图象锐化
  8. JDK8新特性的讲解
  9. 科研文字工作者收藏的网站(Yama整理自用)
  10. 收藏向 | 车载Android系统开发学习专题,进军车载必备