使用教程

第一步:

下载xlslib库,本文建立在xlslib2.5.0版本基础上。

下载地址xlsLib download | SourceForge.net

第二步:

切换到解压文件目录xlslib\build\msvc2008\;

打开项目xlslib.sln,编译出现错误,解决办法如下:

问题1:“sheet_notes”前的类型(构造函数有返回类型或是当前类型名称的非法重定义?)
                解决:
                src/xlslib/note.h
                44-47行
                struct sheet_notes
                {
                uint16_t sheet_idx
                uint16_t sheet_notes;
                }
                成员sheet_notes和结构名一样冲突了
                修改成员名unit16_t sheet_notes为uint16_t _sheet_notes。
                后续用到这个变量的地方也修改,这个编译的时候会提示的。
                note.cpp(342) last_sheet._sheet_notes
                note.cpp(355) sn._sheet_notes
                note.cpp(358) sn._sheet_notes

问题2:formula.cpp(917) error C2059 语法错误"{"
                解决:
                将function_propertyp = (function_property) {CELLOP_AS_VALUE, A_UNKNOWN};
                修改为
                function_property p ={CELLOP_AS_VALUE, A_UNKNOWN};

问题3:
                xlslibsrc\xlslib/sheetrec.h(347): error C2059: 语法错误:“类型”
                xlslibsrc\xlslib/sheetrec.h(348): error C2238: 意外的标记位于“;”之前
                xlslibsrc\xlslib/formula_expr.h(382): error C2059: 语法错误:“类型”
                xlslibsrc\xlslib/formula_expr.h(382): error C2238: 意外的标记位于“;”之前
                解决:去库代码修改这几个文件和使用到的地方,将boolean函数改为_boolean

问题4:xlslibsrc\common\ac-config.win32.h(227): error C2371: “int8_t”: 重定义;不同的基类型。
                解决:
                注释掉该行

问题5:找不到更重头文件,我用的时候是release版本有问题,debug没有。
                解决:
                按照debug版本修改release版本,项目属性、c/c++、附加包含目录,修改为../../src和.这两个路径。

第三步:拷贝编译好的dll和lib文件到项目中,复制xlslib\src整个路径到项目中,即可使用。

使用心得

1.使用时使用workbook.xformat();后,通过xf_t* xf1 = xf_t::xfDup(xf);创建新的格式,注意要使用不同的格式时需要再次通过xf_t* xf2 = xf_t::xfDup(xf);创建新的格式,不然后面修改xf1会导致之前已使用了xf1的也跟着改变。然后使用workbook.sheet(Str.GetString())->blank(i, j, xf);先把所有需要设置边框的单元格设置上边框,注意,就算是通过workbook.sheet(Str.GetString())->merge合并了,也需要当做没合并之前的单元格位置进行设置,不然就只有合并单元格最前面那个有边框,如下图:

2.在uncode编码下,一般vs默认就是这个时,请传递label(),等函数wstring(CString/wchar_t),而不是string,不然会中文乱码的,网上说的自己添加判断什么utf-8的,感觉不用添加啊,大不了就是使用wstring或者string中的一个,试一下那个不乱码就用那个。

3.发现单元格不自动换行,暂时没有找到好的办法,但是可以通过设置xf2->SetHAlign(HALIGN_JUSTIFY);进行解决,然后配合空格控制显示在中间,如下图(下划线表示空格):

4.单元格宽度问题,office不识别ws->colwidth(i, 256 * 5);设置的值,但是wps能识别宽度设置。可以通过ws->defaultColwidth(5);进行设置即可,文档里说ws->defaultColwidth参数需要*256,但实际测试不需要。

中文说明文档:xlslib中文说明文档-C++文档类资源-CSDN下载

