c++操作excel的几种库

OpenXLSX

链接https://github.com/troldal/OpenXLSX:

OpenXLSX 是一个 C++ 库,用于读取、写入、创建和修改 Microsoft Excel 文件,采用 .xlsx 格式。

注意: 这库我测试时对中文utf-8支持不行,创建的xlsx文件中有中文就打不开,提示文件破损。

虽然他说一秒读写400万单元格。

兼容性:
在这里插入图片描述

libxlsxwriter

链接:https://github.com/jmcnamara/libxlsxwriter

Libxlsxwriter 是一个 C 库,可用于在 Excel 2007+ XLSX 文件中写入文本、数字、公式和指向多个工作表的超链接。

它支持以下功能:
100% 兼容 Excel XLSX 文件。
完整的 Excel 格式。
合并的单元格。
定义的名称。
自动过滤器。
图表。
数据验证和下拉列表。
条件格式。
工作表 PNG/JPEG/GIF 图像。
单元格评论。
支持添加宏。
用于写入大文件的内存优化模式。
源代码可在GitHub 上获得。
FreeBSD 许可证。
ANSI C.
适用于 GCC、Clang、Xcode、MSVC 2015、ICC、TCC、MinGW、MingGW-w64/32。
适用于 Linux、FreeBSD、OpenBSD、OS X、iOS 和 Windows。也适用于 MSYS/MSYS2 和 Cygwin。
编译为 32 位和 64 位。
在大端和小端系统上编译和工作。
唯一的依赖是在zlib。

官网文档:http://libxlsxwriter.github.io/

readxl

readxl 包可以轻松地从 Excel 中获取数据并导入 R。与许多现有包(例如 gdata、xlsx、xlsReadWrite)相比,readxl 没有外部依赖项,因此它易于在所有操作系统上安装和使用。它旨在读取表格数据。

它比 openxlsx 简约得多,但在简单的例子中,它的速度似乎是它的两倍,并且可以编写更小的文件。

链接:https://github.com/tidyverse/readxl

xlslib

链接:http://xlslib.sourceforge.net/index.php

涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了。xlslib库只能写Excel文件,libxls库只能读Excel文件。另外libxl库功能强大,但是收费的

BasicExcel

