Windows下XlsLib编译说明:
1. 源码下载(本次使用版本:xlslib-package-2.5.0)
https://sourceforge.net/projects/xlslib/
2. 源码结构
打开工程:(我才用MSVC2008)。工程目录结构如下:
其他版本的下面两个项目加载不成功,也就是要生成的动态库项目:
3 编译
1)提示 有很多"xlslib\***.h" 的头文件找不到。
解决方案:
在各个工程属性增加如下图所示的路径:
2)提示重定义
解决方案:
在note.h头文件的大约44-47行改变uint16_t sheet_notes为uint16_t sheet_notess。当然自定义也可以,重点是不要重复就好。
并修改:note.Cpp的342、355、358行左右的heet_notes为sheet_notess。共三处。
3)编译出现:function_property 错误
解决方案:
在formula.cpp文件的PropertyForForExcelFunction函数(源文件最后)更改为如下:
static function_propertyPropertyForForExcelFunction(expr_function_code_t code)
{
if(code>= maxProperties) {
function_propertyp;
p.op_class= CELLOP_AS_VALUE;
p.num_args= A_UNKNOWN;
//=(function_property) { CELLOP_AS_VALUE, A_UNKNOWN };
returnp;
}
returnfunction_properties[code];
}
编译:分别在下面文件找到需要的lib和dll。
测试例子,参考:http://ju.outofmemory.cn/entry/106483
#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
ws->label(1,3,L”中文测试”,xf); //测试中文
wb.Dump("workbook.xls");
return 0;
}
中文字体:
华文细黑:STHeitiLight [STXihei]
华文黑体:STHeiti
华文楷体:STKaiti
华文宋体:STSong
华文仿宋:STFangsong
俪黑 Pro:LiHeiPro Medium
俪宋 Pro:LiSongPro Light
标楷体:BiauKai
苹果俪中黑:Apple LiGothic Medium
苹果俪细宋:Apple LiSung Light
Windows的一些:
新细明体:PMingLiU
细明体:MingLiU
标楷体:DFKai-SB
黑体:SimHei
宋体:SimSun
新宋体:NSimSun
仿宋:FangSong
楷体:KaiTi
仿宋_GB2312:FangSong_GB2312
楷体_GB2312:KaiTi_GB2312
微软正黑体:Microsoft JhengHei
微软雅黑体:Microsoft YaHei
装Office会生出来的一些:
隶书:LiSu
幼圆:YouYuan
华文细黑:STXihei
华文楷体:STKaiti
华文宋体:STSong
华文中宋:STZhongsong
华文仿宋:STFangsong
方正舒体:FZShuTi
方正姚体:FZYaoti
华文彩云:STCaiyun
华文琥珀:STHupo
华文隶书:STLiti
华文行楷:STXingkai
华文新魏:STXinwei