PYTHONのためのIRONXLの使用

PythonでExcelデータからWordドキュメントを生成する方法

公開済み 2024年12月15日
共有:

イントロダクション

を使用してExcelスプレッドシートからWordテンプレートを生成します。Python.NET、Java、Python、Node.jなどの開発ツールの特徴や利点を説明しながら、技術的な正確さを維持する必要があります。 自動化、カスタマイズ、データ整合性を活用することで、プロフェッショナルは、Word文書を、重要な情報を明確かつ正確に伝える効果的なコミュニケーションツールにすることができます。 そのようなライブラリの1つはマイクロソフトエクセル続けます。翻訳するテキストを提供してください。マイクロソフト ワードIronXLPythonパッケージはIron Softwareおよびpython-docxライブラリ。

この記事では、ExcelファイルからWord文書を生成するために必要な手順を検討します。

PythonでExcelデータからWordドキュメントを生成する方法

  1. excelToWord.pyという名前のPythonファイルを作成してください。

  2. IronXLとpython-docxパッケージを追加してください。

  3. プロジェクトフォルダにExcelファイルを作成または追加します。

  4. IronXL.Excel ドキュメントを読む。

  5. python-docxを使用してWord文書を作成し、Excelデータを挿入します。

IronXLとは何ですか?

PythonのためのIronXLはIron Softwareによって開発された堅牢なライブラリで、開発者はExcelファイルを作成、読み取り、編集することができます。(XLS、XLSX、CSV)Pythonプロジェクトにおける 以下はIronXLを使用する主な特徴と利点です:

主な機能

  1. エクセル依存なし:IronXLはMicrosoft Excelをサーバーにインストールする必要がないため、Excelのないサーバー環境に最適です。

  2. 直感的なAPI:IronXLはExcelファイルを扱うための自然で直感的なAPIを提供し、Pythonプロジェクトへの統合を容易にします。

  3. 複数のフォーマットのサポート:IronXLはXLS、XLSX、CSV、TSVを含む様々なExcelファイル形式をサポートしています。

  4. セルのスタイリング:あなたは、異なるフォント、サイズ、背景、ボーダー、および数値形式でセルをスタイルすることができます。

  5. 数式処理:IronXLはエクセルの数式を扱うことができ、シートが編集されるたびに数式を再計算します。

  6. クロスプラットフォーム互換性:IronXLはWindows、macOS、Linux、Docker、Azure、AWSで動作します。

python-docxとは

python-docx は、.docx** ファイルなどの Microsoft Word 文書を作成、変更、操作する Python ライブラリです。 Word文書と対話するためのシンプルなAPIを提供し、テキストの追加、書式設定、表や画像の挿入などのタスクを実行できるようにします。

主な機能

**1.ドキュメントの作成

Word文書をゼロから作成し、段落、表、見出しなどのコンテンツを追加できます。 このパッケージは、個々の文書の編集にも使用できます。

**2.テキスト操作

段落の追加と修正 テキスト形式(例:太字、斜体、下線など。)"runs "を使用する(段落内の異なるスタイルのテキスト部分). さまざまなレベルの見出しを追加し、スタイルを整えます。

**3.テーブルの追加

指定された行数と列数のテーブルを作成します。 テーブルの個々のセルにアクセスし、変更します。

**4.リスト

定義済みのスタイルで箇条書きまたは番号付きリストを作成します。

5.スタイルの使用

見出し1」「標準」などの定義済みスタイルを適用します。また、段落やテキストにカスタムスタイルを定義して適用することもできます。

**6.画像の挿入

文書内の特定の位置に画像を挿入します。 画像の幅と高さを指定してリサイズすることができます。

前提条件

コードに入る前に、以下の前提条件があることを確認してください:

  1. Pythonがインストールされていること:あなたのマシンにPythonがインストールされていることを確認してください。Pythonの公式サイトからダウンロードできます。ウェブサイト.

  2. IronXLのインストール:IronXLパッケージをインストールする必要があります。 翻訳にはpipを使用します。

  3. python-docxのインストール:python-docxパッケージをインストールする必要があります。 翻訳にはpipを使用します。

  4. **エクセルファイルデータを含むExcelファイルのサンプルを作成します。

ステップ1: excelToWord.pyというPythonファイルを作成します。

Visual Studio Codeのようなお気に入りのIDEを開き、excelToWord.pyというファイルを作成してください。

PythonでExcelデータからWord文書を生成する方法:図1 - Excel文書の生成

ステップ2: IronXLパッケージの追加

Pipを使ってIronXLとpython-docxパッケージをインストールしてください。

pip install IronXL python-docx

