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 ...
随机推荐
- 碰到这个SB错误,'Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.点办
After launching MacVim you may get this annoying error message:'Taglist: Exuberant ctags (http://cta ...
- 国内好用的公用DNS 服务器。
阿里 AliDNS 223.5.5.5 223.6.6.6 CNNIC SDNS 1.2.4.8 210.2.4.8 Google DNS 8.8.8.8 8.8.4.4 OpenDNS 208.67 ...
- 使用委托解决"线程间操作无效: 从不是创建控件“textBox1”的线程访问它" 问题
在winform编程中常遇到此类问题,造成辅助线程无法给控件赋值 //定义委托 private delegate void SetTextCallback(string text); //在给text ...
- Binary Numbers(HDU1390)
Binary Numbers 点我 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- Nginx 配置指令的执行顺序(一)
大多数 Nginx 新手都会频繁遇到这样一个困惑,那就是当同一个 location 配置块使用了多个 Nginx 模块的配置指令时,这些指令的执行顺序很可能会跟它们的书写顺序大相径庭.于是许多人选择了 ...
- Windows Azure 的开源 DNA
去年年底,第二期微软云加速器在中国正式启动,17 家创业公司入选.依靠云计算的 HTML 5 专业富媒体动画平台 Mugeda(乐享云)是其中之一.微软云加速器为创业公司提供大量支持,但 Mugeda ...
- cdecl、pascal、stdcall、fastcall
Directive Parameter order Clean-up Passes parameters in registers?register Left-to-right ...
- nm命令中符号类型详解
摘自http://blog.csdn.net/solmyr_biti/article/details/6565479 nm命令介绍的很多,但大多不介绍其函数符号标志的含义.最近在调试动态库时常用到,其 ...
- To restore the database on a new host-将数据库恢复至一个新的主机上
To restore the database on a new host:1. Ensure that the backups of the target database are accessib ...
- EF项目中应用出现问题???
最近用EF做了个项目发现很多不便利的地方. 具体如下. 1,我是通过edmx 建模,然后通过模型生成数据库. 虽然数据库已经创建成功但是问题来了,我在加字段,和标的时候再次生成时domeo.edmx. ...