libxl 學習之 excel 讀寫操作
最近工作需要,需要讀寫 excel,在網上看了好幾個教程,尤其是基於 MFC 庫的那個,配置起來太難了,死活載入不上 worksheets 跟 workbooks 標頭檔案 ,放棄ing
無意間看到 libxl 讀單元格的例子,頓覺清新明瞭眼前一亮,研究了一下午,掌握基本操作。
libxl 下載官網:http://www.libxl.com/
libxl 函式說明:http://www.libxl.com/documentation.html
下載包裡有各類語言 example,百度上有說明,比較詳細
網址:http://wenku.baidu.com/view/8ff2d43a0912a2161479299f.html?from=search
環境配製簡單,libxl.lib、libxl.dll、include 標頭檔案直接放到工程目錄下取,沒多大。
example 上面主要是 xls 檔案,說一下 xlsx 檔案的讀寫吧。
Book * bookxml = xlCreateXMLBook();
bool xmload = bookxml->load(path);
Sheet * sheetxml = bookxml->getSheet(0);
path 是檔案路徑,const wchar_t * 格式,如果呼叫的話需要注意格式問題,寬字元畢竟還是麻煩。
不帶漢字的路徑
string path1;
wstring path2(path1.begin(), path1.end());
const wchar_t * path = path2.c_str();
可以直接轉換,很方便,帶漢字比較麻煩,轉換如下:
int lenth = MultiByteToWideChar(CP_ACP, 0, filepath.c_str(), filepath.size(), NULL, 0);
if(lenth < 0)return -2;
wchar_t * path = new wchar_t[lenth+1];
if(path == NULL)return -2;
MultiByteToWideChar(CP_ACP, 0, filepath.c_str(), filepath.size(), path, lenth);
path[lenth] = '\0';
filepath 為 string 型別。
getSheet(0)表示取第一個sheet頁。
Format * xmlmat = bookxml->addFormat();
xmlmat->setBorder(BORDERSTYLE_THIN);
xmlmat->setAlignH(ALIGNH_CENTER);
設定單元格邊框及居中
libxl::Font * xmlfont = bookxml->addFont();
xmlfont->setBold();
xmlfont->setSize(11);
設定字型大小及粗細,Size 可用,bold 無效,鬼知道什麼原因
讀寫注意寬字元
swprintf(val, L"%S ", data1[k].c_str());
sheetxml->writeStr(nk, k+1, val);
合併單元格
sheetxml->setMerge(height, height, 5, 6);
para1起始行,para2結束行,para3起始列,para4結束列
合併後寫的話要特別注意,如合併5,6,實際單元格6還在,寫入5或者寫入6效果相同。
差不多就這樣吧。
相關文章
- mfc 讀寫 excel 示例 C++ libxlExcelC++
- aardio 兩行程式碼 呼叫 libxl 讀寫 excel行程Excel
- python讀寫excel表操作PythonExcel
- C#對EXCEL的讀寫操作C#Excel
- python操作Excel讀寫--使用xlrdPythonExcel
- java讀取excel為物件並進行讀寫操作JavaExcel物件
- python學習之讀寫檔案Python
- JAVA讀寫excelJavaExcel
- py讀寫修改Excel之xlrd&xlwt&xlutilsExcel
- [python]使用xlrd對Excel表格進行讀寫操作PythonExcel
- 讀書學習 寫作
- python 讀寫 excelPythonExcel
- AndroidJxl讀寫ExcelAndroidExcel
- Python讀寫ExcelPythonExcel
- 學習筆記(30):Python資料清洗實戰-Excel檔案讀寫筆記PythonExcel
- 01-Excel基礎操作-學習筆記Excel筆記
- 04-Excel基礎操作-學習筆記Excel筆記
- 05-Excel基礎操作-學習筆記Excel筆記
- 使用 C++ 讀寫 ExcelC++Excel
- 使用NPOI讀寫Excel、WordExcel
- Hive學習之基本操作Hive
- MongoDB學習之聚合操作MongoDB
- Excel讀寫合集:Excel讀寫小白從不知所措到輕鬆上手Excel
- java操作excel之jxlJavaExcel
- 檔案操作之按照行讀寫檔案
- 學會python永不加班系列之操作excelPythonExcel
- EXCEL學習Excel
- Go 語言讀寫 Excel 文件GoExcel
- python讀寫excel檔案PythonExcel
- C++ 控制檯讀寫excelC++Excel
- Java檔案操作 讀寫操作Java
- excel VBA學習Excel
- python讀寫Excel表格程式碼PythonExcel
- Kafka學習之(四)PHP操作KafkaKafkaPHP
- Linux學習之檔案操作Linux
- 深度學習(三)之LSTM寫詩深度學習
- C++學習筆記----讀寫檔案C++筆記
- PHP讀取Excel之Spreadsheet_Excel_ReaderPHPExcel