Java 讀取txt檔案生成Word文件

iceblue發表於2021-12-03

本文將以Java程式程式碼為例介紹如何讀取txt檔案中的內容,生成Word文件。在編輯程式碼前,可參考如下程式碼環境進行配置:

  • IntelliJ IDEA
  • Free Spire.Doc for Java
  • Txt文件

匯入Jar包

兩種方法可在Java程式中匯入jar檔案

1. Maven倉庫下載匯入。

在pom.xml中配置如下:

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.doc.free</artifactId>

        <version>3.9.0</version>

    </dependency>

</dependencies>

 

2. 手動匯入。

需先下載jar包到本地,解壓,找到lib路徑下的jar檔案。然後在Java程式中開啟“Project Structure”視窗,然後執行如下步驟匯入:

 

找到本地路徑下的jar檔案,新增到列表,然後匯入:

 

讀取txt生成Word

程式碼大致步驟如下:

  1.  例項化Document類的物件。然後通過Document.addSection()方法和Section.addParagraph()方法新增節和段落。
  2.  讀取txt檔案:建立InputStreamReader類的物件,構造方法中傳遞輸入流和指定的編碼表名稱。通過BufferedReader類,建立字元流緩衝區。將讀取的txt內容通過Paragraph.appendText()方法新增到段落。
  3. 呼叫Document.saveToFile(string fileName, FileFormat fileFormat)方法儲存為Word文件。
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ParagraphStyle;

import java.awt.*;
import java.io.*;

public class ReadTextAndCreateWord {
    public static void main(String[] args) throws IOException {
        //例項化Document類的物件,並新增section和paragraph
        Document doc = new Document();
        Section section = doc.addSection();
        Paragraph paragraph = section.addParagraph();

        //讀取txt檔案
        String encoding = "GBK";
        File file = new File("test.txt");
        if (file.isFile() && file.exists()) {
            InputStreamReader isr = new InputStreamReader(new FileInputStream(file), encoding);
            BufferedReader bufferedReader = new BufferedReader(isr);
            String lineTXT;
            while ((lineTXT = bufferedReader.readLine()) != null) {
                    paragraph.appendText(lineTXT);//在段落中寫入txt內容
            }
            isr.close();
        }
        //設定段落樣式,並應用到段落
        ParagraphStyle style = new ParagraphStyle(doc);
        style.setName("newstyle");
        style.getCharacterFormat().setBold(true);
        style.getCharacterFormat().setTextColor(Color.BLUE);
        style.getCharacterFormat().setFontName("幼圓");
        style.getCharacterFormat().setFontSize(12);
        doc.getStyles().add(style);
        paragraph.applyStyle("newstyle");
        paragraph.getFormat().setMirrorIndents(true);

        //儲存為docx格式的Word
        doc.saveToFile("addTxttoWord.docx", FileFormat.Docx_2013);
        doc.dispose();
    }
}

Word建立結果:

 

注意事項

程式碼中的txt檔案和word儲存路徑為IDEA程式專案資料夾路,如:F:\IDEAProject\CreateWord_Doc\addTxttoWord.docx ,檔案路徑可定義為其他路徑。

 

—End—

相關文章