C# 读取txt文件生成Word文档

Posted Tobemia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 读取txt文件生成Word文档相关的知识,希望对你有一定的参考价值。

本文将以C#程序代码为例介绍如何来读取txt文件中的内容,生成Word文档。在编辑代码前,可参考如下代码环境进行配置:

dll文件安装(3种方法)

1.通过NuGet安装(2种方法)

    1.1 可以在Viusal Stuido中打开“解决方案资源管理器”。鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

     1.2 将以下内容复制到PM控制台安装。

Install-Package FreeSpire.Doc -Version 9.9.7

2.手动添加dll引用

可通过手动下载包,然后解压,找到BIN文件夹下的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

读取txt生成Word

  • 通过StreamReader(Stream stream, Encoding encoding)构造方法读取指定路径下的txt文件。
  • 通过Free Spire.Doc 提供的Paragraph.AppendText(string text)方法将读取到的txt内容添加到Word段落。
  • 最后,通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存为Word,并指定保存路径。

C#

using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using System.IO;
using System.Text;

namespace CreateWordDocument_Doc
{
class Program
{
static void Main(string[] args)
{
//实例化Document类的对象,并添加section和paragraph
Document doc = new Document();
Section section = doc.AddSection();
Paragraph paragraph = section.AddParagraph();

//读取txt文件
StreamReader sr = new StreamReader("test.txt", Encoding.Default);

string line;
while ((line = sr.ReadLine()) != null)
{
paragraph.AppendText(line);//在段落中写入txt

//设置段落样式,并应用到段落
ParagraphStyle style1 = new ParagraphStyle(doc);
style1.Name = "titleStyle";
style1.CharacterFormat.Bold = true;
style1.CharacterFormat.TextColor = Color.Purple;
style1.CharacterFormat.FontName = "宋体";
style1.CharacterFormat.FontSize = 12;
doc.Styles.Add(style1);
paragraph.ApplyStyle("titleStyle");
}

//保存为docx格式的Word
doc.SaveToFile("addTxttoWord.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("addTxttoWord.docx");

}
}
}

vb.net

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports System.Drawing
Imports System.IO
Imports System.Text

Namespace CreateWordDocument_Doc
Class Program
Private Shared Sub Main(args As String())
实例化Document类的对象,并添加section和paragraph
Dim doc As New Document()
Dim section As Section = doc.AddSection()
Dim paragraph As Paragraph = section.AddParagraph()

读取txt文件
Dim sr As New StreamReader("test.txt", Encoding.[Default])

Dim line As String
While (InlineAssignHelper(line, sr.ReadLine())) IsNot Nothing
paragraph.AppendText(line)
在段落中写入txt
设置段落样式,并应用到段落
Dim style1 As New ParagraphStyle(doc)
style1.Name = "titleStyle"
style1.CharacterFormat.Bold = True
style1.CharacterFormat.TextColor = Color.Purple
style1.CharacterFormat.FontName = "宋体"
style1.CharacterFormat.FontSize = 12
doc.Styles.Add(style1)
paragraph.ApplyStyle("titleStyle")
End While

保存为docx格式的Word
doc.SaveToFile("addTxttoWord.docx", FileFormat.Docx2013)
System.Diagnostics.Process.Start("addTxttoWord.docx")

End Sub
Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, value As T) As T
target = value
Return value
End Function
End Class
End Namespace


效果图:

C#


注意事项

代码中的txt文件和生成的Word文档路径为F:\\VS2017Project\\CreateWordDocument_Doc\\CreateWordDocument_Doc\\bin\\Debug下,文件路径也可以自定义。


—End—


以上是关于C# 读取txt文件生成Word文档的主要内容,如果未能解决你的问题,请参考以下文章

多文档读写

java读取多个txt文件内容,并按照文件名称排序

Unity 之 实现读取代码写进Word文档功能实现 -- 软著脚本生成工具

C#中XML文档的读取编写方法?

c#读取word文档为何要引用com

如何将WORD文件转换为带有不同标题的.txt文件?