3

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

4

3 回答 3

3

在 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 文件

于 2012-11-02T18:14:54.720 回答
1

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

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

于 2012-11-02T18:19:03.750 回答
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

于 2016-06-13T17:18:39.080 回答