歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Ubuntu下C程序使用xlslib2.3.4去寫excel表格文件

Ubuntu下C程序使用xlslib2.3.4去寫excel表格文件

日期:2017/3/1 10:28:53   编辑:Linux編程

xlslib是一個跨平台的excel表格類庫。也就是說可以在linux下面在C跟C++裡調用它來輸出excel表格文件。

先去下載源碼,解壓,然後編譯,安裝。

源碼下載地址:http://sourceforge.net/projects/xlslib/files/

在終端執行命令:

./configre

make

make check

make 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

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <wchar.h>
  4. #include <stdbool.h>
  5. #include <errno.h>
  6. #include <xlslib/xlslib.h>
  7. int main (int argc, char *argv[]) {
  8. workbook *wb;
  9. worksheet* ws;
  10. wb = xlsNewWorkbook();
  11. ws = xlsWorkbookSheet(wb, "sheet1");
  12. xlsWorksheetLabel(ws, 0, 1, "name", NULL);
  13. xlsWorksheetLabel(ws, 0, 2, "US", NULL);
  14. xlsWorksheetLabel(ws, 0, 3, "CN", NULL);
  15. xlsWorksheetLabel(ws, 0, 4, "TR", NULL);
  16. int err = xlsWorkbookDump(wb, "blank.xls");
  17. xlsDeleteWorkbook(wb);
  18. if (err != 0)
  19. {
  20. fprintf(stderr, "Dump xls file failed: I/O failure %d.\n", err);
  21. return -1;
  22. }
  23. return 0;
  24. }
Copyright © Linux教程網 All Rights Reserved