DataWindow生成Excel问题?
请问各位, 在数据窗口生成Excel的时候, 我总是只有打开相应的Excel文件后,才能向里面写入数据,用什么方法, 不用打开Excel文件,也同样能写入数据。急!!!! 问题点数:60、回复次数:8Top
1 楼balloonman2002()回复于 2006-03-04 17:37:23 得分 0
不行,但你可以用DDE或者OLE把EXCEL隐藏方式打开,就是看不到EXCEL界面,但实际还是打开了EXCEL;Top
2 楼sdhylj(青锋-SS)(献血有益健康(别人的))回复于 2006-03-05 09:04:36 得分 0
楼主意思是不是不想打开已有的文件,而是直接创建一个新文件然后保存?Top
3 楼lzheng2001(1加1)回复于 2006-03-06 15:29:39 得分 0
用oledb连接excel文件,然后用sql语句往excel上插入数据.
如果用ole对象的话,一定要先打开文件的,但你可以不显示出来.Top
4 楼hws528()回复于 2006-03-06 22:18:29 得分 0
OleObject lole_OLE, lole_Sheet
lole_OLE = create OleObject
ls_fullpath = is_path + ls_filename
//删除存在的相同文件,以防止用户打开操作
if fileexists(ls_fullpath) then
if filedelete(ls_fullpath) = false then
messagebox('Alert','Please close the excel file:'+ ls_filename )
return
end if
end if
dw_1.setredraw(false)
if lole_OLE.ConnectToNewObject( 'excel.application' ) <> 0 then
lole_OLE.DisconnectObject()
messagebox("Alert!","System has no excel application !")
return
end if
//新增excel并格式化
lole_OLE.Workbooks.Add
lole_sheet = lole_OLE.Application.ActiveWorkbook.WorkSheets[2]
lole_sheet.cells.font.name = "Times New Roman"
lole_sheet.cells.font.size = 12
lole_sheet.columns('A').columnwidth = 3.25
lole_sheet.columns('D').NumberFormat = '#,###,##0'
lole_Sheet.Cells[ 1 , 1].font.size = 14
lole_Sheet.Cells[ 1 , 1].font.bold = true
lole_Sheet.Cells[ 1 , 1] = ls_title //'DANH SÁCH BỘ PHẬN TẠM ỨNG LƯƠNG THÁNG '
lole_Sheet.Cells[ ll_pos , ll_j + 3 ].Formula = ls_formula
lole_Sheet.range('A3:D'+string(ll_pos)).Borders.linestyle = 1
lole_Sheet.range('B3:B'+string(ll_pos)).HorizontalAlignment = 2
//设置excel可见
//lole_OLE.Application.Visible = TRUE
lole_OLE.displayalerts = false
//lole_OLE.quit()
lole_OLE.application.ActiveWorkbook.saveas(ls_fullpath)
lole_OLE.Application.ActiveWorkbook.close(true)
lole_Sheet.DisconnectObject()
lole_OLE.DisconnectObject()
Top
5 楼hangzhou6274(拉面贵了,馒头小了,领导知道吗?)回复于 2006-03-07 01:44:25 得分 0
楼主的意思应该是以直接写文件的形式生成EXCEL文件,有点难度哦。Top
6 楼zhuluzy(逐鹿)回复于 2006-03-09 10:05:10 得分 0
用saveas() 就可以了,下面是用的数据存储,实际上就是一个数据窗口
string kk //execl名字
kk='aaaa'+'.xls'
datastore cs_ddd
cs_ddd = create datastore
cs_ddd.settransobject(sqlca)
cs_ddd.retrieve()
cs_ddd.saveas(kk,Excel!,true)
destroy cs_ddd
Top
7 楼nkwesley(江南丝竹)回复于 2006-03-30 09:11:27 得分 0
// ... Init docname
// ... GetFileOpenName or any other method
if dw_1.SaveAs(docname, HTMLTable!, True) = -1 then
MessageBox("Warning", "Unable to export data. Error writing to file!", Exclamation!)
return
end if
// Convert HTML file to Excel native format
OLEObject excel
excel = CREATE OLEObject
if excel.ConnectToObject(docname) = 0 then
excel.application.DisplayAlerts = FALSE
excel.application.workbooks(1).Parent.Windows(excel.application.workbooks(1).Name).Visible = True
excel.application.workbooks(1).saveas(docname, 39)
excel.application.workbooks(1).close()
end if
DESTROY excel
// done
Top
8 楼hxy75(小潜)回复于 2006-03-30 10:09:13 得分 0
saveas存出来的excel文件根本就不能看,建议用黄国酬版的dw2xlsTop




