Excel接入AI大模型攻略:两种方法+隐藏彩蛋「豆包」更好用!

# 为什么要用Excel调用AI?

-自动化处理:直接让AI分析数据、生成文案、翻译内容

-零代码友好:插件党也能轻松玩转智能办公

-效率翻倍:告别手动复制粘贴,结果秒出单元格

#先说结论:

-两种方法:

1、通过写入VBA代码,用代码进行操作;

2、通过安装office AI 插件,调整设置的方式进行调用。

3、在office AI 插件设置中直接选择调用“豆包”大模型,可以实现对单元格的直接操作,不仅 仅是生成操作方法

#方法讲解:

-️ 方法一:VBA代码党专属(步骤如下,提供三个代码,任选一个)

适用人群:爱折腾的技术控 | 耗时:10分钟

操作步骤:

1、在TXT文件中完成代码编写:

代码1:

Sub calldeepseekapi()

Dim question As String

Dim response As String

Dim url As String

Dim apikey As String

Dim http As Object

Dim content As String

Dim startPos As Long

Dim endPos As Long

question = ThisWorkbook.Sheets(1).Range(“A1”).Value

url = “https://api.deepseek.com/v1/chat/completions”

apikey = “你的密钥”

Set http = CreateObject(“MSXML2.XMLHTTP”)

http.Open “POST”, url, False

http.setRequestHeader “Content-Type”, “application/json”

http.setRequestHeader “Authorization”, “Bearer ” & apikey

Dim requestBody As String

requestBody = “{“”model””:””deepseek-chat””,””messages””:[{“”role””:””user””,””content””:””” & question & “””}]}”

http.send requestBody

If http.Status = 200 Then

response = http.responseText

startPos = InStr(response, “””content””:”””) + Len(“””content””:”””)

endPos = InStr(startPos, response, “”””)

content = Mid(response, startPos, endPos – startPos)

ThisWorkbook.Sheets(1).Range(“A2”).Value = content

Else

ThisWorkbook.Sheets(1).Range(“A2”).Value = “Error: ” & http.Status & ” -” & http.statusText

End If

End Sub

代码2:

Sub calldeepseekapi()

Dim question As String

Dim response As String

Dim url As String

Dim apikey As String

Dim http As Object

Dim content As String

Dim startPos As Long

Dim endPos As Long

获取问题

question = ThisWorkbook.Sheets(1).Range(“A1”).Value

API 地址和密钥

url = “https://api.deepseek.com/v1/chat/completions”

apikey = “你的密钥”

创建 HTTP 请求对象

Set http = CreateObject(“MSXML2.XMLHTTP”)

打开请求

http.Open “POST”, url, False

设置请求头

http.setRequestHeader “Content-Type”, “application/json”

http.setRequestHeader “Authorization”, “Bearer ” & apikey

构建请求体

Dim requestBody As String

requestBody = “{ “”model””: “”deepseek-chat””, “”messages””: [ { “”role””: “”user””, “”content””: “”” & question & “”” } ] }”

发送请求

http.send requestBody

处理响应

If http.Status = 200 Then

response = http.responseText

查找 “content” 字段的起始位置

startPos = InStr(response, “””content””: “””) + Len(“””content””: “””)

查找 “content” 字段的结束位置

endPos = InStr(startPos, response, “”””)

提取内容

content = Mid(response, startPos, endPos – startPos)

将结果写入单元格

ThisWorkbook.Sheets(1).Range(“A2”).Value = content

Else

请求失败,将错误信息写入单元格

ThisWorkbook.Sheets(1).Range(“A2”).Value = “Request failed with status code: ” & http.Status

End If

End Sub

代码3:

Sub calldeepseekapi()

Dim question As String

Dim response As String

Dim url As String

Dim apikey As String

Dim http As Object

Dim content As String

Dim requestBody As String

读取输入和配置

question = ThisWorkbook.Sheets(“Sheet1”).Range(“A1”).Value

url = “https://api.deepseek.com/v1/chat/completions”

apikey = “sk-your-api-key-here” 建议从单元格或安全存储读取

