zoukankan      html  css  js  c++  java
  • 控制台程序读取WIKI形式的TXT文件并一表格的形式显示在Word中

     1 'Imports System.Collections.Generic
     2 'Imports System.Text
     3 'Imports System.IO
     4 'Imports office = Microsoft.Office.Core
     5 'Imports word = Microsoft.Office.Interop.Word
     6 Module Module1
     7 
     8     Sub Main(ByVal args As String()) '这里的参数args是字符串数组,传递的是inDebug中的文本文件,可以传递多个文件
     9         Dim theApplication As New Microsoft.Office.Interop.Word.Application  '添加引用COM的“Microsoft Word 12.0 Object Library”
    10         theApplication.Visible = True
    11         Dim theDocument As Microsoft.Office.Interop.Word.Document
    12         theDocument = theApplication.Documents.Add()
    13         Dim reader As System.IO.TextReader          '添加引用COM的“Microsoft Visual Basic for Applications Extensibility 5.3”
    14         reader = New System.IO.StreamReader("woshi.txt")  '原语句是reader = New System.IO.StreamReader(args(0))
    15         'C:UsersuserDocumentsVisual Studio 2008ProjectsConsoleApplication1ConsoleApplication1inDebugwoshi.txt
    16 
    17         Dim separators(1) As String
    18         separators(0) = "||"
    19         Dim rowCount As Integer = 0
    20         Dim columnCount As Integer = 0
    21 
    22         Dim rowList As New System.Collections.Generic.List(Of String)
    23         Dim row As String = reader.ReadLine()
    24 
    25         While row IsNot Nothing
    26             rowCount += 1
    27             rowList.Add(row)
    28 
    29             If rowCount = 1 Then
    30                 Dim splitHeaderRow As String() = row.Split(separators, StringSplitOptions.None)
    31 
    32                 columnCount = splitHeaderRow.Length - 2
    33             End If
    34 
    35             row = reader.ReadLine()
    36         End While
    37 
    38         Dim range As Microsoft.Office.Interop.Word.Range = theDocument.Range()
    39         Dim table As Microsoft.Office.Interop.Word.Table = range.Tables.Add(range, rowCount, columnCount)
    40 
    41         Dim columnindex As Integer = 1
    42         Dim rowindex As Integer = 1
    43 
    44         For Each r As String In rowList
    45             Dim splitrow As String() = r.Split(separators, StringSplitOptions.None)
    46 
    47             For columnindex = 1 To columnCount
    48                 Dim cell As Microsoft.Office.Interop.Word.Cell = table.Cell(rowindex, columnindex)
    49                 cell.Range.Text = splitrow(columnindex)
    50             Next
    51             rowindex += 1
    52         Next
    53 
    54         table.Rows(1).Range.Bold = 1
    55         table.AutoFitBehavior(Microsoft.Office.Interop.Word.WdAutoFitBehavior.wdAutoFitContent)
    56 
    57         System.Console.WriteLine("Table complete.")
    58         System.Console.ReadLine()
    59 
    60         theApplication.Quit(False)
    61 
    62     End Sub
    63 
    64 End Module

  • 相关阅读:
    401. Binary Watch
    46. Permutations
    61. Rotate List
    142. Linked List Cycle II
    86. Partition List
    234. Palindrome Linked List
    19. Remove Nth Node From End of List
    141. Linked List Cycle
    524. Longest Word in Dictionary through Deleting
    android ListView详解
  • 原文地址:https://www.cnblogs.com/xiehaofeng/p/6914409.html
Copyright © 2011-2022 走看看