LibXL加载文件失败

这里是加载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%确定文件path是正确的。 这是加载function失败。

现在,我不知道为什么。 那是因为Slice.xlsx有点特别吗? 或者LibXL不是加载它的工具? 如果是这样我怎么读?

我附在这里。 提前感谢任何有帮助的人。

Slice.xlsx:

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

从文档中,声明应该使用xlCreateBook来处理* .xls文件和xlCreateXMLBook以处理* .xlsx文件。 因此,对于Slice.xlsx,请使用xlCreateXMLBook代替xlCreateBookhttp://www.libxl.com/documentation.html