以文本方式查看主题

-  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=99030)

--  作者:沦落深蓝
--  发布时间:2017/4/11 12:50:00
--  关于WORD报表
1、对于人员信息表,在制作了模板后发现只能输出选定行的员工信息(word模板刚好为一页),如何做到一次性输出全部员工的信息在一个word文档中?

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog 
dlg.Filter= "Word文件|*.doc|Word文件|*.docx" \'设置筛选器
dlg.InitialDirectory = ProjectPath & "Reports\\3人员管理\\人员信息管理\\"
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    MessageBox.Show("你要保存为:" & dlg.FileName,"提示") \'提示用户选择的文件
Else Return
End If

Dim tm As String  = ProjectPath & "Attachments\\人员信息管理.doc" \'指定模板文件
Dim fl As String = dlg.FileName
Dim wrt As New WordReport(Tables("人员信息管理"),tm,fl) \'定义一个WordReport
wrt.Build() \'逐行生成报表
wrt.Show() \'显示报表

2、我发现在引用有多行信息(备注列)的某单元格内容时(利用表属性采用  & vbcrlf &   代码换行设置了默认文本内容),在word报表上并不是以换行形式出现的,而是几个空格,这就造成了数据排列比较乱,需要重新排版,这个是什么原因,如何解决(例子如下所示)
表格中
AAAA
AAAA
AAAA

word中
AAAA  AA
AA  AAAA
AAAA




--  作者:有点蓝
--  发布时间:2017/4/11 14:12:00
--  
1、选定多行后打印


2、在列标记后面加上1或2个回车

--  作者:沦落深蓝
--  发布时间:2017/4/15 20:37:00
--  
老师,第一个已经解决了,但是第二个问题还是没怎么弄懂,列标记是哪里,回车是怎么加呢,我设置了窗口利用文本框输入,文本框里是正常换行,但是变成word输出就变成一行了,换行变成了几个空格
--  作者:有点蓝
--  发布时间:2017/4/16 9:00:00
--  
例如


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看


--  作者:沦落深蓝
--  发布时间:2017/4/17 21:13:00
--  
老师,我段落格式是首行缩进2字符的,这样加入回车后的确是换行了,但是换行后不是缩进2字符,而是一个空格,有办法对齐吗,没办法,用word就是穷讲究,最好傻瓜一样不用重新排版图片点击可在新窗口打开查看
--  作者:有点色
--  发布时间:2017/4/17 21:17:00
--  

 做个实例发上来吧。要把回车符替换成4个空格。


--  作者:沦落深蓝
--  发布时间:2017/5/2 19:19:00
--  
老师之前在忙其他模块~~~现在把实例发上来~~~

附上模板:


然后是程序,里面有一个窗口:

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





[此贴子已经被作者于2017/5/2 19:20:38编辑过]

--  作者:沦落深蓝
--  发布时间:2017/5/2 19:25:00
--  
。。word怎么上传不了~~~压缩了也失败~~我再试试
--  作者:沦落深蓝
--  发布时间:2017/5/2 19:30:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:word测试.zip


--  作者:有点蓝
--  发布时间:2017/5/2 20:57:00
--  
Dim tm As String  = ProjectPath & "Attachments\\测试.doc" \'指定模板文件
Dim fl As String = dlg.FileName  \'指定目标文件
Dim wrt As New WordReport(Tables("表A"),tm,fl) \'定义一个WordReport
\'wrt.Build() \'逐行生成报表
For Each r As Row In Tables("表A").rows \'逐行生成报表
    wrt.ReplaceOne("[备注]",r("备注").replace(chr(10),"    "))
    wrt.BuildOne(r)
Next
wrt.Show() \'显示报表