Foxtable(狐表)用户栏目专家坐堂 → 多sheet报表


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

主题:多sheet报表

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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/8/7 17:41:00 [显示全部帖子]

可以实现,看看开发篇

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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/8/8 16:12:00 [显示全部帖子]

可以用一个按钮实现一次性对BOOK的多个SHEET生成表.有一个注意事项,模板中的sheet个数决定了后来可以容纳数据表的个数.

Dim dt As Table = Tables("订单")
Dim Book As New XLS.Book(ProjectPath & "Attatchments\订单.xls") '定义一个Excel工作簿,BOOK是空模板
Book.Save("c:\test1.xls") 
Dim Book1 As New XLS.Book("c:\test1.xls")   'Book1即test1.xls是即将生成数据的临时Excel文件
Dim Sheet1 As XLS.Sheet = Book1.Sheets(0) '引用工作簿的第一个工作表
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet1(r +1, c).Value = dt.rows(r)(c)
    Next
Next

Dim Sheet2 As XLS.Sheet = Book1.Sheets(1) '引用工作簿的第二个工作表
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    For c As Integer = 0 To dt.Cols.Count -1
        Sheet2(r +1, c).Value = dt.rows(r)(c)
    Next
Next
'打开工作簿
Book1.Save("c:\test1.xls")
Dim Proc As New Process
Proc.File = "c:\test1.xls"
Proc.Start()



 回到顶部