做了一个Excel报表,在用系统的报表菜单,能够生成,在另外一个系统中调用(同样的数据库),无法生成,缺少关联表吗?提示表名必需唯一。
Dim tmp_matable As String
If Relations.Contains("订单与明细") Then
MessageBox.Show("Have") '调试
Else
MessageBox.Show("No")
Relations.Add("订单与明细",DataTables("订单").DataCols("询价ID"),DataTables("询价明细").DataCols("询价ID"),,"None")
End If
tmp_matable = MainTable.Name
MainTable=Tables("订单与明细")
Dim Book As New XLS.Book
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
Book = New XLS.Book(dlg.FileName) '提示用户选择的文件
Else
_PrintXlsNamed ="报价单.xls"
Book = New XLS.Book(ProjectPath & "Attachments\"& _PrintXlsNamed &"")
End If
'
Dim ddds As String = "报价表" & Now.ToString("yyMMddHHmmss") & ".xls"
Dim fl As String = ProjectPath & "Reports\"& ddds &""
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(2,2).Value = "制单人:" & "客户名称" '修改模板,加入制单人信息
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook =App.WorkBooks.Open(fl)
app.visible = True
Relations.Delete("订单与明细")
MainTable=Tables(tmp_matable)
运行,首先提示 “Have”,接着提示不存在 “订单与明细”的Table! ,弹出选择模板文件,出现【未找到列[ALL]】,
|
|
|
|
|
|
|
|
<End> |
<订单> |
[客户名称] |
老师 收 |
|
|
|
|
|
|
|
报 价 表 |
|
|
致: |
[客户单位] |
|
|
|
|
|
|
|
|
根据贵公司报价的要求,我公司的制作报价如下,请审定。 |
|
|
|
<HeaderRow> |
序号 |
产品名称 |
型号 |
单位 |
数量 |
单价 |
合计 |
|
<询价明细> |
[采购ID] |
[物品名称] |
[规格型号] |
[单位] |
[数量] |
[报价] |
[数量]*[报价] |
<ALL> |
<订单> |
|
|
|
合计: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
山东乾宏科贸有限公司 |
|
|
|
|
|
2017-03-16 |
|
<End> |
|
|
|
|
|
|
|
|