libxl-----Format
Book* book1 = xlCreateXMLBook();if (!book1) {
ExitProcess(0);
}
book1->setKey(L"libxl", L"windows-28232b0208c4ee0369ba6e68abv6v5i3");//注册
book1->load(_T("D:\\bb\\ex.xlsx")); //读取excel文件
Sheet* sheet1 = book1->getSheet(0);//获取指定序号的表
CString str;
if (sheet1) {
const TCHAR* p = sheet1->readStr(1, 2); //读取字符串
str.Format(_T("%s"), *p);
}
::OutputDebugString(str);
我的问题:str.Format(_T("%s"), *p); 显示访问权限冲突 ?????
你的代码片段中,问题出在这一行:
str.Format(_T("%s"), *p);
这里, *p 应该是你尝试去获取一个字符串指针指向的第一个字符。但是,由于Format函数需要的是一个字符串指针,而不是一个字符,这将导致访问违规。
你需要将*p改为p,如下:
str.Format(_T("%s"), p);
上述修改应该可以解决你的问题。如果你仍然遇到问题,那可能是由于sheet1->readStr(1, 2);这一行代码没有返回有效的字符串导致的。在这种情况下,你需要确认你正在读取的单元格确实包含了一个字符串。
页:
[1]