VC批量写入excel文件,超链接无法正常链接,显示的是excel函数字符串

jisongzdd 2011-12-26 06:28:08
我写的是批量插入excel的一个功能,将一条条记录放到一个安全数组 m_SafeArraySafeRet里面,然后用函数putvalue2一次性将安全数组放入到excel中。超链接也是以字符串形式放到数组里面的。如=HYPERLINK("images\165102843皖N00045.jpg","车辆图片")
但是不能正常连接,如果双击该超链接之后,就可以正常超链接。以下是摘要的相关代码:

//定义一个待插入的超链接值
CString strval = "images\165102843皖N00045.jpg";
CString str_Path = _T("");
str_Path.Format("=HYPERLINK(\"%s\",\"车辆图片\")",strVal);
//str_Path通过赋值之后为:=HYPERLINK("images\165102843皖N00045.jpg","车辆图片"),


//写入安全数组
//定义一个安全数组SAFEARRAY
COleSafeArray m_SafeArraySafeRet;

long index[2] ={0,0};
index[0] = m_iCountInSheet;//定义待插入的行号
index[1] = i;//定义待插入列号

VARIANT varVal; // 该变量用来为安全数组赋值
VariantInit(&varVal);
varVal.vt = VT_BSTR;
varVal.bstrVal = str_Path.AllocSysString();//将字符串赋值给待插入的变量
m_SafeArraySafeRet.PutElement(index, varVal.bstrVal);//插入安全数组

//将安全数组写入excel
CRange m_cRange;
m_cRange.put_Value2(COleVariant(m_SafeArraySafeRet));//将安全数组一次性批量写入excel

现在问题是:excel里面确实有超链接这一列,且内部字符也是我输入的字符串str_Path,但是不能正常超链接,如下:
=HYPERLINK("images\165102843皖N00045.jpg","车辆图片"),
但是有一点如果双击该表格,就可以正常超链接。
...全文
267 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jisongzdd 2011-12-27
  • 打赏
  • 举报
回复
貌似不是这个问题,我这个是自动获取的,不是我输入的,已经存到CString类型里面了,只是这边给个示意。
fishion 2011-12-27
  • 打赏
  • 举报
回复
如CString strval = "images\\165102843皖N00045.jpg";
fishion 2011-12-27
  • 打赏
  • 举报
回复
如果你要用斜杠“\”的话,那就得用两个才行“\\”
jisongzdd 2011-12-27
  • 打赏
  • 举报
回复
谁来帮帮我啊,我着急啊。。。。
jisongzdd 2011-12-26
  • 打赏
  • 举报
回复
希望高手指点一下,先谢谢了,坐等

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