用vb.net 导出word

前端之家收集整理的这篇文章主要介绍了用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 @H_301_37@ 
 

第三步:详细代码

声明:

    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@H_301_37@ 
      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@H_301_37@ 
 

第四步:打印结果



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

总结:

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

猜你在找的VB相关文章