Przejdź do treści stopki
UżYWANIE IRONXL DLA PYTHON

Generuj dokumenty Word z danych Excel w Python

Generowanie szablonów WORDa z arkuszy kalkulacyjnych Excel przy użyciu języka Python oferuje liczne korzyści, które mogą znacznie zwiększyć wydajność, dokładność i atrakcyjność prezentacji w różnych kontekstach zawodowych i osobistych. Wykorzystując automatyzację, dostosowywanie i integralność danych, profesjonaliści mogą zapewnić, że ich dokumenty WORD będą skutecznymi narzędziami komunikacji, które przekazują istotne informacje w sposób jasny i dokładny. Jedną z bibliotek umożliwiających konwersję plików Microsoft Excel do formatu Microsoft Word jest pakiet IronXL Python firmy Iron Software oraz biblioteka python-docx.

W tym artykułe omówimy kroki niezbędne do generowania dokumentów WORD z plików Excel.

Jak wygenerować dokument WORD z danych Excel w języku Python

  1. Utwórz plik Python o nazwie excelToWord.py.
  2. Zainstaluj pakiety IronXL i python-docx.
  3. Utwórz lub dodaj plik Excel do folderu projektu.
  4. Odczytuj dokumenty Excel za pomocą IronXL.
  5. Utwórz dokument WORD i wstaw dane z Excela za pomocą python-docx.

Czym jest IronXL?

IronXL for Python to solidna biblioteka opracowana przez Iron Software, która pozwala programistom tworzyć, odczytywać i edytować pliki Excel (XLS, XLSX i CSV) w projektach Pythona. Oto kilka kluczowych funkcji i zalet korzystania z IronXL:

Najważniejsze cechy

  1. Brak zależności od programu Excel: IronXL nie wymaga instalacji programu Microsoft Excel na serwerze, dzięki czemu idealnie nadaje się do środowisk serwerowych bez programu Excel.
  2. Intuicyjny interfejs API: IronXL zapewnia naturalny i intuicyjny interfejs API do pracy z plikami Excel, co ułatwia integrację z projektami w języku Python.
  3. Obsługa wielu formatów: IronXL obsługuje różne formaty plików Excel, w tym XLS, XLSX, CSV i TSV.
  4. Stylizacja komórek: Komórki można stylizować, stosując różne czcionki, rozmiary, tła, obramowania i formaty liczb.
  5. Obsługa formuł: IronXL może współpracować z formułami programu Excel i przeliczać je przy każdej edycji arkusza.
  6. Kompatybilność międzyplatformowa: IronXL działa na systemach Windows, macOS, Linux, Docker, Azure i AWS.

Czym jest python-docx

python-docx to biblioteka języka Python, która tworzy, modyfikuje i obsługuje dokumenty programu Microsoft WORD, takie jak pliki .docx. Zapewnia prosty interfejs API do pracy z dokumentami WORDa, umożliwiając wykonywanie takich zadań, jak dodawanie tekstu, formatowanie, wstawianie tabel i obrazów oraz wiele innych.

Najważniejsze cechy

1. Tworzenie dokumentów

Możesz tworzyć dokumenty WORD od podstaw i dodawać do nich treści, w tym akapity, tabele, nagłówki i inne elementy. Ten pakiet może być również używany do edycji pojedynczych dokumentów.

2. Manipulacja tekstem

Dodaj i modyfikuj akapity tekstu. Sformatuj tekst (np. pogrubienie, kursywa, podkreślenie itp.) za pomocą "sekwencji" (fragmentów tekstu o różnych stylach w obrębie akapitu). Dodaj nagłówki różnych poziomów i nadaj im odpowiedni styl.

3. Dodawanie tabel

Utwórz tabele o określonej liczbie wierszy i kolumn. Uzyskaj dostęp do poszczególnych komórek w tabeli i modyfikuj je.

4. Listy

Twórz listy punktowane lub numerowane przy użyciu predefiniowanych stylów.

5. Praca ze stylami

Zastosuj predefiniowane style, takie jak "Nagłówek 1", "Normalny" itp. Możesz również definiować i stosować style niestandardowe do akapitów lub tekstu.

6. Wstawianie obrazów

Wstaw obrazy do dokumentu w określonych miejscach. Możesz zmienić rozmiar obrazów, podając ich szerokość i wysokość.

Wymagania wstępne

Zanim zagłębimy się w kod, upewnij się, że spełniasz następujące wymagania wstępne:

  1. Zainstalowany Python: Upewnij się, że masz zainstalowany Python na swoim komputerze. Możesz go pobrać z oficjalnej strony Pythona.
  2. Zainstalowano IronXL: Należy zainstalować pakiet IronXL. Można to zrobić za pomocą pip.
  3. python-docx zainstalowany: Musisz zainstalować pakiet python-docx. Można to zrobić za pomocą pip.
  4. Plik Excel: Utwórz przykładowy plik Excel z danymi.

