以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]根据表第一列值不同选择不同excle报表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140306)

--  作者:miaoqingqing
--  发布时间:2019/9/3 10:12:00
--  [求助]根据表第一列值不同选择不同excle报表
 根据表A的 国家列,里面值输出对应的 旅游指南excle报表

如果 国家列 值 = 中国,输出中国旅游指南,中国excle模板报表
如果 国家列 值 = 美国,输出中国旅游指南,美国excle模板报表
如果 国家列 值 不是具体国家,输出:通用旅游指南excle模板报表

Dim Book As New XLS.Book(ProjectPath & "Attachments\\旅游指南.xls")
Dim fl As String = "D:\\旅游指南.xls" \'指定目标文件

book.MergeFree = True \'自由合并
Book.Build() \'生成报表
Book.Save(fl)

Dim Proc As New Process
Proc.File = fl
Proc.Start()
--  作者:有点蓝
--  发布时间:2019/9/3 10:24:00
--  
比如:

Dim Book As New XLS.Book(ProjectPath & "Attachments\\旅游指南.xls")
Dim fl As String = "D:\\" & tables("表A").current("国家") & "旅游指南.xls" \'指定目标文件

--  作者:miaoqingqing
--  发布时间:2019/9/3 12:32:00
--  回复:(有点蓝)比如:Dim Book As New XLS.Book(Pro...
  如果没有 当前国家旅游指南,选择 通用旅游指南excle表模板,代码怎么写呢?

--  作者:有点蓝
--  发布时间:2019/9/3 13:50:00
--  
if tables("表A").current.isnull("国家") then
Dim fl As String = "D:\\通用旅游指南.xls" \'指定目标文件
else
Dim fl As String = "D:\\" & tables("表A").current("国家") & "旅游指南.xls" \'指定目标文件
end if

--  作者:miaoqingqing
--  发布时间:2019/9/3 14:56:00
--  

辛苦蓝蓝,帮忙看看。

我还是搞不定

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


--  作者:miaoqingqing
--  发布时间:2019/9/3 14:57:00
--  回复:(有点蓝)if tables("表A").current.isnu...

辛苦蓝蓝,帮忙看看。

我还是搞不定

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


--  作者:有点蓝
--  发布时间:2019/9/3 15:12:00
--  
Dim fl As String
Dim fl2 As String
If Tables("表A").current.isnull("国家") = False Then
    fl = "D:\\通用旅游指南.xls" \'指定目标文件
    fl2 = ProjectPath & "Attachments\\通用旅游指南.xls"
Else
    fl = "D:\\" & Tables("表A").current("国家") & "旅游指南.xls" \'指定目标文件
    fl2 = ProjectPath & "Attachments\\" & Tables("表A").current("国家") & "旅游指南.xls"
End If
Dim Book As New XLS.Book(fl2)
book.MergeFree = True \'自由合并
Book.Build() \'生成报表
Book.Save(fl)

Dim Proc As New Process
Proc.File = fl
Proc.Start()

--  作者:miaoqingqing
--  发布时间:2019/9/3 18:04:00
--  回复:(有点蓝)Dim fl As StringDim fl2 As StringI...
 坛主,上楼代码,不管在那一行,输出的都是  通用旅游指南excle模板



Dim fl As String
Dim fl2 As String
If Tables("表A").current.isnull("国家") = False Then
    fl = "D:\\" & Tables("表A").current("国家") & "旅游指南.xls" \'指定目标文件
    fl2 = ProjectPath & "Attachments\\" & Tables("表A").current("国家") & "旅游指南.xls"


Else
    fl = "D:\\通用旅游指南.xls" \'指定目标文件
    fl2 = ProjectPath & "Attachments\\通用旅游指南.xls"
End If
Dim Book As New XLS.Book(fl2)
book.MergeFree = True \'自由合并
Book.Build() \'生成报表
Book.Save(fl)

Dim Proc As New Process
Proc.File = fl
Proc.Start()

如果上楼代码修改成上面,当没有该国家旅游指南时报错(见下面),求助上面代码怎么修改不报错,实现导出 通用旅游指南excle模板

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.8.29.1
错误所在事件:窗口,窗口1,Button2,Click
详细错误信息:
打开存储文件失败。
[此贴子已经被作者于2019/9/3 18:04:16编辑过]

--  作者:有点蓝
--  发布时间:2019/9/3 20:09:00
--  
If Tables("表A").current.isnull("国家") = False Then
改为
If Tables("表A").current.isnull("国家") Then

--  作者:miaoqingqing
--  发布时间:2019/9/4 9:13:00
--  回复:(有点蓝)If Tables("表A").current.isnull("国...
 上楼替换后,国家列当前行值为空时不报错,但是如果有值,但是没有 该国旅游指南excle 时报错
怎样修改,当没有 该国旅游指南excle模板是,导出 通用旅游指南excle模板呢? 求助