pycharm实现上传excel生成word

下载需要的依赖包

python 复制代码
pip install openpyxl python-docx flask

main.py文件

python 复制代码
from flask import Flask, request, render_template
from openpyxl import load_workbook
from docx import Document

app = Flask(__name__, template_folder='templates')


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/upload', methods=['POST'])
def upload():
    if 'file' not in request.files:
        return "No file part"

    file = request.files['file']

    if file.filename == '':
        return "No selected file"

    if file:
        excel_data = read_excel(file)
        generate_word(excel_data)
        return "Word file generated successfully"


def read_excel(file):
    workbook = load_workbook(file)
    sheet = workbook.active
    excel_data = [list(row) for row in sheet.iter_rows(values_only=True)]
    return excel_data


def generate_word(excel_data):
    document = Document()

    table = document.add_table(rows=1, cols=len(excel_data[0]))
    for i, header in enumerate(excel_data[0]):
        table.cell(0, i).text = str(header)

    for row_data in excel_data[1:]:
        row_cells = table.add_row().cells
        for i, cell_value in enumerate(row_data):
            row_cells[i].text = str(cell_value)

    document.save('output.docx')


if __name__ == '__main__':
    app.run(debug=True)

template文件夹下index.html文件

python 复制代码
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Excel to Word</title>
</head>
<body>
    <form method="POST" enctype="multipart/form-data" action="/upload">
        <input type="file" name="file" accept=".xlsx, .xls">
        <button type="submit">Generate Word</button>
    </form>
</body>
</html>
相关推荐
大佬,救命!!!44 分钟前
Python编程整理汇总(基础汇总版)
开发语言·笔记·python·pycharm·学习方法·启发式算法
CodeDevMaster1 小时前
Python办公自动化:用xlrd轻松读取Excel文件
python·excel
kim565912 小时前
excel版数独游戏(已完成)
算法·游戏·excel·数独
文柏AI共享14 小时前
Word Embedding
人工智能·自然语言处理·word·embedding
爱编程的小生20 小时前
Easyexcel(5-自定义列宽)
java·excel
YRr YRr21 小时前
如何在 Ubuntu 20.04 上的 PyCharm 中使用 Conda 安装并配置 IPython 交互环境
ubuntu·pycharm·conda
yuerZ621 小时前
anaconda pycharm 使用问题
linux·人工智能·pycharm
sleetdream21 小时前
Windows Pycharm 远程 Spark 开发 PySpark
pycharm·spark
newroad-for-myself1 天前
英文版本-带EXCEL函数的数据分析
数据挖掘·数据分析·excel
情勤坊1 天前
JAVA实现将PDF转换成word文档
java·pdf·word