xlslib库使用简记
xlslib库使用简记
1 前言
最近需要使用C++结合xlslib库来生成Excel文件,但发现这个库的文档还真难找,找来找去发现唯一的线索是有一个test/目录里面的几个例子而已。
想到以后要不断的和这个库打交道,除非愿意用Python去重写,但吃力不讨好,还是做个笔记,以备不时之需。
2 安装使用
- 官网: http://xlslib.sourceforge.net/
- 下载: http://sourceforge.net/projects/xlslib/
- 文档: https://github.com/LeslieZhu/books/blob/master/share/xlslibRefGuide.pdf
安装是三步:
$ ./configure $ make $ make install
源码里面自带的使用例子:
xlslib/xlslib/targets/test/formulas.cpp xlslib/xlslib/targets/test/mainCPP.cpp
安装后:
- 头文件目录:
/usr/local/include/xlslib/ /usr/local/include/xlslib/xlslib/
- 库文件:
/usr/local/lib/libxls.3.dylib /usr/local/lib/libxls.a /usr/local/lib/libxls.dylib /usr/local/lib/libxls.la
3 举例: 生成xls
helloxls.cpp:
#include <string.h> #include <xlslib/xlslib.h> using namespace xlslib_core; using namespace std; int main (int argc, char *argv[]) { workbook wb; xf_t* xf = wb.xformat(); worksheet* ws; ws = wb.sheet("sheet1"); string label = "Hello, World!"; ws->label(1,2,label,xf); // 从0开始数,第1行,第2列,即C3 wb.Dump("workbook.xls"); return 0; }
编译运行:
$ g++ helloxls.cpp -lxls -I /usr/local/include/xlslib/ -I /usr/local/include/ -L /usr/local/lib/ -o helloxls $ ./helloxls $ ll workbook.xls
PS: 因为对API不熟悉,还是在IDE里面自动补全、提示比较方便。
4 举例: 设置颜色
xlscolor.cpp:
#include <string.h> #include <xlslib/xlslib.h> using namespace xlslib_core; using namespace std; void test() { workbook wb; font_t * _font = wb.font("Calibri"); _font->SetBoldStyle(BOLDNESS_BOLD); // 设置粗字体 xf_t* xf = wb.xformat(); xf->SetFont(_font); xf->SetFillBGColor(CLR_WHITE); xf->SetFillFGColor(CLR_RED); worksheet* ws; ws = wb.sheet("sheet1"); cell_t * cell; cell = ws->label(1,2,"hello",xf); // 从0开始数,第1行,第2列,即C3 cell = ws->label(2,2,"world"); cell->fillfgcolor(CLR_RED); cell->fillbgcolor(CLR_WHITE); range * _range; _range = ws->rangegroup(0,0,1500,100); // 设置背景为白色 _range->cellcolor(CLR_WHITE); _range = ws->rangegroup(1,2,2,2); _range->cellcolor(CLR_GOLD); wb.Dump("workbook.xls"); }
5 举例: 设置列宽
#include <string.h> #include <xlslib/xlslib.h> using namespace xlslib_core; using namespace std; void test() { workbook wb; worksheet* ws; ws = wb.sheet("sheet1"); ws->defaultColwidth(256*10); ws->colwidth(2,256*30); cell_t * cell; cell = ws->label(1,2,"hello",xf); // 从0开始数,第1行,第2列,即C3 cell = ws->label(2,2,"world"); wb.Dump("workbook.xls"); }
xlslib库使用简记的更多相关文章
- 对xlslib库与libxls库的简易封装
一.简介 xlslib库是用来创建excel文件.libxls是用来读取excel文件的,在使用C++或者QT语言来设计对excel文件的读取.都需要事先下载这两个库编译成功后再进行程序设计的.之所以 ...
- 使用VS2015编译xlslib库
环境: win7_x64,VS2015 开始: 一.下载xlslib库 xlslib-package-2.5.0.zip 解压到一个指定目录,如E:\library\xlslib-package-2. ...
- vs2008中xlslib与libxls库的编译及使用
C++用来操作Excel的方法很多,但是涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了.由于技术比较菜,折腾这个折腾了一个星期了.最开始是使用 ...
- 又遇Release编译的一坑 -- 应用程序正常初始化(0xc000007b)失败。请单击“确定”,终止应用程序。
项目中使用了xlslib库,以动态库形式编译,由于它没有生成链接库lib文件,所以官方提供的demo中有createDLL这个小程序用来生成lib文件.然而我又 no zuo no die了一次. ...
- 开源的excel读取库libxls在windows下的编译,且支持中文,全网首发
转载请注明出处:http://www.cnblogs.com/superbi/p/5482516.html 到目前为止,网络和官网上并没有关于libxls在windows下支持中文的教程,也没有现成的 ...
- make 要点简记
make 要点简记 1.隐式推导 make可以自动推导文件及其文件依赖关系后面的命令,所以我们没有必要在每一个.o文件后面都写上类似的命令,因为make 会自动识别并且自动推导命令. objects ...
- 『Python CoolBook』C扩展库_其五_C语言层面Python库之间调用API
点击进入项目 一.C层面模块添加API 我们仍然操作如下结构体, #include <math.h> typedef struct Point { double x,y; } Point; ...
- python面试题库——3数据库和缓存
第三部分 数据库和缓存(46题) 列举常见的关系型数据库和非关系型都有那些? 关系型数据库: Oracle.DB2.Microsoft SQL Server.Microsoft Access.MySQ ...
- my14_mysql指定时间恢复之模拟从库
场景 *********************************线上库数据误删除,存在几天前的一份全备数据,现需要恢复这些误删除的数据本例方案:在另外一台服务器上,恢复全备,搭建binlog ...
随机推荐
- PHP每日签到及连续签到奖励实现示例
数据库字段 num 记录已经连续签到次数 times 记录签到的日期 格式年月日 如 20160101 PHP代码如下 <?php //获取今天的日期 $today = date('Ymd'); ...
- windows下qtcreator添加ICE库文件
由qtcreator手动添加外部库,会自动生成: win32:CONFIG(release, debug|release): LIBS += -L$$PWD/C:/ZeroC/Ice-/lib/vc1 ...
- Intuit Quicken Home & Business 2016(Manage your business and personal finances)
Quicken Home & Business 2016 - Manage your business and personal finances all in one place. Cate ...
- 【Leetcode】二叉树简单路径最大和问题
问题一:二叉树任意两个叶子间简单路径最大和 示例: -100 / \ 2 100 / \ 10 20 思路:这个问题适用于递归思路. 首先,将问题简单化:假设包含最大和summax的简单 ...
- 续前篇---数据挖掘之聚类算法k-mediod(PAM)原理及实现
上一篇博文中介绍了聚类算法中的kmeans算法.无可非议kmeans由于其算法简单加之分类效率较高 已经广泛应用于聚类应用中. 然而kmeans并非十全十美的.其对于数据中的噪声和孤立点的聚类带来的误 ...
- 能上QQ无法打开网页
能上QQ无法上网电脑故障解决方法 Winsock协议配置故障解决方法 第1步 :单击开始菜单中的运行,并在打开的运行窗口中键入“cmd”并回车确定,打死命令提示符窗口. 第2步 :在打开的命令提示符窗 ...
- mongodb启动关闭;
[正确关闭方法] 方法一 ps -ef |grep mongodb 找到你要查找的进程号 kill -2 pid 杀掉 方法二 也可以进入到mongo数据库里面进行操作./mongouse ...
- 在SQL Server中如何快速查找DBCC命令和语法?
DBCC命令非常好用,但是命令很多语法就很多,如何快速记忆呢?是否都要背下来.其实不用,只要能知道每个命令的作用并且记住DBCC HELP命令就可以了. --查找所有的DBCC命令 DBCC HEL ...
- 反对抄袭 正解spring的@Autowired 不要相信网上的错误版本
首先,最重要的, @Autowired的就是用来来消除 set ,get方法. 有些介绍,如著名的马士兵,说要在set方法上进行注入.我当时就看不明白了,既然只取消了一个GET,这个@Autowire ...
- linux中grep使用方法具体解释
查找特定字符串并颜色显示 [root@fwq test]# grep -n 'the' regular_express.txt --color=auto 8:I can't finish the te ...