透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
ExcelスプレッドシートからPythonを使用してWordテンプレートを生成することは、さまざまなプロフェッショナルおよび個人的な状況において効率、正確性、プレゼンテーションを大幅に向上させる多くの利点を提供します。 自動化、カスタマイズ、データ整合性を活用することで、プロフェッショナルは、Word文書を、重要な情報を明確かつ正確に伝える効果的なコミュニケーションツールにすることができます。 Microsoft ExcelをMicrosoft Wordに変換できるライブラリの一つに、Iron SoftwareのIronXL Pythonパッケージとpython-docxライブラリがあります。
この記事では、ExcelファイルからWord文書を生成するために必要な手順を検討します。
excelToWord.pyという名前のPythonファイルを作成してください。
IronXLとpython-docxパッケージを追加してください。
プロジェクトフォルダにExcelファイルを作成または追加します。
IronXL.Excel ドキュメントを読む。
IronXL for Pythonは、Iron Softwareによって開発された強力なライブラリで、開発者がPythonプロジェクト内でExcelファイル(XLS、XLSX、CSV)の作成、読み取り、編集を可能にします。 以下はIronXLを使用する主な特徴と利点です:
Excel依存なし:IronXLはサーバーにMicrosoft Excelをインストールする必要がなく、Excelのないサーバー環境に最適です。
直感的なAPI: IronXLはExcelファイルを扱うための自然で直感的なAPIを提供し、Pythonプロジェクトに簡単に統合できます。
複数形式のサポート: IronXL は、XLS、XLSX、CSV、TSV を含むさまざまな Excel ファイル形式をサポートしています。
セルのスタイリング: 異なるフォント、サイズ、背景、枠線、数値形式でセルをスタイル設定できます。
数式の処理: IronXLはExcelの数式を扱うことができ、シートが編集されるたびに再計算を行います。
python-docx は、Microsoft Wordドキュメント(`.docx` ファイルなど)を作成、変更、操作するためのPythonライブラリです。 Word文書と対話するためのシンプルなAPIを提供し、テキストの追加、書式設定、表や画像の挿入などのタスクを実行できるようにします。
Word文書をゼロから作成し、段落、表、見出しなどのコンテンツを追加できます。 このパッケージは、個々の文書の編集にも使用できます。
段落の追加と修正 テキストのフォーマット(例:太字、斜体、下線など)は、「ラン」(段落内の異なるスタイルのテキストの部分)を使用して行います。 さまざまなレベルの見出しを追加し、スタイルを整えます。
指定された行数と列数のテーブルを作成します。 テーブルの個々のセルにアクセスし、変更します。
定義済みのスタイルで箇条書きまたは番号付きリストを作成します。
見出し1」「標準」などの定義済みスタイルを適用します。また、段落やテキストにカスタムスタイルを定義して適用することもできます。
文書内の特定の位置に画像を挿入します。 画像の幅と高さを指定してリサイズすることができます。
コードに入る前に、以下の前提条件があることを確認してください:
Python インストール済み: マシンに Python がインストールされていることを確認してください。公式 Python ウェブサイトからダウンロードできます。
IronXL Installed: IronXLパッケージをインストールする必要があります。 翻訳にはpipを使用します。
python-docx インストール済み: python-docx パッケージをインストールする必要があります。 翻訳にはpipを使用します。
Visual Studio Codeのようなお気に入りのIDEを開き、excelToWord.pyというファイルを作成してください。
Pipを使ってIronXLとpython-docxパッケージをインストールしてください。
pip install IronXL python-docx
サンプルの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)
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")
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スクリプトは、主に2つのタスクを実行します。
最後に、Word文書をsample.docxとして保存します。
スクリプトはExcelファイル(sample.xlsx)からデータを読み取り、それを処理して、新しいWordドキュメント(sample.docx)のテーブルにデータをエクスポートします。 Excelシートの最初の行がテーブルのヘッダーとして使用され、Excelシートの各行のデータがテーブルの行としてWord文書に追加されます。
IronXLはコードに添付された有効なライセンスファイルで動作します。 ユーザーはライセンスページから簡単に試用ライセンスを取得できます。
ライセンスを使用するには、IronXLライブラリを使用する前に、以下のようにコードのどこかにライセンスを記述してください。
ironxl.License.LicenseKey = "Your License Key"
このサンプルコードは、IronXLを使用してExcelファイルからデータを効果的に読み取り、そのデータをpython-docxを使用してWordドキュメントにエクスポートする方法を示しています。 プロセスは主に2つのステップから構成されます:
Excelからデータを抽出: スクリプトはExcelファイルを読み込み、最初のワークシートからデータを抽出します。 行と列を繰り返し、セルの値をリストに集め、簡単に操作したり保存したりできます。
Word ドキュメントの作成とデータの入力: python-docx ライブラリを使用して、スクリプトは新しい Word ドキュメントを作成し、タイトルを追加し、抽出された Excel データを Word ドキュメント内の表にフォーマットします。 エクセルデータの最初の行をヘッダーとして、残りの行をテーブルデータとして自動的に配置します。
このアプローチにより、ExcelからWordへのシームレスなデータ転送が可能になり、レポート作成、データエクスポート、ドキュメントの自動化などの作業に役立ちます。 Excel 処理のための IronXL と Word ドキュメント作成のための python-docx の組み合わせは、Python でこれらのファイル形式を扱うための強力なソリューションを提供します。