1.引入元件

     Imports System.IO
     Imports word = Microsoft.Office.Interop.Word
     Imports System.Text

2.代码

Public Function DocProcess(ByVal strCnoCode As String, ByVal strCnoCount As String) As Boolean
            Dim boolFlag As Boolean = False
            Dim dt As New DataTable
            dt = GetCnoItem(strCnoCode.Trim)   '从数据库获得一个DataTable
            Try
                Dim strFileName As String = CreateFile(strCnoCode.Trim) '取得文件名
                '以下为定义相关变量
                Dim objmissing As Object = System.Reflection.Missing.Value
                Dim wordApp As New word.Application
                Dim wordDoc As New word.Document
                Dim oTable As word.Table
                wordApp.Documents.Add(objmissing, objmissing, objmissing, objmissing)
                wordDoc = wordApp.ActiveDocument
                '-------------------设置Word为横式(如果不知道怎么写录制Word宏)----------------------------
                With wordDoc.PageSetup
                    .LineNumbering.Active = False
                    .Orientation = word.WdOrientation.wdOrientLandscape
                    .TopMargin = wordApp.CentimetersToPoints(3.17)
                    .BottomMargin = wordApp.CentimetersToPoints(3.17)
                    .LeftMargin = wordApp.CentimetersToPoints(2.54)
                    .RightMargin = wordApp.CentimetersToPoints(2.54)
                    .Gutter = wordApp.CentimetersToPoints(0)
                    .HeaderDistance = wordApp.CentimetersToPoints(1.5)
                    .FooterDistance = wordApp.CentimetersToPoints(1.75)
                    .PageWidth = wordApp.CentimetersToPoints(29.7)
                    .PageHeight = wordApp.CentimetersToPoints(21)
                    .FirstPageTray = word.WdPaperTray.wdPrinterDefaultBin
                    .OtherPagesTray = word.WdPaperTray.wdPrinterDefaultBin
                    .SectionStart = word.WdSectionStart.wdSectionNewPage
                    .OddAndEvenPagesHeaderFooter = False
                    .DifferentFirstPageHeaderFooter = False
                    .VerticalAlignment = word.WdVerticalAlignment.wdAlignVerticalTop
                    .SuppressEndnotes = False
                    .MirrorMargins = False
                    .TwoPagesOnOne = False
                    .BookFoldPrinting = False
                    .BookFoldRevPrinting = False
                    .BookFoldPrintingSheets = 1
                    .GutterPos = word.WdGutterStyle.wdGutterPosLeft
                    .LayoutMode = word.WdLayoutMode.wdLayoutModeLineGrid
                End With
               '--------------------------------------------------------------------
                '绘制一个表格写入到Word
                oTable = wordDoc.Tables.Add(wordDoc.Range(objmissing, objmissing), dt.Rows.Count + 1, 5, objmissing, objmissing)
                oTable.Cell(1, 1).Range.InsertAfter("第一列") '写入列名
                oTable.Cell(1, 2).Range.InsertAfter("第二列")
                oTable.Cell(1, 3).Range.InsertAfter("第三列")
                oTable.Cell(1, 4).Range.InsertAfter("第四列")
                oTable.Cell(1, 5).Range.InsertAfter("第五列")
               '循环DataTable将数据加入到绘制的表格
                For i As Integer = 0 To dt.Rows.Count - 1
                    oTable.Cell(i + 2, 1).Range.InsertAfter(dt.Rows(i)(0).ToString.Trim)
                    oTable.Cell(i + 2, 2).Range.InsertAfter(dt.Rows(i)(1).ToString.Trim)
                    oTable.Cell(i + 2, 3).Range.InsertAfter(dt.Rows(i)(4).ToString.Trim)
                    oTable.Cell(i + 2, 4).Range.InsertAfter(dt.Rows(i)(5).ToString.Trim)
                    oTable.Cell(i + 2, 5).Range.InsertAfter(dt.Rows(i)(6).ToString.Trim)
                Next
               '设置表格边框样式
                oTable.Borders.InsideLineStyle = word.WdLineStyle.wdLineStyleSingle
                oTable.Borders.OutsideLineStyle = word.WdLineStyle.wdLineStyleSingle
                wordApp.Visible = False
                '保存Word
                wordApp.ActiveDocument.SaveAs(strFileName, objmissing, objmissing, objmissing, objmissing, objmissing)
               '关闭该文档的写入
                wordApp.ActiveDocument.Close()
                '退出Word进程
                wordApp.Quit()
                boolFlag = True
            Catch ex As Exception
                WriteLog(strCnoCode + "写入错误")
            End Try
            Return boolFlag
        End Function