从Excel文件读取特定列到C ++

我相对较新的C + +(我知道的基础知识,并通过自己成功通过程序),并试图创build一个项目,以减轻一些我需要的信息的数据处理。

数据input是一个30000行和27列的Excel文件。 在这些数据中,我需要提取4个特定的列(总是列2,8,14和20),我想把每列放入一个单独的数组中,第一列应该由string组成,第二列和第三列整数和最后一个string。 由于第一行包含列描述,因此尝试并省略第一行也是一个好主意。 excel文件目前采用“.xlsx”格式。

我花了整整两天的时间研究这个问题,并没有从哪里开始。 我阅读将文件types转换为“.csv”格式,并使用名为“stl”的东西可能是有用的,但与我有我觉得完全不能这样做的信息。

我不希望有人能为我解决这个问题,如果有人能指出我的方向是正确的,不pipe在哪里寻找我需要的信息,或者开始我的工作。 一旦我设法将数据读入数组,我实际上知道如何对处理进行编程,但是这部分欺骗了我。

感谢您的帮助和时间阅读。

正如你所说,你可以将excel文件转换为csv并读取它。 你会在这个主题上find很多的答案,例如我如何读取和parsingC ++中的CSV文件

否则,你可以依靠一些外部库,比如libxl (只是google上的第一个结果:D)。 然后你可以读取一个现有的Excel,例如:

Book* book = xlCreateBook(); if(book) { if(book->load(L"example.xls")) { Sheet* sheet = book->getSheet(0); if(sheet) { const wchar_t* s = sheet->readStr(2, 1); if(s) wcout << s << endl; double d = sheet->readNum(3, 1); cout << d << endl; } } book->release(); }