SoFunction
Updated on 2025-04-13

Detailed Guide to WPS Automation in Python

1. Common methods

1. Use pywin32 (Windows COM interface)

WPS Office supports automated operations through the COM (Component Object Model) interface (similar to Microsoft Office). This is the most direct way, but onlyWindows Platform

Applicable scenarios

  • Automatically open/edit documents, forms, and slides.
  • Batch generation of reports, data filling, format adjustment.
  • Calls built-in WPS functions (such as macros).

Install the library

pip install pywin32

2. Use unoconv or LibreOffice API (cross-platform)

Under Linux/macOS, you can useunoconvThe tool calls the LibreOffice service operation document (WPS requires the corresponding file format to support), but the compatibility is limited.

Install

pip install unoconv

3. Directly operate the document file

Directly parse/generate WPS-supported document formats (such as.docx.xlsx.pptx):

  • Word Documentation:usepython-docx
  • Excel Tables:useopenpyxlorpandas
  • PPT slideshow:usepython-pptx

2. pywin32 control WPS example (Windows)

The following example demonstrates how to control WPS text (Writers), tables (Spreadsheets), and presentations through the COM interface.

1. Automated WPS text (Writer)

import  as win32

# Start WPS textwps = ("")
 = True  # Show window
# Create a new documentdoc = ()
 = "Hello, WPS automation!\n"

# Insert a tabletable = ((), 3, 3)
(1, 1). = "Python"
(1, 2). = "WPS"

# Save and close(r"C:\test_wps.docx")
()
()

2. Automated WPS forms (Spreadsheets)

import  as win32

# Start WPS formexcel = ("")
 = True

# Create a new workbookwb = ()
sheet = 

# Write data(1, 1).Value = "Name"
(1, 2).Value = "Fraction"
(2, 1).Value = "Zhang San"
(2, 2).Value = 95

# Insert Formula(3, 1).Value = "Average Score"
(3, 2).Formula = "=AVERAGE(B1:B2)"

# Save and exit(r"C:\test_wps.xlsx")
()
()

3. Automation of WPS Presentation

import  as win32

# Start WPS Demoppt = ("")
 = True

# Create a new slidepres = ()
slide = (1, 1)  # First slide
# Add a titletitle = 
 = "WPS automation demonstration"

# Add text boxcontent = (1, 100, 200, 500, 100)
 = "Control WPS presentations with Python!"

# Save and exit(r"C:\test_wps.pptx")
()
()

3. Key points to note

  1. WPS version compatibility

    • The COM interface name of WPS may be different from Office (such asCorresponding to Word,Complied by Excel).
    • WPS developer tools are required or confirm COM interface support (see official documentation).
  2. Path and permissions

    • The file path needs to use an absolute path to avoid permission problems.
    • If the script is unresponsive, try to run it as an administrator.
  3. Error handling

    • Catch COM exceptions (such as.com_error)。
try:
    doc = ("Does not exist.docx")
except Exception as e:
    print(f"mistake: {e}")

Free up resources

  • Close the document and application after the operation is completed to avoid process retention
(SaveChanges=False)
()

IV. Alternative Solutions

1. Use python-docx to operate the document directly

No need to open WPS, generate directly.docxdocument:

from docx import Document

doc = Document()
doc.add_paragraph("Directly generate Word document content")
doc.add_table(rows=2, cols=2)
("")

2. Use openpyxl to operate Excel files

from openpyxl import Workbook

wb = Workbook()
ws = 
ws['A1'] = "Python"
ws['B1'] = "WPS"
("")

5. Cross-platform solution

In Linux/macOS, you can call WPS through the command line to perform operations (WPS is required):

import subprocess

# Open the document(["wps", "/path/to/"])

# Convert to PDF (requires WPS support)(["wps", "--convert-to", "pdf", ""])

This is the article about this detailed guide to Python’s WPS automation. For more related Python WPS automation content, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!