Krok 1: Utwórz plik Python o nazwie excelToWord.py

Otwórz swoje ulubione środowisko IDE, takie jak Visual Studio Code, i utwórz plik o nazwie excelToWord.py.

Jak wygenerować dokument WORDa na podstawie danych z Excela w języku Python: Rysunek 1 – Generowanie dokumentu Excel

Krok 2: Dodaj pakiety IronXL i python-docx

Użyj Pip, aby zainstalować pakiety IronXL i python-docx.

pip install IronXL python-docx
pip install IronXL python-docx
SHELL

Krok 3: Utwórz lub dodaj plik Excel do folderu projektu

Skopiuj przykładowy plik Excel do swojego folderu z kodem. Plik zawiera poniższe dane.

Jak wygenerować dokument WORD z danych Excel w języku Python: Rysunek 2 – Przykładowy plik Excel

Krok 4: Odczytanie dokumentu Excel za pomocą IronXL

Za pomocą IronXL załaduj dokument Excel i odczytaj wszystkie komórki, korzystając z poniższego kodu.

import ironxl
# Import Document class from python-docx to work with Word documents
from docx import Document

# Set the License Key for IronXL (replace 'your license' with your actual license key)
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook and select the first worksheet
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
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)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)
import ironxl
# Import Document class from python-docx to work with Word documents
from docx import Document

# Set the License Key for IronXL (replace 'your license' with your actual license key)
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook and select the first worksheet
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
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)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)
PYTHON

Krok 5: Utwórz dokument WORD i wstaw dane z Excela za pomocą python-docx

Proces generowania dokumentu WORD polega na utworzeniu dokumentu WORD i wstawieniu danych odczytanych z pliku Excel.

# Create a new Word document
doc = Document()

# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table with headers (first row of Excel data)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
# Populate header cells with data
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)

# Populate table with data from Excel
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)

# Save the generated Word document
doc.save("sample.docx")
# Create a new Word document
doc = Document()

# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table with headers (first row of Excel data)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
# Populate header cells with data
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)

# Populate table with data from Excel
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)

# Save the generated Word document
doc.save("sample.docx")
PYTHON

Pełny kod do generowania dokumentów WORD

# Import required libraries
import ironxl
from docx import Document

# Set the License Key for IronXL
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
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)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)

# Document generation process
# Create a new Word document
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table in the Word document
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)

# Save the Word document
doc.save("sample.docx")
# Import required libraries
import ironxl
from docx import Document

# Set the License Key for IronXL
ironxl.License.LicenseKey = "your license"

# Load the Excel workbook
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]

# Read data from the Excel sheet
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)  # Print each cell value
        row_data.append(cell_value)
    data.append(row_data)

# Document generation process
# Create a new Word document
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)

# Create a table in the Word document
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)

# Save the Word document
doc.save("sample.docx")
PYTHON

Wyjaśnienie kodu

Ten skrypt w języku Python wykonuje dwa główne zadania.

1. Odczytywanie danych z pliku Excel przy użyciu IronXL

  • Skrypt rozpoczyna się od skonfigurowania licencji biblioteki IronXL, która służy do obsługi plików Excel w języku Python.
  • Następnie ładuje plik Excel (sample.xlsx) i wybiera pierwszy arkusz z pliku.
  • Skrypt odczytuje dane z arkusza, przechodząc przez wszystkie wiersze i kolumny. Zbiera wartości z każdej komórki w liście 2D (dane), gdzie każdy wiersz w arkuszu Excel odpowiada podliście w ramach danych.
  • Wartości komórek są drukowane w konsoli w miarę ich odczytywania.

2. Tworzenie dokumentu WORDa przy użyciu python-docx

  • Nowy dokument WORDa jest tworzony przy użyciu biblioteki python-docx.
  • Skrypt dodaje tytuł ("Eksport danych z Excela przy użyciu Python Docx") na górze dokumentu za pomocą nagłówka.
  • Następnie tworzy tabelę w dokumencie, w której pierwszy wiersz zawiera nagłówki z pierwszego wiersza arkusza Excel, a kolejne wiersze zawierają odpowiednie dane z pliku Excel.
  • Na koniec dokument WORDa jest zapisywany jako sample.docx.

Skrypt odczytuje dane z pliku Excel (sample.xlsx), przetwarza je i eksportuje do tabeli w nowym dokumencie WORD (sample.docx). Pierwszy wiersz arkusza Excel służy jako nagłówki tabeli, a każdy wiersz danych z arkusza Excel jest dodawany do dokumentu WORD jako wiersz w tabeli.

