pycharm实现上传excel生成word

news/2024/7/21 5:10:16 标签: pycharm, excel, word

下载需要的依赖包

pip install openpyxl python-docx flask

main.py文件

word">from flask word">import Flask, request, render_template
word">from openpyxl word">import load_workbook
word">from docx word">import Document

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


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


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

    file = request.files['file']

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

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


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


word">def generate_word(excel_data):
    document = Document()

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

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

    document.save('output.docx')


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

template文件夹下index.html文件

<!-- 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>


http://www.niftyadmin.cn/n/5403353.html

相关文章

使用Spark探索数据

需求分析 使用Spark来探索数据是一种高效处理大规模数据的方法&#xff0c;需要对数据进行加载、清洗和转换&#xff0c;选择合适的Spark组件进行数据处理和分析。需求分析包括确定数据分析的目的和问题、选择合适的Spark应用程序和算法、优化数据处理流程和性能、可视化和解释…

Android 12 设置默认的屏幕亮度百分比

1、安卓每个版本的更新&#xff0c; 其核心代码也会随之更新&#xff0c;本次为Android 12 版本默认屏幕亮度的修改。 其中涉及的核心代码主要有&#xff1a; packages\apps\Settings\src\com\android\settings\display\BrightnessLevelPreferenceController.java frameworks…

不同材质的油封及其使用温度限制

油封&#xff0c;也称为旋转轴密封件&#xff0c;是防止润滑油从机器和轴承内部间隙泄漏的重要部件。油封的有效性很大程度上取决于其承受运行过程中所暴露温度的能力。 材料问题&#xff1a;不同材料及其温度限制 制造油封所使用的不同材料可以承受不同的温度范围。这里有一…

Java中的图数据库应用:Neo4j入门

第1章&#xff1a;引言 在数据驱动的时代&#xff0c;咱们处理的不仅仅是数字和文本&#xff0c;还有复杂的关系和网络。想象一下社交网络中人与人之间错综复杂的联系&#xff0c;或者是互联网上网页之间的链接关系&#xff0c;传统的表格数据库已经难以高效地处理这些关系密集…

解决 MacOS Sonoma 14 系统下修改用户名无法进入系统的历史Bug

苹果系统祖传Bug概述 在MacOS中如果在系统偏好设置/用户和群组中尝试修改用户名或用户ID&#xff0c;当且仅当只有一个管理员账号的时候重启&#xff0c;就可能面临到无法进入操作系统&#xff0c;即使出现了登录框&#xff0c;但是一直是 loading状态在这个期间&#xff0c;你…

物联网与智慧城市:科技驱动下的城市智能化升级之路

一、引言 随着科技的不断进步和城市化进程的加速&#xff0c;物联网与智慧城市的结合已经成为推动城市智能化升级的关键力量。物联网技术以其强大的连接和数据处理能力&#xff0c;为智慧城市的建设提供了无限可能。本文旨在探讨物联网如何助力智慧城市的构建&#xff0c;以及…

对缓冲区的初步认识——制作进度条小程序

对缓冲区的初步认识--进度条小程序 前言预备知识回车和换行的区别输出缓冲区/n 有清空输出缓冲区的作用stdout是什么&#xff1f;验证一切皆文件为什么是\n行刷新&#xff1f; 倒计时程序原理 代码实现为什么这里要强制刷新&#xff1f;没有会怎样&#xff1f;为什么是输出的是…

2024最新ChatGPT网站源码AI绘画系统:SparkAI系统(Ai智能问答系统和Midjourney绘画系统)

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…