我想知道如何在C ++中从Excel电子表格中读取特定单元格。我知道我们必须使用“fstream”库,但我不确切知道如何从某个单元格中获取这些值,并将其打印在屏幕上。任何帮助将不胜感激,谢谢! Carpetfizz
答案 0 :(得分:3)
在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 :(得分:1)
Excel 2007之前的Excel版本使用专有二进制格式,但Excel 2007及更高版本使用XML(writes Wikipedia)。
There's also a C++ library用于处理Excel文件。
答案 2 :(得分:0)
写作时,请使用:
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