编程应用中经常要报表。
本文摘自vs2015、netframework4.61、vb.net源代码,代码本身均不依赖于word环境。
方法一:使用DocX
我需要生成这样的表,下图是mb_MC.docx:

''''安装并引用包,.Net FrameWork 4.0 ,Docx.dll
''install-package docx -version 1.3.0
Imports Xceed.Words.NET
Sub do_Docx()
Dim dx As DocX = DocX.Load("mb_MC.docx")
Dim t = dx.Tables(0)
Dim r0 = t.Rows(1)'备份第二行,含格式
Dim nr =8, nc =6
Dim ir, ic As Integer
For ir = 0 To nr
Dim r1 As Row = t.InsertRow(r0, ir + 2) '相当于复制第二行,后面均对新行处理
For ic = 0 To nc - 1 '填文本
Dim tx ="字段值" '数据来源DataTable的行,...
Dim p0 = r1.Cells(ic).Paragraphs(0).Append(tx) '如果格内有其它内容,可以改为替换
'p0的格式设置...
Next
Dim p = r1.Cells(nc).Paragraphs(0) '最后列添加图片
Dim f1 = "you关联图片.jpg"
If File.Exists(f1) Then
Dim img As Image = dx.AddImage(f1)
Dim pic = p.AppendPicture(img.CreatePicture(44, 33)) '填图片,设置高、宽
Else
p.Append("没照片")
End If
Next
t.RemoveRow(