[Python] Replace text in Excel cells
Replace strings in Excel cells with Python. It can be used …
Describes how to convert an Excel sheet to PDF using Python.
There seem to be many libraries for manipulating Excel files in Python, but this time I will use a module called win32com.
win32com can handle Windows COM objects. Just like using COM objects in Excel VBA.
win32com is not included by default, so install it.
pip install pywin32
Now you can do import win32com
.
I prepared the pre-conversion Excel file (I just brought an Excel template).
One sheet is a calendar for one month, and there are 12 sheets (one year).
Convert this to a single PDF file.
To convert an Excel file to PDF, simply operate Excel from win32com, open the file and save it as PDF.
The following is a sample program.
import win32com.client
from pywintypes import com_error
# Path to original excel file
WB_PATH = r'C:\hoge\fuga\YearCalendar.xlsx'
# PDF path when saving
PATH_TO_PDF = r'C:\hoge\fuga\YearCalendar.pdf'
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = False
try:
print('Start conversion to PDF')
# Open
wb = excel.Workbooks.Open(WB_PATH)
# Specify the sheet you want to save by index. 1 is the first (leftmost) sheet.
ws_index_list = [1,2,3,4,5,6,7,8,9,10,11,12]
wb.WorkSheets(ws_index_list).Select()
# Save
wb.ActiveSheet.ExportAsFixedFormat(0, PATH_TO_PDF)
except com_error as e:
print('failed.')
else:
print('Succeeded.')
finally:
wb.Close()
excel.Quit()
All 12 sheets are specified and exported to a PDF file.
The output PDF is as follows.
I was able to create PDF more easily than I expected.
It is interesting that there are many other possibilities.
See also
Replace strings in Excel cells with Python. It can be used …
Open an Excel workbook with password in PowerShell. When …
Replace strings in cells in Excel using PowerShell. Imagine …
Make a program created with Python & Selenium into an …
PyInstaller can be used to convert a program created with …
PyInstaller makes it easy to create an exe, but I …
Running Python Selenium causes the ChromeDriver console …