1 回答

TA貢獻1712條經驗 獲得超3個贊
語法本身沒有錯誤,可能還是運行環(huán)境的原因。很多網上下載的office,導入導出的時候就是會出現問題??梢赃x擇使用其他的導出方式,比如用uo或者自定義輸出函數!f_saveasexcel(dw_1,ls_err) 。函數代碼:
integer li_rtn,ii,li_asc
string ls_name,ls_pathname
boolean lb_exist
long numcols,c,r
int ret
string ls_colname,ls_text,ls_modistr,ls_col
string ls_s,ls_temp[]
long ll_bupper,ll_blower,ll_j
OLEObject lx_excel
if datawin.RowCount() < 1 then
err = "請先檢索數據再導出至Excel!"
return false//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
err = "導出數據失敗!"
return false//error
end if
else
err = "請選擇要導出的路徑!"
return false//error
end if
else
err = "已取消輸出!"
return false
end if
//通過ole直接操作excel
lx_excel = CREATE OLEObject
//連接excel
IF lx_excel.ConnectToNewObject("excel.application") <> 0 THEN
err = "OLE連接Excel錯誤!"
return false
END IF
//打開導出Excel文件
lx_excel.workbooks.open(ls_pathname)
//設置表格框
lx_excel.Worksheets(1).UsedRange.Borders.LineStyle = 1
//首行粗體
lx_excel.Worksheets(1).rows(1).Font.Bold = True
//首行單元格水平居中
lx_excel.Worksheets(1).rows(1).HorizontalAlignment = -4108
//首行單元格垂直居中
lx_excel.Worksheets(1).rows(1).VerticalAlignment = -4108
//調整Excel行高,列寬
lx_excel.Worksheets(1).Cells.EntireColumn.AutoFit
lx_excel.Worksheets(1).Cells.EntireRow.AutoFit
//所有列設置成文件格式顯示 12-07
lx_excel.Worksheets(1).Range("A1:W8992").NumberFormatLocal = "@"
//不進行提示
lx_excel.DisplayAlerts = false
//保存表格
lx_excel.ActiveWorkbook.saveas(ls_pathname,-4143)
//關閉打開的Excel
lx_excel.ActiveWorkbook.close
//退出
lx_excel.quit
err = "導出數據成功!"
return true//success
- 1 回答
- 0 關注
- 153 瀏覽
添加回答
舉報