C++导出EXCEL开源库xlslib库使用心得相关推荐

  1. 导出 excel 表格(纯前端)和下载excel 文件

    这里下载 excel 主要讲解两种方式.一种是前端导出excel ,另一种方式是通过调用后台提供的接口进行下载 excel. (一)前端导出excel 1.Element组件库中的el-table表格 ...

  2. bootstraptable导出excel独立使用_JavaWeb系列之-一小时搞定POI导出Excel

    课程简介: 课程目标:通过本视频,可以在一小时之内快速实现使用Apache POI组件导出excel,您是不是项目中用到这个功能了,是不是懒得从网上查代码改代码呢?这个简短的小视频适合您. 适用人群: ...

  3. 阿里开源的这个库,让 Excel 导出不再复杂(简简单单的写)

    该图片由dae jeung kim在Pixabay上发布 你好,我是看山. 导出是中后台常见的功能,Excel文件是常见的导出格式. 在Java栈中,常用的是JXL(目前改名为JExcel)和Apac ...

  4. node-xlsx - 简单几行代码处理导入、导出 excel 表格数据,免费开源的 javascript 工具库

    最近开发的项目上需要把数据导出为 xlsx 文档,找了一圈,发现 node-xlsx 简单好用,分享给各位. 关于 node-xlsx 在 web 开发中,管理后台生成 excel 报表并且下载,一个 ...

  5. Ubuntu 下处理excel表格库xlslib和libxls的下载安装

    Ubuntu 下处理excel表格库xlslib和libxls的下载安装,这个gnu计划的两个库: xlslib库:https://sourceforge.net/projects/xlslib/fi ...

  6. C# 使用NPOI库导出excel表格

    1.Visual Studio 环境中配置安装NPOI库 右击解决方案选择"管理解决方案的NuGet"程序包 在搜索框中搜索NPOI,如果搜索不到结果,需要点击"设置&q ...

  7. elementui中有导出组件吗_Element-ui组件库Table表格导出Excel表格

    安装 npm install --save xlsx file-saver 两个插件的详细地址在下面 https://github.com/SheetJS/js-xlsx https://github ...

  8. 纯前端,使用xlsx库,封装导出Excel表格方法

    1.安装xlsx npm i xlsx 2.代码 const XLSX = require("xlsx")/*** @data 表格数据 data = [{}] 默认为[[]] 数 ...

  9. [原创]基于Extjs的开源控件库 - http://extaspnet.codeplex.com/

    ExtAspNet   ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support     ExtAspNet是一组专业的Asp.n ...

最新文章

  1. 福利 | 给你个机会与俞士纶(Philip S. Yu)面对面交流 !(附俞教授论文合集资源)...
  2. elk6.3.1版本+metricbeat监控收集swarm的资源使用情况
  3. 第十章 Linux下RPM软件的安装与卸载
  4. 一款可以在BCH链上养大熊猫的游戏——CryptoPandas
  5. linux ssh命令详解
  6. 0经验跨行,我怎么拿到谷歌offer的?
  7. 眼睛看近和看远的示意图
  8. c语言智能小车项目的感想,智能小车毕业论文(完整版)要点分析.doc
  9. 67 cookie常用方法
  10. 高地址和低地址、高字节低字节、大小端模式的转换,存储顺序
  11. php控制台输入输出
  12. 从头推导与实现 BP 网络
  13. SQL2005学习(三十二),Group by
  14. vuejs中的回车事件
  15. Arcgis Server服务中rest服务和wms服务的对应关系
  16. 《教我兄弟学Android逆向12 编写xpose模块》
  17. java 页眉页脚_Java 添加Word页眉、页脚
  18. 2021年浙大考研计算机专业录取分数线,浙江大学2021年计算机考研拟录取数据分析...
  19. java后台将数据导出到Excel表格
  20. 2009年网络游戏排行榜

热门文章

  1. Revit中墙体的截面填充图案,构件快速上色
  2. R语言实现 黑箱方法——支持向量机
  3. 华中科技大C语言题库,华中科技大C语言试卷.doc
  4. 系统分析师考试科目方案(二)
  5. python练习项目——小猪佩奇
  6. 判断经过batman-adv协议的mesh自组网拓扑节点设备个数
  7. cbinsight独角兽_想要编码为工程经理? 是时候找到独角兽了
  8. 南京邮电大学数据结构实验二(代码篇)
  9. 模块化机房解决方案有哪些?
  10. 2023-2029年中国低速载货汽车制造行业市场需求分析及投资策略研究报告