马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?站点注册
×
/**********************************************************/ /* 函数名称:uf_dwsaveas_excel 功能 :将数据窗口数据导出EXCEL文件,并将EXCEL文件默认英文标题替换成中文。 参数 :datawindow datawin,为用户要导出数据窗口的数据窗口控件名 返回值:integer 1,success;-1,error 流程描述:先用saveasAscii()倒出为excel文件,再替换表头为中文名 设计人:yanhui 2003年11月 修改人:叶文林 2004.4.8 原因:为提高程序的可读性作了少量的修改(如:增加注释、改变排版风格等)*/ /**********************************************************/ /***************以下程序将导出为EXCEL文档******************/ integer li_rtn,ii,li_asc string ls_name,ls_pathname boolean lb_exist if datawin.RowCount()<1 then MessageBox("提示信息","请先检索数据再导出至Excel!") return -1 //error 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 li_rtn=datawin.SaveAsAscii(ls_pathname) if li_rtn=1 then // MessageBox("提示信息","导出数据成功!") else MessageBox("错误信息","导出数据失败!") return -1 //error end if else return -1 //error end if else return -1 end if /**********以下程序将导出的EXCEL英文标题替换为汉字*********/ long numcols , numrows , c, r OLEObject xlapp , xlsub int ret numcols = long(datawin.Object.DataWindow.Column.Count) numrows = datawin.RowCount() // 产生oleobject的实例 xlApp = Create OLEObject //连接ole对象 ret = xlApp.ConnectToNewObject( "Excel.Sheet" ) if ret < 0 then MessageBox("连接失败!","连接到EXCEL失败,请确认您的系统是否已经安装EXCEL!~r~n"& +"错误代码:"+string(ret)) return -1 end if // 打开EXCEL文件 xlApp.Application.Workbooks.Open(ls_pathname) ////使文件可见 //xlApp.Application.Visible = true // 得到活动工作表的引用,改善程序性能 xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1] string ls_colname,ls_text,ls_modistr,ls_col //取字段名更改为对应的文本text值 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 |