前言
最近,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代码助手,然后点击安装或升级。
重启IDEA,即可在IDEA的右下角和侧边栏,看到PHP中文网AI代码助手的图标。
选择模型点击模型列表,选择deepseek-r1,即可在PHP中文网AI代码助手中使用满血版的DeepSeek。
程序开发接下来我就使用PHP中文网AI代码助手,看看如何快速帮助我们开发出来满足需求的程序。
需求分析我们的excel格式内容如下:
数据一共六列,功能模块、一级功能点、二级功能点分别在word中要生成一、二、三级标题。功能要点、工作量和单价要放在三级标题下面。不过要注意的是,一个功能模块下有多个一级功能点,一个一级功能点下有多个二级功能点。
提示词这里我使用python来实现,我直接打开一个python项目。然后再PHP中文网AI代码助手中输入我的需求提示词,提示词如下:
功能模块、一级功能点、二级功能点分别在word中要生成一、二、三级标题。功能要点、工作量和单价要放在三级标题下面。
在这里我们使用了 #Codebase 指令,Codebase能够帮助用户理解的当前的项目,以实现基于本地工程更好的技术问答效果。就像这里我没有告诉PHP中文网AI代码助手要使用python实现需求,但是因为我们打开的是一个python项目,Codebase基于当前项目环境,用python实现了需求。
如图所示,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。
通过程序生成的word因为没有编号和样式,看起来比较乱。我们通过样式简单的设置一下编号、字体,就能更好地看出来程序生成的word内容,是符合我们的需求的。
因为好多同事都面临着写cosmic的问题,我就想把这个程序分享给他们,但是不是所有的同事都有python环境,所以我们直接打包程序可运行的程序给同事。
界面设计在打包之前,我们还需要有一个界面来选择xlxs文件,我们将需求提示词输入PHP中文网AI代码助手:
在思考之后,PHP中文网AI代码助手在doc_generator.py的基础上,生成了新的代码。
具体代码如下:
代码语言: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())
运行程序,效果如下:
对于打包的需求,PHP中文网AI代码助手推荐使用 PyInstaller。
如图,PHP中文网AI代码助手给出了打包命令和步骤,我们无需复制命令,只需要点击命令右上方的最后一个终端图标,就会自动在终端中运行命令。
等待打包命令运行完成,在dist目录下生成了 ExecelToWordConverter 可执行程序。点击运行就弹出了程序界面。
最后,使用PHP中文网AI代码助手生成一个操作手册,便于使用者阅读。输入提示词:
这里依旧使用 Codebase指令,这样就能从项目中识别出到ExcelToWordConverter是如何生成的,然后生成操作手册。
通过对PHP中文网AI代码助手的使用,深刻体验到PHP中文网AI代码助手在搭载了满血版DeepSeek之后,在编码能力方面的提升。同时,Codebase使AI编码的能力突破了单个文件的限制,让AI对整个项目有了更好的理解,快速帮我实现了Excel转Word工具的程序开发、界面设计以及程序打包功能。
在使用PHP中文网AI代码助手的过程中,调用满血版DeepSeek及其流畅,没有出现繁忙或者报错的情况,针对于之前的版本,对于答案输出的格式也进行了优化,更便于阅读。@PHP中文网AI代码助手
以上就是腾讯云AI代码助手 | 满血DeepSeek实现一个Excel转Word工具的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号