以下是加载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.xlsx 和 example.xls 位于同一文件夹中。我100%确定文件路径是正确的。加载功能失败了。
现在,我不知道为什么。那是因为 Slice.xlsx 有点特别吗?或LibXL不是加载它的工具?如果是这样我怎么读呢?
我在这里附上它。非常感谢任何有帮助的人。
Slice.xlsx:
答案 0 :(得分:2)
从文档中可以看出,您应该使用xlCreateBook
来处理* .xls文件,使用xlCreateXMLBook
来处理* .xlsx文件。因此,对于Slice.xlsx,请在xlCreateXMLBook
的位置使用xlCreateBook
。 http://www.libxl.com/documentation.html