关于数据库查询结果导入到Excel中数据类型不匹配的问题,希望高手指点。

suzhijun 2003-08-18 03:36:27
我用的数据库是sql server 7.0其中有各字段,phone用的事varchar类型,我用ado控件连接数据库,然后用adodataset来执行查询,然后把查询的结果保存到excel中但是不知道为什么总提示数据类型不对,程序代码如下:
Variant m_Excel,m_Workbooks,m_Workbook,m_Sheet,m_Value,cTablename,vValue;
int i,j=0;
cTablename = "booktest1";
try
{
m_Excel=CreateOleObject("Excel.Application"); //启动Excel
}

catch(...)
{
ShowMessage("无法启动Excel");
}
//使Excel启动后可见
m_Excel.OlePropertySet("Visible",true);
m_Workbooks = m_Excel.OlePropertyGet("Workbooks");
m_Workbooks.OleProcedure("Add");
m_Sheet = m_Excel.OlePropertyGet("ActiveSheet");
m_Sheet.OlePropertySet("Name",cTablename);
//add table fields name to excel 1 line
//m_Sheet.OleProcedure("Add");

m_Sheet.OlePropertyGet("Cells").OlePropertyGet("Item",6,1).OlePropertySet("Value","phone");
//数据库中的记录到excel


while(!ADODataSet4->Eof)

{
j++;
vValue = ADODataSet4->FieldValues["phone"];
//错误出在这里,要求 variant类型但是我怎么都转换不了,我用variant做强类型转换但不行

m_Sheet.OlePropertyGet("Cells").OlePropertyGet("Item",j+6,1).OlePropertySet("Value",vValue);

frmViewBilling->ADODataSet4->Next();

}
m_Sheet.OleFunction("SaveAs","d:\\booktest1.xls");
m_Excel.OleFunction("Quit");



希望高手可以给我解答这个问题。
...全文
155 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
eqxu 2003-09-13
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1451/1451206.xml?temp=.6058618

http://expert.csdn.net/Expert/topic/1486/1486745.xml?temp=.8388941

http://expert.csdn.net/Expert/topic/1899/1899863.xml?temp=.8982508

602

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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