以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- excel或word输出多个文件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96139) |
-- 作者:txtxtttt1919 -- 发布时间:2017/2/14 9:17:00 -- excel或word输出多个文件 在excel或word输出功能中,不管选定多少行的数据,输出的电子档都是在一个文件中,有没有办法输出几个文件,每个文件包含一行或几行数据,这样就可以将电子版分别传给不同的人了。 |
-- 作者:有点色 -- 发布时间:2017/2/14 9:20:00 -- 用代码来生成,写成循环即可
http://www.foxtable.com/webhelp/scr/1145.htm
http://www.foxtable.com/webhelp/scr/2890.htm
|
-- 作者:txtxtttt1919 -- 发布时间:2017/2/15 20:27:00 -- For i As Integer = 1 To Tables("部门预算").BottomPosition Dim Book As New XLS.Book(ProjectPath & "Attachments\\投资部门预算下达.xls") Dim fl As String = ProjectPath & "Reports\\投资部门预算下达.xls" Book.Build() Book.Save(fl) Dim Proc As New Process Proc.File = fl Proc.Start() Book.Save("D:\\test.xls") proc.Close() CurrentTable.position = CurrentTable.position + 1 Next 我想用循环的方法逐个生成报表,但有两个问题:1、若同时生成,excel不能打开同名模板文件。 2、若生成一个,另存一个,关闭后再打开第二个的话,找不到怎么把生成的文件另存在其他文件夹里。
|
-- 作者:有点色 -- 发布时间:2017/2/16 2:17:00 -- dim t as table = Tables("部门预算") For i As Integer = t.TopPosition To t.BottomPosition Dim Book As New XLS.Book(ProjectPath & "Attachments\\投资部门预算下达.xls") Dim fl As String = ProjectPath & "Reports\\投资部门预算下达" & t.rows(i)("_Identify") & ".xls" Book.Build() Book.Save(fl) Dim Proc As New Process Proc.File = fl Proc.Start() Next |
-- 作者:txtxtttt1919 -- 发布时间:2017/2/16 12:49:00 -- 参照老师的代码,我将代码改成了: Dim t As Table = Tables("部门预算") For i As Integer = t.Topposition To t.bottomposition Dim Book As New XLS.Book(ProjectPath & "Attachments\\投资部门预算下达.xls") Dim fl As String = ProjectPath & "Reports\\投资部门预算下达" & t.Current("单位名称") & ".xls" Book.Build() Book.Save(fl) Dim Proc As New Process Proc.File = fl Proc.Start() CurrentTable.position = CurrentTable.position + 1 Next 还有一个小问题,循环次数是根据选定区域的行数来确定的,因此运行前我需要将准备生成excel文件的数据行都选定,造成了生成的第一个文件是根据所有选定行生成的,而不是选定行中的第一行数据生成。这个怎么解决?
|
-- 作者:有点色 -- 发布时间:2017/2/16 12:52:00 -- For i As Integer = t.Topposition To t.bottomposition
改成
For i As Integer = 0 To t.Rows.Count - 1 |