JavaでExcelをWordに変換する方法

Microsoft Excelは大量のデータを保存するために、Microsoft Wordはドキュメントを作成するために広く使用されています。あなたは、書式付きテキスト、画像、およびWordドキュメントの他の要素を挿入するために、WordドキュメントにExcelのワークブックの情報を追加する必要があるかもしれません。この記事では、[Free Spire.Office for Java](https://jp.e-iceblue.com/introduce/free-spire-office-for-java.html)を使用して、Javaアプリケーションで**ExcelファイルをWord形式に変換する方法**について説明します。

- **[ExcelをPDFに変換し、PDFをWordに変換する](#excelをpdfに変換しpdfをwordに変換する)**
- **[ExcelをHTMLに変換し、HTMLをWordに変換する](#excelをhtmlに変換しhtmlをwordに変換する)**

## 【依存関係の追加】

> **この方法は、無料のFree Spire.Office for Javaが必要ですので、先にjarファイルをインポートしてください。**

### 1. Maven

Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。

```XML
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.office.free</artifactId>
        <version>5.3.1</version>
    </dependency>
</dependencies>
```

### 2. 公式サイトよりJarファイルをダウンロード

まず、[Free Spire.Office for Java](https://jp.e-iceblue.com/download/free-spire-doc-for-java.html) の公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Office.jarファイルを依存関係としてプロジェクトにインポートしてください。

## ExcelをPDFに変換し、PDFをWordに変換する

Free Spire.Office for Javaを使用すると、Excelワークブック全体をPDFに変換し、そのPDFをWordドキュメントとして保存することができます。この方法では、ExcelからWordへの変換に必要なコードは数行だけです。

> **詳細な手順は以下の通りです。**

- **Workbook**クラスのオブジェクトを作成し、**Workbook.loadFromFile()** メソッドを使用してExcelドキュメントを読み込みます。
- **Workbook.getConverterSetting()** メソッドによって返される**ConverterSetting**クラスの下のメソッドを使用してExcelからPDFへの変換のオプションを設定します。
- **Workbook.saveToFile()** メソッドを使用して、ExcelワークブックをPDFに変換します。
- **PdfDocument**クラスのインスタンスを作成し、**PdfDocument.loadFromFile()** メソッドを使用して、生成されたPDFファイルを読み込みます。
- **PdfDocument.saveToFile()** メソッドを使用して、WordドキュメントとしてPDFファイルを保存します。

**Java**

```Java
import com.spire.pdf.PdfDocument;
import com.spire.xls.*;

public class convertExcelToWord {

    public static void main(String[] args) throws Exception {

        //Workbookクラスのインスタンスを作成し、Excelファイルを読み込む
        Workbook workbook = new Workbook();
        workbook.loadFromFile("C:/図書館の書籍の貸出シート.xlsx");

        //ExcelからPDFへの変換のオプションを設定する
        workbook.getConverterSetting().setSheetFitToPage(true);

        //ExcelファイルをPDF形式で保存する
        workbook.saveToFile("ExcelからPDFへの変換.pdf", com.spire.xls.FileFormat.PDF);

        //PdfDocumentクラスのインスタンスを作成し、生成されたPDFファイルを読み込む
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("ExcelからPDFへの変換.pdf");

        //PDFファイルをWordドキュメントとして保存する
        pdf.saveToFile("ExcelからWordへの変換.docx", com.spire.pdf.FileFormat.DOCX);

    }
}
```

### 【結果のWordドキュメント】

![ExcelをPDFに変換し、PDFをWordに変換する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/f2efcf5a-5190-0725-4de3-640389a284aa.png)

## ExcelをHTMLに変換し、HTMLをWordに変換する

また、Free Spire.Office for Javaを使用して、特定のExcelワークシートをHTMLに変換し、そのHTMLをWordドキュメントとして保存することができます。

> **詳細な手順は以下の通りです。**

- **Workbook**クラスのインスタンスを作成し、**Workbook.loadFromFile()** メソッドを使用して、Excelファイルを読み込みます。
- **Workbook.getWorksheets().get()** メソッドを使用して、特定のワークシートを取得します。
- ExcelからHTMLに変換する際のオプションを設定します。
- **Worksheet.saveToHtml()** メソッドを使用して、ワークシートをHTMLに保存します。
- **Document**クラスのインスタンスを作成し、**Document.loadFromFile()** メソッドを使用して出力HTMLファイルを読み込みます。
- **Document.saveToFile()** メソッドを使用して、HTMLをWordドキュメントに保存します。

**Java**

```Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.XHTMLValidationType;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class convertExcelToWord1 {

    public static void main(String[] args) throws Exception {

        //Workbookクラスのインスタンスを作成し、Excelファイルを読み込む
        Workbook workbook = new Workbook();
        workbook.loadFromFile("C:/図書館の書籍の貸出シート.xlsx");

        //最初のワークシートを取得する
        Worksheet worksheet = workbook.getWorksheets().get(0);

        //ExcelからHTMLへの変換のオプションを設定する
        worksheet.getAllocatedRange().autoFitColumns();
        worksheet.getAllocatedRange().autoFitRows();

        //ExcelのワークシートをHTMLに保存する
        worksheet.saveToHtml("ワークシートからHTMLへの変換.html");

        //Documentクラスのインスタンスを作成し、出力されたHTMLファイルを読み込む
        Document document = new Document();
        document.loadFromFile("ワークシートからHTMLへの変換.html", FileFormat.Html, XHTMLValidationType.None);

        //HTMLをWordドキュメントに保存する
        document.saveToFile("ExcelからWordへの変換.docx",FileFormat.Docx_2013);
    }
}
```

### 【結果のWordドキュメント】

![ExcelをHTMLに変換し、HTMLをWordに変換する](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/e67a1f16-d227-fa72-ce27-138d74bf3ec2.png)

> **この記事は、Free Spire.Office for Javaを使用して、ExcelファイルをWordドキュメントに変換する方法の詳細な手順を示しています。もし、Free Spire.Office for Javaで何ができるのか、もっと詳しく知りたい場合は、[Spire Forum](https://www.e-iceblue.com/forum/)にアクセスしてください。**