ステップ3:プロジェクトフォルダにExcelファイルを作成または追加する

サンプルのExcelファイルをコードフォルダにコピーしてください。 ファイルには以下のデータが含まれています。

PythonでExcelデータからWord文書を生成する方法:図2 - サンプルExcel

ステップ4: IronXLを使ってExcelドキュメントを読む

IronXLを使ってExcelドキュメントを読み込み、以下のコードを使ってすべてのセルを読み込んでください。

import ironxl
from docx import Document
ironxl.License.LicenseKey = "your license"
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]
# read data from excel
data = []
# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)
        row_data.append(cell_value)
    data.append(row_data)
PYTHON

ステップ5: python-docxを使ってWord文書を作成し、Excelデータを挿入する。

Word文書の生成プロセスでは、以前のExcelデータから読み取ったWord文書を作成します。

doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)  # Add header cells
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)
doc.save("sample.docx")
PYTHON

Word文書を生成するための完全なコードはこちらです。

# Word documents from Excel data
import ironxl
from docx import Document
ironxl.License.LicenseKey = "your license"
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]
# read data from excel
data = []
# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)
        row_data.append(cell_value)
    data.append(row_data)
# document generation process
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)  # Add header cells
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)
doc.save("sample.docx") # save as Microsoft Word document
PYTHON

コードの説明

このPythonスクリプトは、主に2つのタスクを実行します。

1. IronXLを使用したExcelファイルからのデータ読み込み

  • スクリプトは、PythonでExcelファイルを扱うためのIronXLライブラリのライセンスを設定することから始まります。
  • 次に、Excelファイルを読み込みます。(sample.xlsx)そして、ファイルから最初のワークシートを選択します。
  • スクリプトは、ワークシートからデータを読み取り、すべての行と列を繰り返し処理します。 2Dリストの各セルから値を収集します。(データ)Excelシートの各行は、データ内のサブリストに対応しています。
  • セルの値は、読み込まれるとコンソールに出力されます。

2. python-docx を使った Word 文書の作成

  • 新しいWord文書は、python-docxライブラリを使用して作成されます。
  • スクリプトは、タイトルを追加します。("Pythonを使ったExcelデータエクスポート Docx")文書の先頭に見出しを付けます。
  • そして、文書内に表を作成します。表の最初の行には、Excelシートの最初の行のヘッダーが含まれ、それ以降の行には、Excelファイルの対応するデータが含まれます。
  • 最後に、Word文書をsample.docxとして保存します。

    スクリプトはExcelファイルからデータを読み込みます。(sample.xlsx)翻訳されたデータは、.NET、Java、Python、またはNode.jsで処理され、新しいWordドキュメントの表にエクスポートされます。(sample.docx). Excelシートの最初の行がテーブルのヘッダーとして使用され、Excelシートの各行のデータがテーブルの行としてWord文書に追加されます。

出力

PythonでExcelデータからWord文書を生成する方法:図3 - ExcelからWordへ

ワードファイル

PythonでExcelデータからWord文書を生成する方法:図4 - Word文書フォーマット

IronXLライセンス(試用版あり)

IronXLはコードに添付された有効なライセンスファイルで動作します。 ユーザーはライセンスページ.

ライセンスを使用するには、IronXLライブラリを使用する前に、以下のようにコードのどこかにライセンスを記述してください。

ironxl.License.LicenseKey = "Your License Key"
PYTHON

結論

サンプルコードでは、IronXLを使用してExcelファイルからデータを読み取り、python-docxを使用してそのデータをWordドキュメントにエクスポートする効果的な方法を示します。 プロセスは主に2つのステップから構成されます:

  1. Excelからデータを抽出する:スクリプトはExcelファイルをロードし、その最初のワークシートからデータを抽出します。 行と列を繰り返し、セルの値をリストに集め、簡単に操作したり保存したりできます。

  2. Wordドキュメントの作成と入力:python-docxライブラリを使用して、スクリプトは新しいWord文書を作成し、タイトルを追加し、抽出されたExcelデータをWord文書内の表にフォーマットします。 エクセルデータの最初の行をヘッダーとして、残りの行をテーブルデータとして自動的に配置します。

    このアプローチにより、ExcelからWordへのシームレスなデータ転送が可能になり、レポート作成、データエクスポート、ドキュメントの自動化などの作業に役立ちます。 Excelを扱うためのIronXLとWord文書を作成するためのpython-docxの組み合わせは、Pythonでこれらのファイル形式を扱うための強力なソリューションを提供します。

< 以前
PythonでExcelファイルを作成する方法
次へ >
PythonでExcelファイルからワークシートを削除する方法