Excel 报表预览
我有一个程序,以前都能正确运行,预览,突然不可以预览了,不知原因。代码如下,高手检查!
Private Sub ToexcelJlhz1(oj As Integer, dt As DataTable, istar As Integer, iend As Integer, Optional p2 As Double = 0)
Dim xlsapp As New Excel.Application
Dim xlsbook As Excel.Workbook
Dim xlssheet As Excel.Worksheet
'Dim xlssheet2 As Excel.Worksheet
xlsapp.Visible = True
xlsbook = xlsapp.Workbooks.Open(afilename)
xlssheet = xlsbook.Sheets(1)
'Dgv1.DataSource = atab2
' MsgBox(gch)
xlssheet.Cells(4, 3) = gch
xlssheet.Cells(4, 8) = bh
xlssheet.Cells(5, 3) = atab2.Rows(0).Item("shgdw").ToString
xlssheet.Cells(5, 8) = atab2.Rows(0).Item("jldw").ToString
xlssheet.Cells(6, 3) = ""
xlssheet.Cells(6, 8) = Dtp1.Text.ToString
Dim ii As Integer = 8
Dim jj As Integer
Dim ss As Double = 0
For jj = istar To iend
xlssheet.Cells(ii, 2) = dt.Rows(jj).Item("xmbm").ToString
xlssheet.Cells(ii, 3) = dt.Rows(jj).Item("xmmch").ToString
xlssheet.Cells(ii, 4) = dt.Rows(jj).Item("jldbh").ToString
xlssheet.Cells(ii, 5) = dt.Rows(jj).Item("jldw").ToString
xlssheet.Cells(ii, 7) = dt.Rows(jj).Item("ljsl").ToString
xlssheet.Cells(ii, 9) = dt.Rows(jj).Item("zhdj").ToString
xlssheet.Cells(ii, 10) = dt.Rows(jj).Item("ljjine").ToString
ii += 1
ss = ss + CType(dt.Rows(jj).Item("ljjine"), Double)
' MsgBox(ss.ToString)
xlssheet.Cells(26, 10) = ss.ToString
xlssheet.Cells(27, 10) = (ss + p2).ToString
p1 = ss
Next
‘以下代码均不能运行,不知道为什么,把预览放到循环前面就能运行。
'MsgBox(p1)
xlsapp.Caption = "欢迎使用文件打印系统!"
xlssheet.PrintPreview()
'xlssheet.PrintOut()
xlsbook.Save()
xlsapp.Quit()
end sub