• 控制台程序读取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

  • 相关阅读:
    设计模式之Flyweight模式(笔记)
    【leetcode】Valid Sudoku
    POJ2369 Permutations【置换群】
    Linux下无需输入password自己主动登陆sshserver方法
    HDU 1847 Good Luck in CET-4 Everybody!(找规律版巴什博奕)
    HDU 4786Fibonacci Tree(最小生成树)
    次小生成树
    洛谷P4180 [Beijing2010组队]次小生成树Tree
    MatrixTree速成
    SP104 HIGH
  • 原文地址:https://www.cnblogs.com/xiehaofeng/p/6914409.html
Copyright © 2020-2023  润新知