Dim i,j,k,m,n,filename
Dim xlapp
Dim HFGrid
Dim ors
'如果Microsoft Hierarchical FlexGrid Control 控件行数大于1,说明查询是有结果的,不是一个空的记录
If ScreenItems("HFGrid").rows>1 Then
ScreenItems("progress").value =0 '这个是把进度条初始值定义为零
ScreenItems("progress").visible = True '这个是把进度条可见
Set xlapp=CreateObject("Excel.Application") '定义一个excel文件控件
xlapp.visible=False '希望后台完成,所以不可见
xlapp.workbooks.add '刚开始这是一个空的excel对象,没有工作簿book,自然也没有数据表sheet
'把Microsoft Hierarchical FlexGrid Control 控件查询结果的字段标题行填入excel文件,因为excel文件前两行排版需要填写其他信息,因此从第三行开始
For k=1 To ScreenItems("HFgrid").cols-1
xlapp.worksheets(1).cells(3,k)=ScreenItems("HFGrid").TextMatrix(0,k)
Next
'excel文件第一行写标题
xlapp.worksheets(1).cells(1,1)="XX装置生产工艺参数报表"
'以下把查询结果实际的数值逐行逐列复制到excel文件
m=ScreenItems("HFGrid").rows
For i=1 To m-1
For j= 1 To ScreenItems("HFGrid").cols-1
xlapp.worksheets(1).cells(i+3,j)=ScreenItems("HFGrid").TextMatrix(i,j)
Next
ScreenItems("progress").value =i*100/m '每复制完一行数据,进度条增加乡音百分比
'ScreenItems("HFGrid").recordset.movenext
Next
'以下代码处理日期时间数据格式以及表格边框线、标题合并单元格等排版
xlapp.worksheets(1).range("a1:m1").mergecells=True
xlapp.worksheets(1).range("a4:a" & CStr(2+ScreenItems("HFGrid").rows)).NumberFormat="yyyy/mm/dd hh:mm:ss"
xlapp.worksheets(1).range("a1").ColumnWidth =20
xlapp.worksheets(1).cells(2,1)="生成时间:"
xlapp.worksheets(1).cells(2,2)=Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日"
xlapp.worksheets(1).cells(1,1).HorizontalAlignment = 3
xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(1).linestyle=9
xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(1).weight=2
xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(2).linestyle=9
xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(2).weight=2
xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(3).linestyle=9
xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(3).weight=2
xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(4).linestyle=9
xlapp.worksheets(1).range("a3:m" & CStr(2+ScreenItems("HFGrid").rows)).borders(4).weight=2
'***
filename= "c:\" & Year(Now) & "年" & Month(Now) & "月" & Day(Now) & "日-" & Hour(Now) & "点" & Minute(Now) & "分" & Second(Now) & "秒生成生产报表.xlsx"
xlapp.Activeworkbook.saveas (filename)
xlapp.workbooks.close
xlapp.quit
ScreenItems("progress").Visible =False
Msgbox "成功导出到C:\"
End If