Wynik

Jak wygenerować dokument WORD z danych Excel w języku Python: Rysunek 3 – Excel do WORD

Plik WORD

Jak wygenerować dokument WORD z danych Excel w języku Python: Rysunek 4 – Format dokumentu WORD

Licencja IronXL (dostępna wersja próbna)

IronXL działa na podstawie ważnego pliku licencji dołączonego do kodu. Użytkownicy mogą łatwo uzyskać Licencję Trial na stronie licencji.

Aby skorzystać z licencji, przed użyciem biblioteki IronXL umieść klucz licencyjny w dowolnym miejscu kodu, tak jak poniżej.

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

Wnioski

Przykładowy kod pokazuje skuteczny sposób odczytu danych z pliku Excel przy użyciu IronXL, a następnie eksportu tych danych do dokumentu WORD przy użyciu python-docx. Proces składa się z dwóch głównych etapów:

  1. Pobieranie danych z Excela: Skrypt ładuje plik Excel i pobiera dane z pierwszego arkusza. Przechodzi przez wiersze i kolumny, aby zebrać wartości komórek na liście, którą można łatwo modyfikować lub zapisać.
  2. Tworzenie i wypełnianie dokumentu WORD: Korzystając z biblioteki python-docx, skrypt tworzy nowy dokument WORD, dodaje tytuł i formatuje wyodrębnione dane z Excela w postaci tabeli w dokumencie WORD. Automatycznie umieszcza pierwszy wiersz danych z Excela jako nagłówki, a pozostałe wiersze jako dane tabeli.

Takie podejście pozwala na płynny transfer danych z Excela do WORDa, co może być przydatne przy takich zadaniach, jak generowanie raportów, eksport danych czy automatyzacja dokumentów. Połączenie IronXL.Excel do obsługi plików Excel i python-docx do tworzenia dokumentów WORD stanowi potężne rozwiązanie do pracy z tymi formatami plików w języku Python.

Często Zadawane Pytania

Jak mogę przekonwertować dane z Excela do dokumentu WORD za pomocą Pythona?

Można przekonwertować dane z Excela na dokument Worda za pomocą języka Python, wykorzystując bibliotekę IronXL do odczytu i przetwarzania plików Excel, a następnie używając biblioteki python-docx do utworzenia i wypełnienia dokumentu Worda.

Jakie są zalety wspólnego używania IronXL i python-docx?

Połączenie IronXL i python-docx pozwala na płynną integrację i automatyzację konwersji dokumentów z formatu Excel do formatu WORD. IronXL oferuje funkcje takie jak odczyt i edycja plików Excel bez konieczności korzystania z programu Microsoft Excel, natomiast python-docx zapewnia proste API do manipulowania dokumentami WORD.

Jak odczytać plik Excel w języku Python bez zainstalowanego programu Microsoft Excel?

Za pomocą biblioteki IronXL można odczytywać pliki Excel w języku Python bez konieczności instalowania programu Microsoft Excel. IronXL umożliwia programowe ładowanie plików Excel i uzyskiwanie dostępu do zawartych w nich danych.

Jak wygląda proces tworzenia dokumentu WORD na podstawie danych z Excela?

Proces ten polega na użyciu IronXL do odczytania danych z pliku Excel, a następnie użyciu python-docx do utworzenia dokumentu WORD, w którym dane z Excela są wstawiane do tabel lub bloków tekstowych.

Czy IronXL obsługuje wiele formatów plików Excel?

Tak, IronXL obsługuje wiele formatów plików Excel, takich jak XLS, XLSX i CSV, zapewniając elastyczność w obsłudze różnych typów plików Excel.

Jak mogę zainstalować IronXL i python-docx w moim środowisku Python?

Możesz zainstalować IronXL i python-docx w swoim środowisku Python za pomocą pip, używając polecenia: pip install IronXL python-docx.

Jakie są zalety automatyzacji konwersji dokumentów z formatu Excel do formatu WORD?

Automatyzacja konwersji dokumentów z formatu Excel do formatu WORD może zwiększyć wydajność, dokładność i poprawić wygląd dokumentów poprzez ograniczenie zadań wykonywanych ręcznie, zminimalizowanie błędów oraz zapewnienie spójnego formatowania i integralności danych we wszystkich dokumentach.

Jak formatować komórki Excela za pomocą IronXL?

IronXL oferuje funkcje do stylizowania komórek w Excelu, pozwalające dostosować ich wygląd, np. ustawić czcionki, kolory i obramowania, co może być przydatne przy formatowaniu przed przeniesieniem danych do WORDa.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie