hur.cn - 华软网

 热门搜索

导出的EXCEL打开时出现对话框

  作者:未知    来源:网络    更新时间:2018/12/6
对话框内容以下:
"aaa.xls"已经打开.重新执行打开操作会造成前面所做的更改被摒弃.是否重新打开"aaa.xls".

只有选择"否"才能没有问题,否则将没法打开.

我的函数这样写的:

integer li_rtn,ii,li_asc
string ls_name,ls_pathname
boolean lb_exist
if datawin.RowCount()<1 then
 MessageBox("提醒信息","请先检索数据再导出至Excel!")
 return -1 
end if
li_rtn=GetFileSaveName("保存资料",ls_pathname,ls_name,"xls","Excel资料(*.xls),*.xls")

if li_rtn=1 then
 lb_exist = FileExists(ls_pathname)
 IF lb_exist THEN 
  li_rtn = MessageBox("保存", ls_pathname+"已经存留,是否笼罩?",Exclamation!, YesNo!)
 end if
 if li_rtn=1 then

  li_rtn=datawin.SaveAsAscii(ls_pathname)
  if li_rtn=1 then

  else
   MessageBox("毛病信息","导出数据失利!")
   return -1 //error
  end if
 else
  return -1 //error
 end if
else
 return -1
end if 

long numcols , numrows , c, r
OLEObject xlapp , xlsub
int ret
numcols = long(datawin.Object.DataWindow.Column.Count)
numrows = datawin.RowCount()


xlApp = Create OLEObject


ret = xlApp.ConnectToNewObject( "Excel.Sheet" )
if ret < 0  then
 MessageBox("连接失利!","连接到EXCEL失利,请确认您的系统是否已经装置EXCEL!~r~n"&
 +"毛病代码:"+string(ret))
    return -1
end if

xlApp.Application.Workbooks.Open(ls_pathname) 
xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]
string ls_colname,ls_text,ls_modistr,ls_col

FOR c=1 to numcols
 ls_col="#"+string(c)+".name"
 ls_colname=datawin.describe(ls_col)
 ls_modistr=ls_colname+"_t.text"
 ls_text=datawin.describe(ls_modistr)
 xlsub.cells[1,c]=ls_text
NEXT

xlApp.DisConnectObject()
Destroy xlapp
MessageBox("提醒信息","导出数据成功!") 
return 1 //success




请高手指教,谢谢

------华软网友回答------
你导出到EXCEL时,关闭所有已经打开的EXCEL资料,试一试!
------华软网友回复------
http://ming168.51.net/pb/dw2xls.rar
------华软网友回复------
程序里没有关闭该excel资料
用OLE的close方法先关闭该资料      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。