资源简介
在程序中读取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 << pcstr << “\t\t“;
free(pcstr);
}
else if (celltype == CELLTYPE_NUMBER)
{
double result = sheetread->readNum(i j);
sheetwrite->writeNum(i+2 j+2 result format);
cout << result << “\t\t“;
}
else if (celltype == CELLTYPE_BLANK)
{
cout << “\t\t“ << endl;
}
else if (celltype == CELLTYPE_EMPTY)
{
cout << “\t\t“ << endl;
}
}
cout << endl;
}
}
//保存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个文件信息
相关资源
- 精美EXCEL模板免费
- win32画图程序 可保存bmp 截图
- OpenGL三维图形系统开发与实用技术.
- Word与Excel与PPT使用技巧与实战方法大
- Effective+C中文版第三版+高清PDF
- EXCEL表格大全(2000多套)+办公室专用
- Excel商业数据分析与决策
- vs2017编译发布期货策略程序化自动交
-
基于Qt封装minibl
ink库-支持mingw和vc - QT使用excel
- 编写一个Windows应用程序,要求在窗口
- 完整代码!扫雷游戏,vs2010
- 基于机器视觉的列车前方障碍物检测
- 基于QGraphicsView实现的画图软件
- DoIP_Demo.zip
- 北斗模块GPS定位显示
- 双向链表及其应用——实现多项式的
- 商品库存管理系统(源码+数据库+论文
- Excel与金融工程学
- Shell命令行解释器
- VC OpenCV车牌识别
- 基于linux QT开发的万年历程序
- Kutools for excel最新注册破解版
- 毕业设计基于Opencv的车牌识别系统
- springmvc+POI的Excel文件导入导出
- 网狐棋牌(文档与源代码)
- unigui 最好的输出excel控件 TMS.FlexCel.
- VC 操作 Excel 二次开发
- 读取excel库libxl-3.8.0.0.xlsxxls32位和64位
- 中国象棋源码+论文人工智能,搜索算
评论
共有 条评论