利用DeepSeek实现Excel办公自动化,到底有多强!无须一行代码,即可实现合并表格、拆分表格、制作工作表目录、智能制作图表、自动编写公式…
一、基本原理
向Deepseek下达操作指令后,自动从DeepSeek的回答提取对应的VBA代码,并使其在Excel的VBA编辑环境下运行,从而实现Excel自动化的效果。
这里以调用硅基流动平台的DeepSeek-R1模型为例,分享最核心、也是最经典的VBA代码。
Sub CallDeepSeekFromSilicon() '声明并创建一个对象变量 xmlHttp Dim xmlHttp As Object Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
'硅基流动平台用于存储API的基础URL Dim baseURL As String baseURL = "https://api.siliconflow.cn/v1/chat/completions"
'这里输入你在硅基流动平台创建的API秘钥 Dim apiKey As String apiKey = "sk-xxxxxxxxxxxxxxxxxxxx"
'指定要使用的模型 Dim aiModel As String aiModel = "deepseek-ai/DeepSeek-R1"
'用于存储要发送给API的请求体 Dim requestBody As String requestBody = "{""model"": """ & aiModel & """, " & _ """messages"": [ " & _ "{""role"": ""system"", ""content"": ""You are a helpful assistant.""}, " & _ "{""role"": ""user"", ""content"": ""你是谁""} " & _ "], " & _ """stream"": false" & _ "}"
'使用With语句对xmlHttp对象进行操作 With xmlHttp .Open "POST", baseURL, False .setRequestHeader "Content-Type", "application/json" .setRequestHeader "Authorization", "Bearer " & apiKey .send requestBody End With
'如果请求成功,则输出深度思考过程和回答;否则输出状态码和对应的状态文本信息 If xmlHttp.Status = 200 Then '输出DeepSeek的深度思考过程 Debug.Print (Split(Split(Split(xmlHttp.responseText, """content"":""")(1), """}")(0), """reasoning_content"":""")(1)) '输出DeepSeek的回答 Debug.Print (Split(Split(Split(xmlHttp.responseText, """content"":""")(1), """}")(0), """reasoning_content"":""")(0)) Else Debug.Print ("Error: " & xmlHttp.Status & " - " & xmlHttp.statusText) End IfEnd Sub
二、提示语样例
“Excel矩阵”内置了多个提示语样例,我们可以在此基础上修改我们的需求。
提示词样例
1.随机生成:在当前活动工作表随机生成20条记录(第一行为标题行)。其中A列为姓名,B列为详细地址信息,C列为年龄。
2.生成图表:根据当前活动工作表的A1:B10单元格,画一个饼图。其中,A列作为类型,B列作为数值;同时,显示数据标签。
3.建立目录:为当前工作簿制作带超链接的工作表目录,其中,第一列为工作表序号。
4.核对数据
5.合并表格
6.拆分表格
......
演示视频
>>推荐阅读<<
★★★查看更多的内容★★★
领取专属 10元无门槛券
私享最新 技术干货