对了还有一个问题,同样的代码和类似的模板,导出时,焦点在哪一行只导出哪一行是什么原因?
这是导出的代码:
ElseIf ts = "盘点表统计" Then
If FileSys.FileExists(ProjectPath & "模板\盘点表.xls") = False Then
Messagebox.Show("盘点表Excel模板不存在或已经被删除,导出失败!","错误提示",MessageBoxButtons.OK, MessageBoxIcon.Warning)
Return
End If
Dim fl As String = ProjectPath & "excel\盘点表.xls"
If FileIsOpened(fl)= True Then
MessageBox.Show("""盘点表.xls""文件正在打开中,请先关闭再执行导出操作!")
Return
End If
e.Form.Controls("打印预览").Enabled = True
e.Form.Controls("直接打印").Enabled = True
Dim Book As New XLS.Book(ProjectPath & "模板\盘点表.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
With Sheet.PrintSetting
.PaperKind = 9
.MarginLeft = 15
.MarginRight = 5
.MarginTop = 5
.MarginBottom = 5
.LandScape = True
End With
Dim lbl As WinForm.DateTimePicker
lbl = e.Form.Controls("DateTimePicker3")
Sheet(0,1).Value = lbl.value & "红酒盘点表"
Sheet(2,0).Value = "<报表统计_Table1>"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
e.Form.Controls("打印预览").Enabled = True
e.Form.Controls("直接打印").Enabled = True
If MessageBox.Show("导出完成,是否打开盘点表?", "完成提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = 1 Then
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()
End If
生成报表的代码:
e.Form.Controls("打印预览").Enabled = False
e.Form.Controls("直接打印").Enabled = False
Dim lbl3,lbl4 As WinForm.DateTimePicker
lbl3 = e.Form.Controls("DateTimePicker3")
lbl4 = e.Form.Controls("DateTimePicker4")
Dim g As New GroupTableBuilder("出库日报", DataTables("商品库存明细"))
g.Groups.AddDef("货品编号", "商品型号")
g.Groups.AddDef("货品名称", "商品名")
g.Groups.AddDef("货格", "库位")
g.Groups.AddDef("批次")
g.Groups.AddDef("实时库存","系统数量")
g.Build()
e.Form.Controls("提示").text = "盘点表统计"
Tables("报表统计_Table1").DataSource = g.BuildDataSource()