因此,我正在尝试使用Autowrap
Microsoft 在其自动化示例中提供的功能从 C++ 和 OLE 自动化 Excel。
我已经可以从电子表格中的单元格中读取字符串值。但是,对于某些值,字符串似乎有问题,比如它不是以空值结尾的。这是我的代码:
VARIANT result;
VariantInit(&result);
AutoWrap(DISPATCH_PROPERTYGET, &result, range, L"Value", 0);
wprintf(L"%s, len: %d\n", result.bstrVal, SysStringLen(result.bstrVal));
wprintf(L"abc %s\n", SysAllocString(L"def"));
输出是:
John Doe á, 11
abc def
然而,在 Excel 文件中,在 Excel 中显示时,它显示如下:
John Doe
(Excel 文档的代码页会以某种方式成为问题吗?它是一个xlsx
文件。)