Foxtable(狐表)用户栏目专家坐堂 → excel报表数据引用


  共有403人关注过本帖树形打印复制链接

主题:excel报表数据引用

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/19 20:44:00 [显示全部帖子]

cmd.Comma ndText = "SE LECT 报检号 领用日期及编号 印刷流水号,'' as 船名,getdate() as 日期,'' as 使用人  From {列表项目} Wh ere 指定领用日期及编号='" & e.form.Controls("TextBox1").Value & "'"
dt = cmd.ExecuteReader() '生成一个临时表dt
MessageBox.Show("3")
For Each dr1 As DataRow In dt.DataRows '在已经生成的临时表中循环

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/19 23:07:00 [显示全部帖子]

Dim Book As New XLS.Book(ProjectPath & "Attachments\证书记录打印模版.xlsx")
Dim fl As String = ProjectPath & "Attachments\证书记录.xlsx"
book.AddDataTable("模板里使用的表名"dt)
Book.Build() '生成细节区
Book.Sheets(0).Rows.RemoveAt(0) '删除第一行,Excel报表的第一行通常是标记行
Book.Save(fl) '保存工作簿


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/20 8:48:00 [显示全部帖子]

Dim cmd As New SQLCommand
cmd.ConnectionName = "chuanbojianguan"
Dim dt As DataTable

cmd.CommandText = "SELECT 报检号,领用日期及编号,印刷流水号,'' as 船名,getdate() as 日期,'' as 使用人  From {列表项目} Where 领用日期及编号='2025011701'"
dt = cmd.ExecuteReader() '生成一个临时表dt
dt.ReplaceFor("日期", system.DBNull.Value)
For Each dr1 As DataRow In dt.DataRows '在已经生成的临时表中循环
'     MessageBox.Show(dr1("报检号"))
    If dr1("报检号").SubString(6, 1) = "A" Then '如果是入境  
   
        Dim dr2 As DataRow = DataTables("检疫资料").sqlFind("[入境签证编号] = '" & dr1("报检号") & "'")
        If dr2 IsNot Nothing Then 
            dr1("船名") = dr2("中文船名")
            dr1("日期") = dr2("入境签证日期及时间")
            dr1("使用人") = dr2("入境检疫医师")
        End If
    ElseIf dr1("报检号").SubString(6, 1) = "C" Then '如果是出境  
    
        Dim dr3 As DataRow = DataTables("检疫资料").sqlFind("[入境签证编号] = '" & dr1("报检号") & "'")
        If dr3 IsNot Nothing Then 
            dr1("船名") = dr3("中文船名")
            dr1("日期") = dr3("入境签证日期及时间")
            dr1("使用人") = dr3("入境检疫医师")
        End If
    End If 
Next

Dim Book As New XLS.Book(ProjectPath & "证书记录打印模版.xlsx")
Dim fl As String = ProjectPath & "证书记录.xlsx"
book.AddDataTable("dt", dt)
Book.Build() '生成细节区
Book.Sheets(0).Rows.RemoveAt(0) '删除第一行,Excel报表的第一行通常是标记行
Book.Save(fl) '保存工作簿

Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()
[此贴子已经被作者于2025/1/20 8:48:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112355 积分:572031 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/1/20 9:56:00 [显示全部帖子]

dt.ReplaceFor("日期", system.DBNull.Value)  清空日期值,错误和这句没有什么关系,自己比较看看还改了哪里
book.AddDataTable("dt", dt) 肯定可以用:http://www.foxtable.com/webhelp/topics/3233.htm

 回到顶部