用vb.net 导出word

      上回借机房收费系统讲到了用vb.net导出Excel,这次在做项目的过程中,我们不仅学会了将数据打印到VS自带的报表中,还了解了如何用vb.net操作word,将窗体中的内容反映到word中。所以今天要向大家分享一下如何用VB.net
导出word,生成word报表。

第一步,添加引用:

                        

        这次做项目用的是vs2012,所以添加的引用是microsoft word 15.0 object library。不同的vs版本可能添加的引用不一样。

第二步:引用声明

Imports Microsoft.Office.Interop 

第三步:详细代码:

声明:

    Dim oword As Word.Application
    Dim odoc As Word.Document
    Dim otable As Word.Table
    Dim opara1 As Word.Paragraph
    Dim opara2 As Word.Paragraph
    Dim opara3 As Word.Paragraph

Paragraph 对象代表所选内容、范围或文档中的一个段落。Paragraph 对象是 Paragraphs 集合的一个成员。Paragraphs 集合包含所选内容、范围或文档中的所有段落。

在这里我为了完成我的表,用来三个paragraph对象,如上:opara1,opara2,opara3.

编辑表内信息

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        oword = CreateObject("Word.application")
        oword.Visible = True
        odoc = oword.Documents.Add
        odoc.PageSetup.Orientation = Word.WdOrientation.wdOrientLandscape    '横向显示,试用于横向打印

        opara1 = odoc.Content.Paragraphs.Add
        opara1.Range.Text = "人才资源状况调查统计表"
        opara1.Range.Font.Bold = True
        opara1.Format.SpaceAfter = 25    '在段落之后24 Pt 空格
        opara1.Range.Font.Size = 18     '字号为18
        opara1.Format.SpaceBefore = 2      '段间距为2

        opara1.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter   '居中显示
        opara1.Range.InsertParagraphAfter()    '段后显示

        otable = odoc.Tables.Add(odoc.Bookmarks.Item("\endofdoc").Range, 7, 3)  '表格为7行3列
        otable.Range.ParagraphFormat.SpaceAfter = 6

        otable.Cell(1, 1).Range.Text = "填报单位:"
        otable.Cell(2, 1).Range.Text = "负责人:"
        otable.Cell(3, 1).Range.Text = "填表人:"
        otable.Cell(4, 1).Range.Text = "报出时间:"
        otable.Cell(5, 1).Range.Text = "联系电话:"

        otable.Cell(1, 2).Range.Text = TextBox1.Text.ToString
        otable.Cell(1, 2).Range.Underline = Word.WdUnderline.wdUnderlineWords     '添加下划线

        otable.Cell(2, 2).Range.Text = TextBox2.Text.ToString
        otable.Cell(2, 2).Range.Underline = Word.WdUnderline.wdUnderlineWords

        otable.Cell(3, 2).Range.Text = TextBox3.Text.ToString
        otable.Cell(3, 2).Range.Underline = Word.WdUnderline.wdUnderlineWords

        otable.Cell(4, 2).Range.Text = Now.Year & "年" & Now.Month & "月" & Now.Day & "日"
        otable.Cell(4, 2).Range.Underline = Word.WdUnderline.wdUnderlineWords

        otable.Cell(5, 2).Range.Text = TextBox4.Text
        otable.Cell(5, 2).Range.Underline = Word.WdUnderline.wdUnderlineWords

        otable.Cell(6, 2).Range.Text = "部门组织部"
        otable.Cell(7, 2).Width = 250
        otable.Cell(7, 2).Range.Text = "人力资源管理企业"

        otable.Cell(1, 3).Range.Text = "(盖章)"
        otable.Cell(2, 3).Range.Text = "(签字)"
        otable.Cell(3, 3).Range.Text = "(签字)"
        otable.Cell(6, 3).Range.Text = "(制)"
        otable.Cell(7, 3).Range.Text = Now.Year & "年" & Now.Month & "月"

    End Sub

 第四步:打印结果

                       

用vb.net实现了居中显示、下划线、年月日显示,word横向显示的设置,感觉只要我们想的到,就没有实现不了的。

总结:

       这次尝试用vb.net操作word,感觉自己查询信息的能力越来越强了,就像师傅说的,检索条件越详细,结果也越精简,会过滤到很多有用的信息,所以,如果不是很有针对性的查询的话,关键字还是越少越好。

时间: 2024-10-31 09:15:37

用vb.net 导出word的相关文章

iText导出word入门

