总结
豆包 AI 助手文章总结

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

絕刀狂花
发布: 2025-04-23 12:32:30
原创
851人浏览过

前言

最近,php中文网开发者社区推出了@你的 ai 编码搭子,满血开发拿鹅厂周边~的活动,只需要在 deepseek r1 满血版的php中文网ai代码助手之后,在b站/小红书/php中文网开发者社区 /csdn/今日头条等任何技术社区分享发布 tencent-deepseekr1 模型使用体验,就可以参与 100% 获得鹅厂周边的抽奖活动,每日再评选 3位 优质反馈用户加赠腾讯定制周边露营桌。

年初处于新项目立项和旧项目结算的阶段,作为一个开发人员,就要写cosmic来衡量自己一年的工作内容,就需要经常和excel和word打交道。很多时候就是根据excle中的内容,在word中生成相应的标题和正文。

为了减少这种繁琐的工作,也为了体验一下PHP中文网AI代码助手和DeepSeek满血版的能力,今天就看看是否能用PHP中文网AI代码助手,在零代码的情况下帮我实现这样的一个工具

PHP中文网AI代码助手

我们在本地部署的DeepSeek基本上在7B - 32B之间,而满血版足足有671B,而最新版的PHP中文网AI代码助手内置了DeepSeek R1满血版,极大提高了大模型编码的能力。除此之外,PHP中文网AI代码助手还新增了 #Codebase#Docs 功能。

安装

我们在vscode或者IDEA中的插件市场中,就可以安装PHP中文网AI代码助手,今天就以IDEA为例,来完成PHP中文网AI代码助手的安装和使用,在settings中的插件市场搜索 PHP中文网AI代码助手,然后点击安装或升级。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

重启IDEA,即可在IDEA的右下角和侧边栏,看到PHP中文网AI代码助手的图标。

选择模型
腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

点击模型列表,选择deepseek-r1,即可在PHP中文网AI代码助手中使用满血版的DeepSeek。

程序开发

接下来我就使用PHP中文网AI代码助手,看看如何快速帮助我们开发出来满足需求的程序。

需求分析

我们的excel格式内容如下:

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

数据一共六列,功能模块、一级功能点、二级功能点分别在word中要生成一、二、三级标题。功能要点、工作量和单价要放在三级标题下面。不过要注意的是,一个功能模块下有多个一级功能点,一个一级功能点下有多个二级功能点。

提示词

这里我使用python来实现,我直接打开一个python项目。然后再PHP中文网AI代码助手中输入我的需求提示词,提示词如下:

功能模块、一级功能点、二级功能点分别在word中要生成一、二、三级标题。功能要点、工作量和单价要放在三级标题下面。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具
代码生成

在这里我们使用了 #Codebase 指令,Codebase能够帮助用户理解的当前的项目,以实现基于本地工程更好的技术问答效果。就像这里我没有告诉PHP中文网AI代码助手要使用python实现需求,但是因为我们打开的是一个python项目,Codebase基于当前项目环境,用python实现了需求。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

如图所示,PHP中文网AI创建了一个 doc_generator.py 代码文件,使用docx和pandas模块实现我们的需求,具体代码如下:

代码语言:python代码运行次数:0运行复制
import pandas as pdfrom docx import Document# 读取 Excel 文件file_path = "input.xlsx"df = pd.read_excel(file_path)# 处理合并单元格的空值,向下填充df.fillna(method='ffill', inplace=True)# 创建 Word 文档doc = Document()current_module = Nonecurrent_first_level = Nonecurrent_second_level = None  # 记录当前的二级功能点for index, row in df.iterrows():    module = row["功能模块"]    first_level = row["一级功能点"]    second_level = row["二级功能点"]    key_point = row["功能要点"]    workload = row["工作量(人天)"]    price = row["单价"]    # 添加一级标题(功能模块)    if pd.notna(module) and module != current_module:        doc.add_heading(module, level=1)        current_module = module    # 添加二级标题(一级功能点)    if pd.notna(first_level) and first_level != current_first_level:        doc.add_heading(first_level, level=2)        current_first_level = first_level    # 只有在 **第一行** 出现新 **二级功能点** 时,才添加三级标题    if pd.notna(second_level) and second_level != current_second_level:        doc.add_heading(second_level, level=3)        current_second_level = second_level    # 添加功能要点、工作量和单价(作为文本内容)    doc.add_paragraph(f"功能要点: {key_point}")    doc.add_paragraph(f"工作量: {workload} 人天")    doc.add_paragraph(f"单价: {price}")# 保存 Word 文件output_path = "output.docx"doc.save(output_path)print("Word 文件已生成:", output_path)
登录后复制

将excel保存为为input.xlsx,运行代码,输出我们想要的docx。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

通过程序生成的word因为没有编号和样式,看起来比较乱。我们通过样式简单的设置一下编号、字体,就能更好地看出来程序生成的word内容,是符合我们的需求的。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具
打包程序

