使用LibXL库,轻松读写Excel表格 您所在的位置:网站首页 c语言解析excel文件 使用LibXL库,轻松读写Excel表格

使用LibXL库,轻松读写Excel表格

2023-10-28 08:38| 来源: 网络整理| 查看: 265

文章作者:里海 来源网站:里海NX二次开发3000例

目录

介绍

功能

性能

下载

配置

例子1: 生成工作表,并写入数据

例子2: 读数据

例子3: 插入图片

获取许可证密钥

介绍

        LibXl库不依赖Excel和NET框架可以读写Excel文件。 LibXl库可用于 C、C++、C#、PHP、Python等语言。支持 Excel 97-2003二进制格式(xls)、 Excel2007-2021 XML 格式(xlsx/xlsm),并且支持多个平台windows、Linux、Mac等。

功能

        LibXl库支持表格的创建、读取、编辑,支持多种格式选项:对齐、边框、颜色、填充模式、字体、合并单元格等。支持向表格中插入图片。

性能

        LibXl库可以轻松得将数据导入至Excel,或者从Excel中提取数据。性能相当可以,数字的写入速度约为每秒2100,000个单元,二进制xls格式的8字符随机字符串的写入速度约为每秒240000个单元。

下载

        LibXL库官网地址:https://www.libxl.com/

        LibXL库下载地址:http://www.libxl.com/download.html

        LibXL库4.1.1下载地址: https://www.libxl.com/download/libxl-win-4.1.1.zip

(我们下载“Libxl for Windows 4.1.1”,并以c++为例介绍)

配置

 手动将下图的libxl.dll,复制到生成的动态链接库(*.dll)或者程序文件(*.exe)相同的文件夹。

例子1: 生成工作表,并写入数据

代码

#include #include #include "libxl.h" using namespace libxl; //新建的表格文件名称 const wchar_t* filename = L"custom.xlsx"; int main() { Book* book = xlCreateXMLBook(); //book->setKey(输入key,文章最后送大家Libxl最新库4.4.1 的 KEY) if(book) { int f[6]; f[0] = book->addCustomNumFormat(L"0.0"); f[1] = book->addCustomNumFormat(L"0.00"); f[2] = book->addCustomNumFormat(L"0.000"); f[3] = book->addCustomNumFormat(L"0.0000"); f[4] = book->addCustomNumFormat(L"#,###.00 $"); f[5] = book->addCustomNumFormat(L"#,###.00 $[Black][=1000]"); Format* format[6]; for(int i = 0; i < 6; ++i) { format[i] = book->addFormat(); format[i]->setNumFormat(f[i]); //格式 } Sheet* sheet = book->addSheet(L"Custom formats"); //新建sheet if(sheet) { sheet->setCol(0, 0, 20); //设置第一列到第一列的宽度为20 sheet->writeNum(3, 0, 25.718, format[0]); //写入数据并设置格式 第3行第1列 sheet->writeNum(4, 0, 25.718, format[1]); //写入数据并设置格式 sheet->writeNum(5, 0, 25.718, format[2]); //写入数据并设置格式 sheet->writeNum(6, 0, 25.718, format[3]); //写入数据并设置格式v sheet->writeNum(8, 0, 1800.5, format[4]);//写入数据并设置格式 sheet->writeNum(10, 0, 500, format[5]); //写入数据并设置格式 sheet->writeNum(11, 0, 1600, format[5]); //写入数据并设置格式 sheet->writeStr(2, 0, L"王牌飞行员_里海");//写入字符串 第2行第1列 sheet->writeNum(2, 1, 1000);//写入数据 第2行第2列 } if(book->save(filename)) { //打开表格文件 ::ShellExecute(NULL, L"open", filename, NULL, NULL, SW_SHOW); } book->release(); } return 0; } 例子2: 读数据

  代码

#include #include "libxl.h" using namespace libxl; const wchar_t* filename = L"F:\\example.xlsx"; int main() { Book* book = xlCreateXMLBook(); //book->setKey(输入key,文章最后送大家Libxl最新库4.4.1 的 KEY) if(book) { if(book->load(filename)) { Sheet* sheet = book->getSheet(0); if(sheet) { const wchar_t* s = sheet->readStr(2, 1); if(s) std::wcout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有