以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]用EXCEL报表,按排序生成独立的EXCLE文件  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=27531)

--  作者:SZDVYE
--  发布时间:2013/1/4 1:33:00
--  [求助]用EXCEL报表,按排序生成独立的EXCLE文件

狐爸:

我用EXCEL报表,根据附件模板生成出客户的账单,但是客户有100个,导出EXCLE表格账单后,还要将表格按客户再次制成100个EXCLE表,重新更改文件名,以便发个客户,实在太累人了,用狐表不就是为了能更好提高工作效率嘛。

请问,能否按客户,直接生成100个EXCLE文件,文件名为“客户名称”+"年"+"月份"+"账单".XLS或者.PDF,而不用单独去制作。请指点。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:结算单-2013年模板.xls

[此贴子已经被作者于2013-1-4 1:33:47编辑过]

--  作者:易服
--  发布时间:2013/1/4 8:16:00
--  

供参考:

http://www.foxtable.com/help/index.html?n=0656.htm

 

Dim flg As New SaveExcelFlags
flg.CellStyle = True
Tables("成绩排名").SaveExcel( "D:\\My Documents\\学生成绩\\" & e.Form.Controls("ComboBox2").value & "班" & e.Form.Controls("ComboBox1").value & "期" & "成绩排名.xls" ,"成绩排名",flg)

[此贴子已经被作者于2013-1-4 8:25:29编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/1/4 12:28:00
--  
用代码,一次全部生成:
 
dim nms As List(of String) = DataTables("xxx").GetUniqueValues("","客户")
For Each nm As String in nms
     Dim Book As New XLS.Book(ProjectPath & "Attachments\\报表模版.xls")
     Dim fl As String = ProjectPath & "Reports\\“ & nm & ”.xls"
     Book.Build() \'生成细节区
     Book.Save(fl) \'保存工作簿
Next

--  作者:SZDVYE
--  发布时间:2013/1/5 0:01:00
--  
 

狐爸:

用了你的代码,是按客户生成的若干个报表,但是每个报表都是列出了所有客户的汇总(模板见1结算单-2013模板.xls 生成报表见附件盛发.xls“),请继续指点。

另外,我想存储在公司内部局域网上的一个路径,路径名为:\\\\B12\\本地磁盘 (e)\\当月客户报表,报表生产后储存在该路径的文件夹内,代码该如何改?

 

同时也谢谢二楼指教,虽然多一条思路,但是我参透不了你的方法,遗憾啊,我一点编程也不懂,有其他样式可以参考吗?

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:盛发.xls


--  作者:lin_hailun
--  发布时间:2013/1/5 9:43:00
--  
 楼主可看看这一章,动态设置打印条件。

 http://www.foxtable.com/help/topics/2626.htm
--  作者:SZDVYE
--  发布时间:2013/1/5 14:19:00
--  
 

我不懂编程,复杂的程序也没有精力也学不来的,还是向你们要求提供帮助,就不要调我胃口了。

我改了后,还是报错了,请指教。

 

dim nms As List(of String) = DataTables("结算表").GetUniqueValues("","客户")
For Each nm As String in nms
     Dim Book As New XLS.Book(ProjectPath & "Attachments\\结算单-2013模板")
     Dim fl As String = ProjectPath & "Reports\\“ & nm & ”.xls"

Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(8,36).Value = "< nms >"
     Book.Build() \'生成细节区
     Book.Save(fl) \'保存工作簿

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

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130105141310.jpg
图片点击可在新窗口打开查看

--  作者:lin_hailun
--  发布时间:2013/1/5 14:31:00
--  
 看看这样行不行。不行的话,把你的数据表上传上来测试。

Dim nms As List(of String) = DataTables("结算表").GetUniqueValues("","客户")

For Each nm As String In nms
    Dim Book As New XLS.Book(ProjectPath & "Attachments\\结算单-2013模板.xls")
    Dim fl As String = ProjectPath & "Reports\\" & nm & ".xls"
   
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Sheet(8, 9).Value = "<客户 = \'" & nm & "\'>"
    Book.Build() \'生成细节区
    Book.Save(fl) \'保存工作簿
Next
[此贴子已经被作者于2013-1-5 14:31:26编辑过]

--  作者:SZDVYE
--  发布时间:2013/1/5 23:41:00
--  

谢谢您,问题已经解决了。