【问题标题】:XLS/XLSX to CSV in c++C++ 中的 XLS/XLSX 到 CSV
【发布时间】:2016-02-29 16:14:17
【问题描述】:

我接到了一个项目,我需要从 CSV、XLS 和 XLSX 文件中导入数据,进行一些处理,然后将结果写入数据库。

我正在处理一个已经进行了一段时间的项目,并且已经有几个导入函数使用一个非常好的对象来处理带有各种分隔符等的打开文件。这个对象是我需要执行的处理的关键。

由于 CSV 基本上是一个具有不同扩展名的文本文件,这个对象可以完美地打开它,并且我已经设法使用其中存储的对象和值完成了大部分处理和测试。

但现在我需要添加 XLS 和 XLSX 支持。由于这个对象现在几乎是处理的核心,我认为适合 XLS 和 XLSX 文件的最简单方法是将它们转换为 CSV,然后导入。

任何帮助都将不胜感激,如果有必要,我会尝试回答问题,但由于请求只是为了某种方式从一种文件类型转换为另一种文件类型,没有什么更深刻的,我认为没有必要添加任何sn-ps。

【问题讨论】:

  • 如果您可以运行到 Perl,CPAN 上有可以将 XLS/XLSX 转换为 CSV 的模块。
  • 不幸的是我不能。它需要成为该计划的一部分。如果用户在导入时选择 excel 文件,我可能会链接到并调用以从 XLS/XLSX 转换文件。然后它将与 CSV 一起使用。

标签: c++ csv xls xlsx


【解决方案1】:

您在 C++ 库方面的选择:


或者你可以试试“XLSX I/O”。这是一个小型 C 库。

在从 C++ 调用 C 函数时,不要忘记添加常用的 extern "C"

repo 包含基本的 xlsx-to-csv(和 csv-to-xlsx)示例,应该可以帮助您入门:https://github.com/brechtsanders/xlsxio/blob/master/src/xlsxio_xlsx2csv.c

【讨论】:

    【解决方案2】:

    也许这会有所帮助: http://www.codeproject.com/Articles/42504/ExcelFormat-Library

    您还可以使用 Open/Libre Office 项目中的库。

    【讨论】:

    • 我一直在四处寻找,我已经多次看到那个库,我和其他人都有同样的问题。这只是一个演示版本,很快就会变得非常烦人。而且我不需要购买它的那么多功能。我只需要从单元格中获取文本数据,而不是所有格式。我什至没有写入excel文件。不值得。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多