資源簡介
在程序中讀取excel文件比如XLS和XLSX,方法有很多,比如ADO,OLE,ODBC等方式。但是這些方法要么依賴于平臺,要么讀取速度慢,有的甚至需要電腦本身裝有excel程序。
但是有一個付費的商業軟件庫Libxl,屬于輕量化的讀取工具,讀取速度可以,且不依賴于平臺,可在windows,mac,linux上使用。這個軟件可以免費使用,但是一次加載限制操作300個單元,并且第一行不能進行讀寫。如果想打破限制,需要使用pojie版。本下載提供的就是使用這個版本的例程,使用libxl庫讀取excel文件。
代碼片段和文件信息
#include?
#include?
#include?
using?namespace?std;
using?namespace?libxl;
//中文的內容讀出來后要進行編碼的轉換,這個為轉換函數:wchar_t?to?char
char?*w2c(char?*pcstr?const?wchar_t?*pwstr?size_t?len)
{
int?nlength?=?wcslen(pwstr);
//獲取轉換后的長度
int?nbytes?=?WideCharToMultiByte(0?0?pwstr?nlength?NULL?0?NULL?NULL);
if?(nbytes>len)???nbytes?=?len;
//?通過以上得到的結果,轉換unicode?字符為ascii?字符
WideCharToMultiByte(0?0?pwstr?nlength?pcstr?nbytes?NULL?NULL);
return?pcstr;
}
int?main()
{
Book*?book?=?xlCreatexmlBook();
book->setKey(L“Halil?Kural“?L“windows-2723210a07c4e90162b26966a8jcdboe“);
if?(book->load(L“xlsx讀取測試文件.xlsx“))
{
book->addSheet(L“使用libxl庫新建的表“);
Sheet?*?sheetread?=?book->getSheet(0);
Sheet?*?sheetwrite?=?book->getSheet(1);
if?(sheetread)
{
for?(int?i?=?0;?i?15;?i++)
{
for?(int?j?=?0;?j?5;?j++)
{
CellType?celltype?=?sheetread->cellType(i?j);
Format?*format?=?sheetread->cellFormat(i?j);
if?(celltype?==?CELLTYPE_STRING)
{
const?wchar_t?*?t?=?sheetread->readStr(i?j);
sheetwrite->writeStr(i+2?j+2?t?format);
char?*pcstr?=?(char?*)malloc(sizeof(char)*(2?*?wcslen(t)?+?1));
memset(pcstr?0?2?*?wcslen(t)?+?1);
w2c(pcstr?t?2?*?wcslen(t)?+?1);
cout?< free(pcstr);
}
else?if?(celltype?==?CELLTYPE_NUMBER)
{
double?result?=?sheetread->readNum(i?j);
sheetwrite->writeNum(i+2?j+2?result?format);
cout?< }
else?if?(celltype?==?CELLTYPE_BLANK)
{
cout?<“\t\t“?< }
else?if?(celltype?==?CELLTYPE_EMPTY)
{
cout?<“\t\t“?< }
}
cout?< }
}
//保存excel
book->save(L“xlsx讀取測試文件.xlsx“);
book->release();
}
system(“pause“);
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8048??2016-06-17?12:30??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win32\cdecl\Include\enum.inc
?????文件??????48988??2016-06-17?16:09??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win32\cdecl\Include\libxl.inc
?????文件??????48810??2016-06-17?16:25??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win32\cdecl\Include\libxlw.inc
?????文件????5920768??2016-06-16?11:42??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win32\cdecl\libxl.dll
?????文件???????8048??2016-06-17?12:30??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win32\stdcall\Include\enum.inc
?????文件??????47808??2016-06-17?16:29??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win32\stdcall\Include\libxl.inc
?????文件??????47630??2016-06-17?16:30??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win32\stdcall\Include\libxlw.inc
?????文件????5919232??2016-06-17?10:50??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win32\stdcall\libxl.dll
?????文件????8434176??2016-06-28?17:46??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win64\libxl.dll
?????文件???????4960??2016-06-28?17:48??ExcelReadAndWrite\ExcelReadAndWrite\Cracked\Win64\x64dbg_PatchData.1337
?????文件???????7316??2018-07-11?22:19??ExcelReadAndWrite\ExcelReadAndWrite\ExcelReadAndWrite.vcxproj
?????文件????????949??2018-07-11?22:19??ExcelReadAndWrite\ExcelReadAndWrite\ExcelReadAndWrite.vcxproj.filters
?????文件????????165??2018-07-11?21:56??ExcelReadAndWrite\ExcelReadAndWrite\ExcelReadAndWrite.vcxproj.user
?????文件????5920768??2015-11-18?19:55??ExcelReadAndWrite\ExcelReadAndWrite\libxl\bin\libxl.dll
?????文件????8434176??2015-11-18?20:03??ExcelReadAndWrite\ExcelReadAndWrite\libxl\bin64\libxl.dll
?????文件??????30934??2015-11-18?19:02??ExcelReadAndWrite\ExcelReadAndWrite\libxl\changelog.txt
?????文件???????6653??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\colors.html
?????文件??????10129??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\custom-format.html
?????文件???????7074??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\font.html
?????文件??????32020??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\format.html
?????文件???????1099??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignh_center.png
?????文件???????1739??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignh_distributed.png
?????文件????????980??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignh_fill.png
?????文件???????1093??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignh_general.png
?????文件???????1567??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignh_justify.png
?????文件????????959??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignh_left.png
?????文件???????1586??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignh_merge.png
?????文件???????1021??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignh_right.png
?????文件???????1131??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignv_bottom.png
?????文件???????1116??2015-05-08?22:10??ExcelReadAndWrite\ExcelReadAndWrite\libxl\doc\images\alignv_center.png
............此處省略687個文件信息
評論
共有 條評論