最近一个项目需要导出word文档,网上了解了一下,发现poi导出excel比较好,但是导出word就力不从心了,大家都比较推荐iText,于是试了试,感觉还不错. 我用的是2.1.7版本. 1. 使用maven导入依赖 <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> <

C#第三方Aspose.Words.dll导出Word(书签模板)方式说明

项目有遇到需要导出Word,在别人写好的基础上去修改样式,导出后发现样式不正确不整齐,于是采用模板的方式重新导出 1.模板word文件的制作,本人用office2013,在设计好需要的整个表格之后,在你需要替换的位置"插入"--书签 并命名,此命名需要在程序中进行替换 将做好的模板word文件放在程序目录下 2.引用Aspose.Words.dll 3.新建类WordOpAp.cs 1 public class WordOpAp 2 { 3 4 static public object

freemarker导出word——让表格数据行数 列数自动变化

行数.列数变化只需定义一个List<List<T>> freemarker遍历的话,只需要使用freemarker的标记性语言<#list report.qc_third_agentTable as  table2_tr>遍历即可,如图 实现的效果 freemarker导出word--让表格数据行数 列数自动变化,布布扣,bubuko.com

java导出word文档

使用freemarker模板导出word文档,用的比较多.这里也是采用的这种方式. 1  编辑一个word文件的模板,用于在程序中需要读入填充在模板中的数据先用字母代替,注意word版本为word2003或高于这个版本: 如:test.doc 2 把模板另存为xml文件: 如:test.xml 3 在xml中查找之前用字母代替的值 加上${} ,如${test}  ${guojia},把文件名改为test.ftl; 4 在项目的WebContent目录下新建一个文件夹,把test.xml放进去:

Java用freemarker导出word

最近一个项目要导出word文档,折腾老半天,发现还是用freemarker的模板来搞比较方便省事,现总结一下关键步骤,供大家参考,这里是一个简单的试卷生成例子. 一.模板的制作 先用Word做一个模板,如下图: (注意,上面是有表格的,我设置了边框不可见)然后另存为XML文件,之后用工具打开这个xml文件,有人用firstobject XML Editor感觉还不如notepad++,我这里用notepad++,主要是有高亮显示,和元素自动配对,效果如下: 上面黑色的地方基本是我们之后要替换的地

Npoi导出Word

Npoi导出Word 参考网上大神们笔记,完成Word导出. //创建文档 XWPFDocument doc = new XWPFDocument(); //标题 XWPFParagraph p1 = doc.CreateParagraph(); XWPFRun r1 = p1.CreateRun(); r1.SetBold(true); r1.FontSize = 23; r1.SetText("先进个人基本信息"); r1.SetTextPosition(30); CT_P doc

.net core 导出word文档

Npoi导出word(Peanuts) 标签: C#npoi导出word合并列列样式 2015-10-05 22:16 2896人阅读 评论(0) 收藏 举报  分类: C#(13)  版权声明:本文为博主原创文章,未经博主允许不得转载. 一个项目,要做一个从数据库读取数据,然后导出到word,因为涉及到后台数据库的读取,决定用npoi来导出word. NPOI源码地址:http://npoi.codeplex.com/ NPOI 2.0 api文档: http://www.npoi.info/

Java使用velocity导出word

效果展示: 使用word编辑好模板 先在模板中填充部分数据(之所以先写好两条数据,是为了在保存为xml用文本编辑器打开后快速定位到需要出传入的数据.增加不同颜色的两条数据,是为了判断颜色),然后保存文件为 然后再用普通的文本编辑器打开 以上是模板的创建. 导出后的word文档展示 开发过程记录: 1,  首先创建工程,导入 2,  创建模板文件,将修改好的xml文件用普通文本工作打开,然后复制到改文件中. 3,  新建 4,  执行该类,即可导出word. 代码展示: Person.java i

NPOI 2.0导出word(docx格式)

大名鼎鼎的NPOI用来导出EXCEL的文章园子里面有很多,可是用来导出WORD文档的文章大都含糊不清,最近刚好完成一个导出WORD文档的需求,在此分享下. NPOI里面认为word文档的最基本的结构是段落,代表这个段落的类就是XWPFParagraph,使用这个类可以设置段落里面的字体.大小.以及是否加粗等. 代表整个文档的的类XWPFDocument,是最外层的容器相当于一个word文档的实例,代表表格的类XWPFTable,是较小级别的段落容器相当于一个表格的实例. 一个XWPFDocume