Вот код для загрузки файла 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:
В документации указано, что вы должны использовать xlCreateBook
работать с файлом * .xls и xlCreateXMLBook
работать с файлом * .xlsx. Таким образом, для Slice.xlsx используйте xlCreateXMLBook
в месте xlCreateBook
, http://www.libxl.com/documentation.html
Других решений пока нет …