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万+

Mac安装Weblogic教程

1.Weblogic的下载 这次安装的是最新版本12 官网下载地址: http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html 下载需要登录账号,如没有账号要注册一个 下载后的文件如下图,其中fmw_12.2.1.3.0_wls_quick.jar文件就是安装包了,注意现在不要对它进行解压 2.安装前的确...

weixin_40102675的博客 5063

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万+

护网日志分析基础

简要介绍日志分析,给出日志分析的步骤和思路。要求根据日志中的字符串特征,识别攻击者的攻击工具;根据日志中的行为特征,确定攻击者可能的攻击手段等。总结归纳护网中常见的中间件Tomcat、Apache、Weblogic、Nginx、Apache、IIS、MySQL、SQL Server、Oracle的日志路径和日志配置文件路径等。

m0_59302403的博客 3700

手把手教你用组态王KingSCADA 3.53读取S7-1200 PLC数据(保姆级图文教程)

本文提供了一份详细的组态王KingSCADA 3.53读取S7-1200 PLC数据的实战教程,涵盖从硬件连接到软件配置、变量映射到故障排查的全流程。特别针对初学者常见问题提供解决方案,帮助工程师快速实现稳定通信,提升工业自动化系统效率。

weixin_26876073的博客 675

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

WSL基础环境配置方案

通过以上步骤,您已经在 Windows 的 WSL 环境中成功搭建了一个完整的基础开发环境,包含 Docker、Kubernetes、Helm、kubectl、yq、Git 等工具。这套环境特别适用于在国内使用阿里云镜像服务部署和管理 Tekton,提升了开发和运维的效率和稳定性。

落魄书生的职业学习生涯 8876

C++ 操作EXCEL

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

lzwxyz的专栏 2万+

网络设备心跳线带宽高导致虚拟化平台不稳定的问题处理

本文记录了网络设备心跳线带宽高导致虚拟化平台不稳定的问题处理一例。

forestqq的博客 2228

Vmware安装windowsServer2022版本

全网最详细的Vmware安装windowsServer2022版本

A乐神的博客 7016
上一篇: 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、付费专栏及课程。

余额充值