马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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 ,如下:
上述修改应该可以解决你的问题。如果你仍然遇到问题,那可能是由于 sheet1->readStr(1, 2); 这一行代码没有返回有效的字符串导致的。在这种情况下,你需要确认你正在读取的单元格确实包含了一个字符串。
|