C++操作Excel学习笔记(一)

C++读写Excel表格教程 看了一眼网上其他人的例子,大部分人都是直接搬运别人的过来,都是什么打开类向导进入类啊,然后修改头文件什么之类的,导致感觉他们写的有些复杂了点,我分享的这个的原因是我这个使用起来简单些。 之前就写过对Excel表格的写入操作,今天整理了一下,把这些功能封装起来,使用简单,可以满足我们基本需求。 2、ExcelRW.cpp 二、使用教程 1、复制文件到工程路径下 直接将这个8个文件复制到你的工程路径下,前面6个是c++操作Excel的接口类,后面两个文件是我封装的ExcelRW类然后将ExcelRW类的头文件 阅读详情

【当前博文转载自http://blog.youkuaiyun.com/fullsail/article/details/4067416】

C++读取Excel文件方式比较

C++读取Excel的XLS文件的方法有很多,但是也许就是因为方法太多,大家在选择的时候会很疑惑。

由于前两天要做导表工具,比较了常用的方法,总结一下写个短文,

 

1.OLE的方式

这个大约是最常用的方式,这个方式其实启动了一个EXCEL的进程在背后读写EXCEL文件,这个方式的最大好处是什么事情都能做。包括设置EXCEL的格式,增加删除Sheet,读写单元格,等等。功能几乎是最全的,而且使用起来也不是特别的难。

其基本方法都是使用导出的.h文件进行OLE操作,但是由于OLE的接口说明文档不多,想非常完美的使用她们也不是太容易,好在例子也很多。

网上普遍认为OLE速度慢,EXCEL的OLE读写方式也基本一样。但是读取速度可以改进,如果在读取的加载整个Sheet的Range的全部数据,而不是一个个单元格读取,那么速度还是相对不错。想想原理也很简单,整体读取减少了OLE的交互次数。OLE的写入方式一般只能几个进行比较方便,所以速度可能要快很多。

我自己的亲身体会是,一个EXCEL文件,100多列的字段,如果采用一个个单元格的读取方式,1s大约3条左右的记录,如果整体读取,速度可以提高几十倍。

OLE读写EXCEL方式功能很强大,读取速度还可以,但写入速度不高,当然这个方式不可能移植的,而且你必须安装了EXCEL。

 

2.Basic EXCEL 方式

这是CodeProject上的一个推荐开源工程了,

http://www.codeproject.com/KB/office/BasicExcel.aspx

作者是基于EXCEL的文件格式进行的处理。但是为什么叫Basic EXCEL呢。

他不支持很多东西,公式,文件格式,表格合并等(有人说中文支持也不好),所以可以认为他只支持最基本的EXCEL表格,

我自己的尝试是如果这个EXCEL文件有其他元素(公式,格式等),使用Basic EXCEL读取会失败。

OLE读写EXCEL方式功能比较弱,由于是直接根据文件格式操作,读写速度都不错,你也不需要按照EXCEL,另外这个方式是可以移植的,但是有一些成本,其代码比较晦涩难懂,而且没有注释,另外即使在Windows平台上,告警也很多。

 

3.Sourceforge 上的几个EXCEL库。

Sourceforge上有几个开源的的EXCEL库,但是完善的不多,有的是为了PHP读写EXCEL准备的,包括libXLS,XLSlib,SmartEXCEL等。我下载了几个实验了一下,在Widonws都没有编译成功。也罢了。

 

4.ODBC的方式

这个亲身没有尝试过,但是按照原理,应该只能读写。

速度吗,ODBC的速度本来就是出名的慢了。

http://www.vckbase.com/document/viewdoc/?id=421

 

值得一提的是Basic EXCEL的作者原来在CodeProject上有一个给予ODBC方式的封装CSpreadSheet。如果有兴趣,大家可以去看看。其实内心还是很佩服这个作者的。

http://www.codeproject.com/KB/database/cspreadsheet.aspx

 

5.ADO的方式

ADO的方式听说应该就是使用OLEDB的方式。和OLE的方式应该没有本质区别。我看了看例子也和OLE很像

  

6.LibXL

LibXL 是一个收费的EXCEL的库。

http://www.libxl.com/

按照他的说明,他可以不依赖EXCEL读取XLS文件。包括设置格式等。看例子操作应该很简单。但是是否可以移植到Linux平台,我估计难度也不小。呵呵。

由于要收费,没有法子测试了。

 

7.网上一些号称不用OLE读取EXCEL例子

