C++导出EXCEL开源库xlslib库使用心得
使用教程
第一步:
下载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库使用心得相关推荐
- 导出 excel 表格(纯前端)和下载excel 文件
这里下载 excel 主要讲解两种方式.一种是前端导出excel ,另一种方式是通过调用后台提供的接口进行下载 excel. (一)前端导出excel 1.Element组件库中的el-table表格 ...
- bootstraptable导出excel独立使用_JavaWeb系列之-一小时搞定POI导出Excel
课程简介: 课程目标:通过本视频,可以在一小时之内快速实现使用Apache POI组件导出excel,您是不是项目中用到这个功能了,是不是懒得从网上查代码改代码呢?这个简短的小视频适合您. 适用人群: ...
- 阿里开源的这个库,让 Excel 导出不再复杂(简简单单的写)
该图片由dae jeung kim在Pixabay上发布 你好,我是看山. 导出是中后台常见的功能,Excel文件是常见的导出格式. 在Java栈中,常用的是JXL(目前改名为JExcel)和Apac ...
- node-xlsx - 简单几行代码处理导入、导出 excel 表格数据,免费开源的 javascript 工具库
最近开发的项目上需要把数据导出为 xlsx 文档,找了一圈,发现 node-xlsx 简单好用,分享给各位. 关于 node-xlsx 在 web 开发中,管理后台生成 excel 报表并且下载,一个 ...
- Ubuntu 下处理excel表格库xlslib和libxls的下载安装
Ubuntu 下处理excel表格库xlslib和libxls的下载安装,这个gnu计划的两个库: xlslib库:https://sourceforge.net/projects/xlslib/fi ...
- C# 使用NPOI库导出excel表格
1.Visual Studio 环境中配置安装NPOI库 右击解决方案选择"管理解决方案的NuGet"程序包 在搜索框中搜索NPOI,如果搜索不到结果,需要点击"设置&q ...
- elementui中有导出组件吗_Element-ui组件库Table表格导出Excel表格
安装 npm install --save xlsx file-saver 两个插件的详细地址在下面 https://github.com/SheetJS/js-xlsx https://github ...
- 纯前端,使用xlsx库,封装导出Excel表格方法
1.安装xlsx npm i xlsx 2.代码 const XLSX = require("xlsx")/*** @data 表格数据 data = [{}] 默认为[[]] 数 ...
- [原创]基于Extjs的开源控件库 - http://extaspnet.codeplex.com/
ExtAspNet ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support ExtAspNet是一组专业的Asp.n ...
最新文章
- 福利 | 给你个机会与俞士纶(Philip S. Yu)面对面交流 !(附俞教授论文合集资源)...
- elk6.3.1版本+metricbeat监控收集swarm的资源使用情况
- 第十章 Linux下RPM软件的安装与卸载
- 一款可以在BCH链上养大熊猫的游戏——CryptoPandas
- linux ssh命令详解
- 0经验跨行,我怎么拿到谷歌offer的?
- 眼睛看近和看远的示意图
- c语言智能小车项目的感想,智能小车毕业论文(完整版)要点分析.doc
- 67 cookie常用方法
- 高地址和低地址、高字节低字节、大小端模式的转换,存储顺序
- php控制台输入输出
- 从头推导与实现 BP 网络
- SQL2005学习(三十二),Group by
- vuejs中的回车事件
- Arcgis Server服务中rest服务和wms服务的对应关系
- 《教我兄弟学Android逆向12 编写xpose模块》
- java 页眉页脚_Java 添加Word页眉、页脚
- 2021年浙大考研计算机专业录取分数线,浙江大学2021年计算机考研拟录取数据分析...
- java后台将数据导出到Excel表格
- 2009年网络游戏排行榜