这库还没试

  • 15
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
这是曾经做过的一个项目时写的一个动态,用c++操作Excel,包括以下功能: //===================================mainly function============================ //FuncName: xls_create //function: create excel server //return value: return 1 if success, otherwise 0 _export bool xls_create(); //FuncName: xls_new_file/xls_new_file2 //function: create an excel file (from a template) //parameter: strTemplate ->excel template file name,eg: "template.xlt" or "d:\teplate.xls" // strFileName ->the file name used to save excel file as,eg: "Temp.xls" // openfile ->1: open excel file after writen it,otherwize don't open it //return value: return the excel fileID which created from template, between 1 and 256 if success, or zero otherwise _export int xls_new_file(char* szTemplate, char* szFileName, int openfile); _export int xls_new_file2(char* szFileName, int openfile); //FuncName: xls_open_file //function: Open an exist excel file //parameter:the file name will to be opened //return value: return the fileID, if open file success,otherwize return 0 _export int xls_open_file(char* szFileName); //FuncName: xls_write_xxx //function: write a double value to xls file //parameter: fileID ->the excel file ID which we will write the value into,between 1 and 256 // sheetID ->the sheet index of the excel file which we will write the value into,between 1 and 256 // crow ->the row index which we will write the value into, not less 1 // ccol ->the column index which we will write the value into, not less 1 // value ->the double value which we will write into excel //Note: if you want to input enter key in excel file,you may use \n in your str //return value: return 1 if success, otherwise 0 _export int xls_write_str(int fileID, int sheetID, int crow, int ccol, char* value); _export int xls_write_dbl(int fileID, int sheetID, int crow, int ccol, double value); _export int xls_write_int(int fileID, int sheetID, int crow, int
### 回答1: C 的 Excel 表格读取可以通过使用编程语言中的 Excel 相关或者软件来实现。以下是几种常见的方法: 1. 使用 Python 的 pandas :可以通过 pandas 的 read_excel() 函数来读取 Excel 表格。首先,需要安装 pandas ,然后在代码中导入 pandas ,使用 read_excel() 函数读取 Excel 文件,并将数据存储到变量中进行后续处理。 2. 使用 Java 的 Apache POI :Apache POI 是一个开源的 Java ,用于操作 Microsoft Office 文件格式,其中包括 Excel 文件。可以使用 Apache POI 提供的 API 来读取 Excel 表格。首先,需要在 Java 项目中引入 Apache POI 的相关依赖,然后使用 Java 代码调用相应的 API 来读取 Excel 文件中的数据。 3. 使用 VBA:Excel 自带的 VBA(Visual Basic for Applications)可以用于编写宏,实现对 Excel 表格的读取。通过在 Excel 中开启开发者模式,并在 VBA 编辑器中编写相应的代码,可以读取指定的 Excel 文件并将数据存储或处理。 不论使用哪种方法,都需要指定要读取的 Excel 文件的路径,并根据文件中的具体结构和需求,选择相应的读取方式和处理方式。读取 Excel 表格后,可以对数据进行分析、处理、转换等操作,以满足具体的业务需求。 ### 回答2: 在Excel中读取C的表格,首先需要打开Excel软件并创建一个新的工作簿。然后,点击“文件”菜单,选择“打开”选项,浏览文件夹并找到C所在的位置。双击C的文件,Excel会自动将其加载到工作簿中。 在Excel中,以表格形式显示的数据被组织成行和列,其中行是水平方向的,列是垂直方向的。C的表格中的每一行代表一个记录,而每一列代表记录的一个属性。 要获取C表格中的数据,可以在工作簿中选择一个单元格,该单元格对应于C表格中的某个位置。然后,可以使用Excel提供的函数和命令来处理和操作该单元格及其周围的单元格。 例如,可以使用公式来计算单元格的值,如SUM(求和)、AVERAGE(求平均值)、MAX(求最大值)、MIN(求最小值)等。还可以使用条件函数如IF(条件判断)、COUNTIF(计数符合条件的单元格数量)等来对数据进行进一步的筛选和分析。 此外,Excel还提供了数据透视表(PivotTable)功能,可以快速分析和汇总大量数据。通过简单的拖拽和设置选项,可以对C表格中的数据进行多维度的聚合和展示。 最后,读取C表格的数据后,可以进行数据的导出和保存。通过选择“文件”菜单中的“另存为”选项,可以将文件保存为不同的格式,如Excel文件(.xlsx)、CSV文件(.csv)等,以方便其他软件和系统的使用。 总之,通过Excel的强大功能和灵活性,我们能够方便地读取和处理C的表格数据,并进行各种统计和分析操作。 ### 回答3: 在C语言中,我们可以使用第三方来读取和处理Excel表格。其中一种常用的是libxlsxwriter,它可以用于创建和修改Excel文件。下面是一个简单的代码示例,说明如何使用libxlsxwriter来读取Excel表格中的数据。 ```c #include <xlsxwriter.h> #include <stdio.h> int main() { // 打开Excel文件 lxw_workbook *workbook = workbook_new("example.xlsx"); // 检查Excel文件是否打开成功 if (!workbook) { printf("无法打开Excel文件!\n"); return 1; } // 选择要读取的工作表 lxw_worksheet *worksheet = workbook_get_worksheet(workbook, 0); // 第一个工作表的索引为0 // 读取单元格的值 lxw_cell *cell = worksheet_find_cell(worksheet, 0, 0); // 第一个单元格的索引为(0,0) if (cell) { printf("A1单元格的值为:%s\n", lxw_cell_get_string(cell)); } else { printf("未找到单元格!\n"); } // 关闭Excel文件 workbook_close(workbook); return 0; } ``` 需要注意的是,使用libxlsxwriter读取Excel表格需要先安装该并将其链接到编译器中。可以使用以下命令来安装libxlsxwriter: ``` $ git clone https://github.com/jmcnamara/libxlsxwriter.git $ cd libxlsxwriter $ make $ sudo make install ``` 接下来,编译和运行上述代码: ``` $ gcc -o read_excel read_excel.c -lxlsxwriter $ ./read_excel ``` 以上代码中给出了一个简单的例子,读取了Excel表格中A1单元格的值。您可以根据实际需求修改代码以读取其他单元格或批量读取表格数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值