因为好多同事都面临着写cosmic的问题,我就想把这个程序分享给他们,但是不是所有的同事都有python环境,所以我们直接打包程序可运行的程序给同事。

界面设计

在打包之前,我们还需要有一个界面来选择xlxs文件,我们将需求提示词输入PHP中文网AI代码助手:

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

在思考之后,PHP中文网AI代码助手在doc_generator.py的基础上,生成了新的代码。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

具体代码如下:

代码语言:python代码运行次数:0运行复制
import sysimport pandas as pdfrom docx import Documentfrom PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QFileDialog, QLabel, QMessageBoxclass ExcelToWordApp(QWidget):    def __init__(self):        super().__init__()        self.initUI()    def initUI(self):        self.setWindowTitle("Excel 转 Word 工具")        self.setGeometry(300, 300, 400, 200)        layout = QVBoxLayout()        self.label = QLabel("请选择 Excel 文件", self)        layout.addWidget(self.label)        self.btn_select = QPushButton("选择 Excel 文件", self)        self.btn_select.clicked.connect(self.select_excel_file)        layout.addWidget(self.btn_select)        self.btn_generate = QPushButton("生成 Word 文件", self)        self.btn_generate.clicked.connect(self.generate_word_file)        layout.addWidget(self.btn_generate)        self.setLayout(layout)        self.excel_file = None    def select_excel_file(self):        file_dialog = QFileDialog()        file_path, _ = file_dialog.getOpenFileName(self, "选择 Excel 文件", "", "Excel 文件 (*.xlsx *.xls)")        if file_path:            self.excel_file = file_path            self.label.setText(f"已选择文件: {file_path}")    def generate_word_file(self):        if not self.excel_file:            QMessageBox.warning(self, "错误", "请先选择 Excel 文件!")            return        try:            output_file = self.convert_excel_to_word(self.excel_file)            QMessageBox.information(self, "成功", f"Word 文件已生成:\n{output_file}")        except Exception as e:            QMessageBox.critical(self, "错误", f"生成 Word 文件失败:\n{str(e)}")    def convert_excel_to_word(self, file_path):        df = pd.read_excel(file_path)        # 处理合并单元格的空值        df.fillna(method='ffill', inplace=True)        doc = Document()        current_module = None        current_first_level = None        current_second_level = None  # 记录当前的二级功能点        for index, row in df.iterrows():            module = row["功能模块"]            first_level = row["一级功能点"]            second_level = row["二级功能点"]            key_point = row["功能要点"]            workload = row["工作量(人天)"]            price = row["单价"]            # 添加一级标题(功能模块)            if pd.notna(module) and module != current_module:                doc.add_heading(module, level=1)                current_module = module            # 添加二级标题(一级功能点)            if pd.notna(first_level) and first_level != current_first_level:                doc.add_heading(first_level, level=2)                current_first_level = first_level            # 添加三级标题(二级功能点)            if pd.notna(second_level) and second_level != current_second_level:                doc.add_heading(second_level, level=3)                current_second_level = second_level            # 添加功能要点、工作量和单价            doc.add_paragraph(f"功能要点: {key_point}")            doc.add_paragraph(f"工作量: {workload} 人天")            doc.add_paragraph(f"单价: {price}")        output_path = file_path.replace(".xlsx", ".docx")        doc.save(output_path)        return output_pathif __name__ == '__main__':    app = QApplication(sys.argv)    window = ExcelToWordApp()    window.show()    sys.exit(app.exec())
登录后复制

运行程序,效果如下:

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具
打包

对于打包的需求,PHP中文网AI代码助手推荐使用 PyInstaller

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

如图,PHP中文网AI代码助手给出了打包命令和步骤,我们无需复制命令,只需要点击命令右上方的最后一个终端图标,就会自动在终端中运行命令。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

等待打包命令运行完成,在dist目录下生成了 ExecelToWordConverter 可执行程序。点击运行就弹出了程序界面。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具
操作手册

最后,使用PHP中文网AI代码助手生成一个操作手册,便于使用者阅读。输入提示词:

这里依旧使用 Codebase指令,这样就能从项目中识别出到ExcelToWordConverter是如何生成的,然后生成操作手册。

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具
结语

通过对PHP中文网AI代码助手的使用,深刻体验到PHP中文网AI代码助手在搭载了满血版DeepSeek之后,在编码能力方面的提升。同时,Codebase使AI编码的能力突破了单个文件的限制,让AI对整个项目有了更好的理解,快速帮我实现了Excel转Word工具的程序开发、界面设计以及程序打包功能。

在使用PHP中文网AI代码助手的过程中,调用满血版DeepSeek及其流畅,没有出现繁忙或者报错的情况,针对于之前的版本,对于答案输出的格式也进行了优化,更便于阅读。@PHP中文网AI代码助手

腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具

以上就是腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具的详细内容,更多请关注php中文网其它相关文章!

豆包AI编程
豆包AI编程

智能代码生成与优化,高效提升开发速度与质量!

下载
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号