用C++编程创建Excel文件

10

我看到程序有两种不同的方式可以将数据导出到Excel中:

  1. 打开Excel并逐个单元格输入数据(在运行时看起来像是宏在工作);
  2. 在磁盘上创建一个Excel文件,并将数据写入该文件(类似于MS Access中的导出功能)。

第一种方法非常缓慢,对我来说就是很糟糕。

第二种方法是我需要使用的。我猜我需要某种SDK,以便我可以在C++中创建Excel文件。

  1. 我需要为 .xls 和 .xlsx 使用不同的SDK 吗?
  2. 我应该从哪里获取这些 SDK?(我已经尝试在 Google 上搜索了,但我找到的 SDK 看起来做其他事情而不是提供一个接口来创建 Excel 文件)。
  3. 在运行时方面,PC 需要安装 MS Office 才能创建 Excel 文件吗?还是您可以获得可分发的 DLL 并将其与您的可执行文件一起部署?

3
必须使用Excel文件吗?如果你只是要导出数据,你可以保存CSV文件,这比生成Excel文件要容易得多,任何非愚笨的电子表格程序都可以轻松打开它。 - In silico
3个回答

12

2
很久以前,我只使用了纯HTML,并将文件重命名为xls,Excel也对此感到满意... - Nim
2
避免使用专有和陌生格式的另一种方法是创建CSV文件,Excel可以正确地将它们转换为xls。 - Jon Ander Ortiz Durántez
我只是在尝试这个。以前没听说过。如果我尝试打开XLS文件,它会显示为不受信任的来源。我可以点击继续打开并查看它。但我们能否停止这个警告? - Andrew Truckle

0

我是通过Wt库的WTemplate来实现这个的

简而言之,我在Open Office中创建了我想要的Excel文档,并将其以excel 2003 (.xml)格式进行了保存。

然后,我加载它到Google Chrome中使其看起来漂亮,并将其复制到剪贴板中。

现在,我正在费心地将其拆分成模板,以便Wt可以每次呈现一个新文件。


0
你也可以尝试像处理数据库一样使用 ODBCADO 驱动程序来处理 XLS/XLSX 文件,但功能受限。如果需要格式化,可以使用一些模板或从头创建文件。当然,这种方法只能玩弄字段值。要进行样式设置等操作,您需要使用类似于 MicrosoftExcel API。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接