初步看了一下,这个应该是网上探索EXCEL格式文档的例子。可以实际操作的方式不强。

C++操作Excel学习笔记(四) 【当前博文转载自 http://blog.youkuaiyun.com/sgdgoodboy/article/details/2102628】 【本文前半部分与word相关,发在C++操作Word学习笔记(三)】 二 EXCEL篇及命名空间说明 1 Excel组件对象模型     Microsoft Office Excel 2003文档中的数据是高度结构化的,因此Excel对象模型也具有层次结构并且简单 阅读详情

相关推荐

C++操作Excel学习笔记(三)

由于学习对Excel的操作是临时学的,有很多东西只是一知半解,但好歹是能运行了,相关内容可以参照前两篇学习笔记。 本文中使用的是OLE方式读写,环境是VS2008和Office2003。现在的编译器有自动完成功能,很容易找到相应的成员函数。查看函数原型有助于理解参数的意义,但仍是有些参数也搞不明白是什么作用,或者如何设置。Excel相关的预定义枚举类型,都是Xl开头,比如XlHAlign,是水平

aleyuan的专栏 1150

C++ 读写 EXCEL

【代码】C++ 读写 EXCEL。

m0_61069042的博客 4867

c++操作excel(CApplication、CWorkbook、CWorksheet、CHyperlinks)代码

首先创建MFC,打开类向导,添加类(类型库中的MFC类),选择文件位置(EXCEL.exe),添加类需要的类(参考下面代码的头文件),会生成对应的头文件(CWorkbook.h、CHyperlinks.h…) 注释每个生成的头文件中的代码: //#import "C:\\Program Files\\Microsoft Office\\Office15\\EXCEL.EXE" no_names...

chanshibing的博客 6557

C++读写EXCEL文件方式比较

因为有些朋友问代码的问题,将OLE读写的代码分享在这个地方,大家请自己看。 http://blog.youkuaiyun.com/fullsail/article/details/8449448 C++读取Excel的XLS文件的方法有很多,但是也许就是因为方法太多,大家在选择的时候会很疑惑。 由于前两天要做导表工具,比较了常用的方法,总结一下写个短文,   1.OLE的方式 这个大约是最常

C++是促进脑死亡的最佳方式 13万+

C++操作Excel学习笔记(二)

【当前博文转载自http://www.byywee.com/page/M0/S599/599654.html】 VS2010 C++ 操纵Excel表格的编程实现 经由过程VC实现对Excel表格的操纵的办法有多种,如:经由过程ODBC数据库实现,经由过程解析Excel表格文件,经由过程OLE/COM的实现。本文首要研究经由过程OLE/COM实现对Excel表格的操纵。   本文源码的应用景象申

aleyuan的专栏 1754

C++操作Excel

具体实现  一、 操作类头文件 #include "CSpreadSheet.h" 下载地址:http://www.codeproject.com/KB/database/cspreadsheet.aspx  二、 新建Excel文件,并写入默认数据 // 新建Excel文件名及路径,TestSheet为内部表名 CSpreadSheet SS("c://Test.xls", "Tes

毛豆豆的博客 1219

C++操作Excel学习笔记

C++操作Excel学习笔记 一: 【当前博文转载自http://blog.youkuaiyun.com/fullsail/article/details/4067416】 C++读取Excel文件方式比较 C++读取Excel的XLS文件的方法有很多,但是也许就是因为方法太多,大家在选择的时候会很疑惑。 由于前两天要做导表工具,比较了常用的方法,总结一下写个短文,   1.OLE的方式 这个...

thanklife的专栏 1万+

C++ 读取excel文件(以csv为例)

C++ 读取excel文件(以csv为例)

weixin_43896283的博客 2789

C++通过COM操作EXCEL

** C++通过COM操作EXCEL **   C++操作EXCEL网上有很多方法,我觉得通过微软自带的COM操作还是比较方便并且兼容性比较好的,总结了网上各个网页的博客分享,整理了一份我自己的理解。 一、封装Excel库   1、环境配置:VS2013加EXCEL2013   2、封装步骤    1、新建一个MFC项目    2、右击项目选址类向导 ...

litterCooker的博客 1万+

C++操作Excel文件的完整指南

本文还有配套的精品资源,点击获取 简介:C++是一种广泛使用的编程语言,尤其在需要高性能和底层控制的应用中。本主题探讨了如何使用C++读写Microsoft Excel文件,这对于数据处理和自动化任务非常重要。由于C++标准库不直接支持Office文档操作,因此需要依赖第三方库。libxl是一个轻量级库,用于操作.xls格式的Excel文件,而TinyXML则适用于解析和生...

