xlslib是一个跨平台的excel表格
写类库。也就是说可以在linux下面在C跟C++里调用它来输出excel表格文件。先去下载源码,解压,然后编译,安装。源码下载地址:
http://sourceforge.net/projects/xlslib/files/在终端执行命令:./configremakemake checkmake install其中最后 一步make install需要切换到root用户,才有权限把头文件跟库文件写入到/usr。这一步之后,默认安装的库文件保存位置在/usr/local/lib,不在系统默认的lib路径里,需要手动把它们拷贝过去sudo cp /usr/local/lib/libxls* /usr/lib
在写源代码的时候,一定要记得包含下面两个头文件,不然会编译出错!#include <wchar.h>
#include <stdbool.h>关于怎么使用的例子,2.3.4好像改动比较多,按照网上搜索到的源码大多不能使用的,,大家可以在源码目录下面的targets/test/文件夹查看,
mainC.c是C里面调用xlslib的例子,mainCPP.CPP是C++调用xlslib的例子。下面是一个简单的例子:wb.c编译的时候添加xls库就可以了。gcc wb.c -o wb -lxls
- #include <stdio.h>
- #include <string.h>
- #include <wchar.h>
- #include <stdbool.h>
- #include <errno.h>
-
- #include <xlslib/xlslib.h>
-
- int main (int argc, char *argv[]) {
- workbook *wb;
- worksheet* ws;
-
- wb = xlsNewWorkbook();
- ws = xlsWorkbookSheet(wb, "sheet1");
-
- xlsWorksheetLabel(ws, 0, 1, "name", NULL);
- xlsWorksheetLabel(ws, 0, 2, "US", NULL);
- xlsWorksheetLabel(ws, 0, 3, "CN", NULL);
- xlsWorksheetLabel(ws, 0, 4, "TR", NULL);
-
- int err = xlsWorkbookDump(wb, "blank.xls");
-
- xlsDeleteWorkbook(wb);
-
- if (err != 0)
- {
- fprintf(stderr, "Dump xls file failed: I/O failure %d.
", err);
- return -1;
- }
-
- return 0;
- }