以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教如何将复选框选中的数据行输出word报表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92583)

--  作者:521lp
--  发布时间:2016/11/7 17:53:00
--  请教如何将复选框选中的数据行输出word报表

请教老师如何将表中通过复选框选中的数据行生成word报表,报表分别以表的两列列值合在一起命名。


--  作者:有点蓝
--  发布时间:2016/11/7 18:00:00
--  
参考:http://www.foxtable.com/webhelp/scr/2890.htm
--  作者:521lp
--  发布时间:2016/11/8 10:26:00
--  
以下是引用有点蓝在2016/11/7 18:00:00的发言:
参考:http://www.foxtable.com/webhelp/scr/2890.htm

老师,我找的是下面代码这种效果的,也就是生成单独的文件。有个问题还想请教一下,这样的生成的word文件是以一列列值命名的,如何以两列列值命名,另外,我想生成的文件按照某个字段进行分类,如a列为人员住址,里面有某某区(如东城区、朝阳区等等),word文件按照东城区一个文件夹、朝阳区一个文件夹进行生成。

请问如何实现呢?

 

Dim tm As String  = ProjectPath & "Attachments\\人员简历表.doc" \'指定模板文件
Dim Sum As Integer


With Tables("员工资料")
    If .TopPosition > -1 Then \'如果选定区域包括数据行
        For i As Integer = .TopPosition To .BottomPosition
            Dim r As Row = .Rows(i)
            Dim fileName As String = ProjectPath & "Reports\\"& r("姓名") &".doc" \'指定目标文件
            Dim wrt As New WordReport(Tables("员工资料"),tm,fileName) \'定义一个WordReport
            wrt.BuildOne(r)
            wrt.quit
            Sum = Sum + 1

        Next
    End If
End With


msgbox("本次共导出"& sum &"份个人信息到:"& ProjectPath &"Reports\\")


--  作者:有点蓝
--  发布时间:2016/11/8 10:44:00
--  
如:

Dim fileName As String = ProjectPath & "Reports\\" & r("部门") & "\\" & r("部门") & r("姓名") & ".doc" \'指定目标文件


--  作者:521lp
--  发布时间:2016/11/8 10:54:00
--  
以下是引用有点蓝在2016/11/8 10:44:00的发言:
如:

Dim fileName As String = ProjectPath & "Reports\\" & r("部门") & "\\" & r("部门") & r("姓名") & ".doc" \'指定目标文件

谢谢老师

按照指定字段进行分类生成如何解决呢。

如数据库里有两个表

 

表a为

 

a列

东城区

西城区

朝阳区

...

 

 

表b为

 

a列       b列              c列

张三      001             东城区某路

李四      002             西城区某路

王五      003             朝阳区某路

...

 

我想批量生成多个文件夹,其中文件夹以东城区、西城区、朝阳区命名,里面的word文件分别为所属行的数据,比如东城区文件夹内为张三行生成的数据报表。


--  作者:有点蓝
--  发布时间:2016/11/8 11:04:00
--  
把前面一个部门改为区域数据:

Dim fileName As String = ProjectPath & "Reports\\" & r("C").Split("")(0) & "& "\\" & r("部门") & r("姓名") & ".doc" \'指定目标文件

最好是专门有一列存储区域,不然从地址里拆分区域字符就麻烦点

--  作者:521lp
--  发布时间:2016/11/8 11:39:00
--  

蓝老师,“把前面一个部门改为区域数据”这句话什么意思,是把b表加一列用于说明所属区域么,比如d列,就写东城区之类。

但实际工作中,如果人工再去填写区域会有些麻烦,所以最好还是自动根据地址里包含的区域去分类。

蓝老师,Split("")(0) & "这段代码能给具体解释一下吗,如果这列的数据为“北京市东城区**街**小区”这样,是否可以自动提取“东城区”作为生成报告的文件夹名呢?同时如果还有其他人员地址为东城区,在自动生成的时候是否也自动汇总到东城区这个文件夹下面了呢?


--  作者:有点蓝
--  发布时间:2016/11/8 11:59:00
--  
Dim s As String="北京市东城区**街**小区"
Dim p As String = "([省市区县乡镇村街])"
Dim r As New System.Text.RegularExpressions.Regex(p)
Dim str = r.Split(s)
For Each a As String In str
    Output.Show(a)
Next

Dim fileName As String = ProjectPath & "Reports\\" & str(2) & str(3) & "\\"  & r("姓名") & ".doc" \'指定目标文件

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=85241

--  作者:521lp
--  发布时间:2016/11/8 12:47:00
--  

Dim s As String="北京市东城区**街**小区"

蓝老师,"北京市东城区**街**小区"这个值只能固定么


--  作者:有点蓝
--  发布时间:2016/11/8 14:05:00
--  
这只是个例子,既然是变量,当然可以是任意值

Dim s As String= dr("c列")