LibXL 加载文件失败

LibXL load file failure

这是加载 xls/xlsx 文件的代码:

int main()
{ 
    BookHandle book = xlCreateBook();

    if(book) 
    {
        if(xlBookLoad(book, L"Slice.xlsx")) 
        {
            SheetHandle sheet = xlBookGetSheet(book, 0);
            if(sheet)
            {
                double d;
                const wchar_t* s = xlSheetReadStr(sheet, 2, 1, 0);

                if(s) wprintf(L"%s\n", s);

                d = xlSheetReadNum(sheet, 3, 1, 0);
                printf("%g\n", d);
            }
        }     

        xlBookRelease(book);
    }

    printf("\nPress any key to exit...");
    _getch();

    return 0;
}

这些实际上是示例代码。 xlBookLoad() 失败,因此跳过 if 语句。

但是,如果我加载它自己的文件example1.xls,它就成功了。 Slice.xlsxexample.xls 在同一个文件夹中。我 100% 确定文件路径是正确的。是加载功能失败了。

现在,我不知道为什么。那是因为 Slice.xlsx 有点特别吗?还是LibXL不是加载工具呢?如果可以,我该如何阅读?

我附在这里。非常感谢任何提供帮助的人。

Slice.xlsx:

https://dl.dropboxusercontent.com/u/7949206/Slice.xlsx

根据文档,您应该使用 xlCreateBook 来处理 *.xls 文件,使用 xlCreateXMLBook 来处理 *.xlsx 文件。因此,对于 Slice.xlsx,请使用 xlCreateXMLBook 代替 xlCreateBookhttp://www.libxl.com/documentation.html