weixin_42592399的博客 4156

OpenXLSX C++读写Excel表格 支持VS2019编译,C++MFC应用示例

OpenXLSX 读写Excel表格。 支持VS2019编译,C++MFC应用示例,l

一个简单的C++操作Excel的方案

因为工作的关系,我需要时常操作一下excel的数据,按照一定的格式加工原文件中的数据后,搞到另一个excel中 然后搜索了不少excel操作的开源类库,但搜到的代码要么就是需要第三方库配合,要么就是功能过于强大,导致使用成本较高 最终,找到一篇2006年的文章 BasicExcel - A Class to Read and Write to Microsoft Excel BasicExcel,一个读写Excel的类 一.基本介绍 BasicExcel 是一个非常简单的操作Excel的库.

. 2万+

信息系统项目管理师(高项)重点!

学习高项自己做的笔记

PanJWei的博客 3301

c++操作excel的几种库

OpenXLSX 链接https://github.com/troldal/OpenXLSX: OpenXLSX 是一个 C++ 库,用于读取、写入、创建和修改 Microsoft Excel® 文件,采用 .xlsx 格式。 兼容性: libxlsxwriter 链接:https://github.com/jmcnamara/libxlsxwriter Libxlsxwriter 是一个 C 库,可用于在 Excel 2007+ XLSX 文件中写入文本、数字、公式和指向多个工作表的超链接。 它支持以下

a15322910600的博客 3万+

2024年五大革新图像分割模型解析:架构创新与实战应用指南

本文深入解析2024年五大革新图像分割模型,包括SAM2、Mask2Former、DINOv2和Swin Transformer等,探讨其架构创新与实战应用。从多尺度处理、提示交互到自监督学习,这些模型在精度提升、效率优化和交互增强方面取得突破,广泛应用于医疗影像、工业质检和智慧城市等领域。

hadoop5ranger的博客 894

YOLOv11 热力图可视化全流程:从模型解释到科研论证,让检测结果“有理可看”

无论是科研中需要严谨的模型解释,还是工业里要高效的缺陷定位,这套方法都能让你在“模型黑箱”与“业务需求”之间架起一座可视化的桥梁。别再让模型决策“无据可依”——现在就动手生成你的第一幅热力图,让 YOLOv11 的每一次检测都“有理可看”,用可视化的力量推动你的 AI 研究与落地走向深入!某团队在论文中通过热力图对比,证明其改进的注意力模块可使模型对小目标的关注区域更精准,实验论证说服力提升 50%;工业质检场景下,热力图帮助工程师快速定位模型漏检缺陷的原因——原来是对某类缺陷的特征关注不足。

m0_71589036的博客 678

C++ 操作Excel

预期实现结果:C++可对Excel表精确进行某一行某一列的增加、修改、删除、查询数据预演环境:Window7+VS2013+office2013(32位)、2010(64位)、2007(64位)2003(64位)+WPS2016(位)预演方法:1、 ODBC方式访问2、 通过解析Excel表格文件3、 通过OLE/COM方式访问可行性分析:2003版本office办公软件创建Exc

小王的技术窝 5988

【气候极端指数】MATLAB计算各种气候极端指数

简介各类气候极端指数,及其MATLAB计算代码

WW、forever的博客 4917

C++ 操作EXCEL

要在应用程序中控制Excel的运行,首先必须在编制自动化客户程序时包含Comobj.hpp #include "Comobj.hpp" C++ Builder把Excel自动化对象的功能包装在下面的四个Ole Object Class函数中,应用人员可以很方便地进行调用。

lzwxyz的专栏 2万+

luks-磁盘加密工具

linux磁盘加密配置工具及步骤详解

zdd56789的博客 120

【AI Agent系列】【阿里AgentScope框架】0. 快速上手:AgentScope框架简介与你的第一个AgentScope程序

这是我们学习的第四款智能体框架了。前面我们学习了 AutoGPT、MetaGPT、LangGraph 等智能体应用开发框架,各有优缺点。今天我们开始学习AgentScope这一款多智能体开发框架。卷起来吧,多看看,多用用,没坏处。

同学小张的博客 5425
上一篇: C++操作Word学习笔记(一)
下一篇: C++操作Excel学习笔记(二)
aleyuan
博客等级 码龄17年 34粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值