0

这是加载 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 不是加载工具吗?如果是这样,我该如何阅读?

我把它贴在这里。非常感谢任何有帮助的人。

切片.xlsx:

https://dl.dropboxusercontent.com/u/7949​​206/Slice.xlsx

4

1 回答 1

3

从文档中可以看出,您应该使用xlCreateBook*.xls 文件和xlCreateXMLBook*.xlsx 文件。因此,对于 Slice.xlsx,使用xlCreateXMLBook. http://www.libxl.com/documentation.htmlxlCreateBook

于 2016-01-08T20:32:47.320 回答