创建请求对象

Set http = CreateObject(“MSXML2.XMLHTTP”)

http.Open “POST”, url, False

http.setRequestHeader “Content-Type”, “application/json”

http.setRequestHeader “Authorization”, “Bearer ” & apikey

构建正确的JSON请求体

requestBody = “{“”model””:””deepseek-chat””,””messages””:[{“”role””:””user””,””content””:””” & question & “””}]}”

On Error GoTo ErrorHandler

http.send requestBody

If http.Status = 200 Then

response = http.responseText

使用更可靠的JSON解析方法(需引用库)

此处示例简化,实际建议解析JSON

content = ExtractContent(response)

ThisWorkbook.Sheets(“Sheet1”).Range(“A2”).Value = content

Else

ThisWorkbook.Sheets(“Sheet1”).Range(“A2”).Value = “Error: ” & http.Status & ” – ” & http.statusText

End If

Exit Sub

ErrorHandler:

ThisWorkbook.Sheets(“Sheet1”).Range(“A2”).Value = “Error: ” & Err.Description

End Sub

辅助函数:解析JSON响应(需完善或使用库)

Function ExtractContent(jsonResponse As String) As String

Dim startPos As Long

Dim endPos As Long

startPos = InStr(jsonResponse, “””content””:”””) + Len(“””content””:”””)

endPos = InStr(startPos, jsonResponse, “”””)

ExtractContent = Mid(jsonResponse, startPos, endPos – startPos)

End Function

2、在Excel表格中打开Visual Basic编辑器,复制粘贴写好的代码,回到Excel工作表界面,打开“开发者工具”,选择插入“窗体控件按钮”,在工作表中选择你要插入控件的位置,鼠 标左键框选生成按钮

3、在A1单元格中编写你的请求提示词,在A2单元格中将生成你需要的结果。

-方法二:(步骤如下)

-适用人群:追求效率的办公族 | 耗时:3分钟

操作步骤:

1、安装office AI 插件:目前相关插件有两种,一种付费、一种免费。付费的插件主要是:Microsoft 365 Copilot和Google Duet AI,比较全面,但费用较高;免费的插件有海鹦、达 观等

2、安装完成后,在设置里面打开“大模型设置”,选择“本地部署”,选择“Apikey”,在“大模型”下拉列表中选择“deepseekR1”,模型名选择“deepseek-reasoner”,在 “API_KEY” 中粘贴你的deepseek apikey(这里不做介绍,可以自行搜索,很简单),完成以上操作后点击“保存”

3、在Excel工作表中点开“office AI”选项,打开右侧面板,在右侧对话框中输入你想完成指令的提示词即可。

⚠️ 避坑指南:

密钥需从DeepSeek官网获取(替换代码中的sk-your-api-key)

复杂问题建议用豆包模型(文末彩蛋)

# 试用情况分析:

-以上方法部署后,从试用情况分析,目前均存在较大的局限。统一的问题是:无法直接对单元格进行操作,只能生成操作方法的提示和步骤,与想要达成的智能效果还有距离,只能等待 deepseek和插件进一步结合。区别在于:方法一在A2单元格显示结果;方法二在右侧对话框显示结果。

-意外的收获:方法二中如果选用默认系统中的“豆包”大模型,可以直接对单元格完成操作,并生成结果。

# 实测对比:谁更胜一筹?

功能 VBA代码 插件+豆包模型

操作复杂度 ⭐⭐⭐⭐(需改代码) ⭐⭐(一键配置)

单元格直接操作 ❌ 仅显示结果 ✅ 自动填充/修改数据

错误处理 ⚠️ 依赖代码完善度 ✅ 自动提示修复建议

# 注意事项

API调用次数有限,复杂任务建议分段处理

敏感数据勿用免费插件(可选本地部署版)

首次使用建议从简单指令开始测试

版权声明:lida 发表于 2025年2月13日 am11:00。
转载请注明:Excel接入AI大模型攻略:两种方法+隐藏彩蛋「豆包」更好用! | ChatGPT资源导航

相关文章