从C ++的Excel中读取单元格?

我想知道如何从C ++的Excel电子表格中读取特定的单元格。 我知道我们必须使用“fstream”库,但我不知道如何从某个单元格获取这些值,然后将其打印在屏幕上。 任何帮助将不胜感激,谢谢! Carpetfizz

在Linux中你有这个免费的: http : //libxls.sourceforge.net/

在Windows中你有http://www.libxl.com/这似乎花钱:

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; } } 

我认为最好的办法是将文件保存为更加友好的.csv文件。

更多参考:

  1. 使用Excel文件的简单可靠的C库是什么?

  2. 用C ++读写Excel文件

Excel 2007之前的Excel版本使用专有的二进制格式,但Excel 2007及更高版本使用XML( 编写维基百科 )。

还有一个用于处理Excel文件的C ++库 。

写作时请使用:

https://sourceforge.net/projects/simplexlsx/

为了阅读,我使用:

sourceforge.net/projects/xlsxio/?source=directory

另外,对于xlsxio,我写了一个OO包装器,使其更适合c ++集成。 它只支持阅读,但你应该可能使用simplexlsx写作反正!

 #include "XlsxBook.h" #include "XlsxSheet.h" 

https://drive.google.com/file/d/0B_HJu4VOsY8hMnRla2NMOEM3Z2M/view?usp=sharing