Excel+DeepSeek,效率起飞!【保姆级教程】
今天我们来聊聊一个非常实用的小技巧,如何把DeepSeek的强大功能接入Excel,直接在表格里调用AI能力!
对于我们这些天天与Excel打交道的来说,这无疑是个提升工作效率的神器。那么,接下来,我就带你们一步步走来,看看怎么在Excel上接入DeepSeek,让你的表格更加智能。
准备工作
要搞定这个操作,首先我们得准备好一些基础东西。就像你做一顿好菜之前,要先准备好所有食材一样,咱们也得先做一些准备工作。
1.获取DeepSeek的API Key
这是最基本的准备步骤。没有这个API Key,你就无法连接到DeepSeek的服务。虽然现在官方的API充值暂停了,不过你还可以通过一些渠道获取API Key
你可以去 腾讯云:https://curl.qcloud.com/T3M5yBHp 申请 API Key。目前能正常使用,推荐!
2.启用Excel的开发者工具
我知道有很多小伙伴平时使用Excel可能根本没注意过开发者工具在哪。别担心,教你几步就好:
这个选项卡就像是你的“武器库”,里面有各种各样的工具,方便你以后开发。
打开Excel,依次点击“文件 -> 选项 -> 自定义功能区”,勾选“开发工具”,然后点击“确定”。
完成之后,菜单栏就会多出一个“开发工具”选项卡。
3,调整信任设置
这一步别忘了。如果没有正确设置,Excel会因为安全问题阻止宏的运行。我们只需要打开“文件 -> 选项 -> 信任中心 -> 信任中心设置 -> 宏设置”,勾选“启用所有宏”和“信任对VBA工程对象模型的访问”,然后点击“确定”即可。
编写VBA代码
好了,准备工作搞定之后,就进入最关键的部分:编写VBA代码。其实,VBA就是Excel里的一种编程语言,用它来写脚本,能够让Excel变得非常智能,直接调用DeepSeek的API,就像把DeepSeek的魔法插入到Excel一样。
打开VBA编辑器
这个步骤其实非常简单,点击菜单栏的“开发工具 -> Visual Basic”,会弹出VBA编辑器窗口。这个编辑器就是你与Excel沟通的桥梁,所有的操作都能在这里完成。
创建新的模块
打开VBA编辑器后,点击“插入 -> 模块”,创建一个新的模块。接着,你就能在模块里写入代码了。
粘贴核心代码
在新建的模块中,你需要粘贴以下核心代码。
记住,这段代码会帮助Excel与DeepSeek的API进行沟通。重要的一点是:一定要把代码中的AI_KEY替换成你自己获取的DeepSeek API Key。
'VBA代码应用'▲▲▲ API配置区 ,修改API-key!其他不变Const AI_URL As String = "https://api.deepseek.com/chat/completions"'填写你的API keyConst AI_KEY As String = "xxx"Const AI_MODEL As String = "deepseek-chat"'AI交互函数不变Private Function GetAIResponse(prompt As String) As StringDim oXmlHttp As Object, requestBody As StringDim startTime As Double, apiResponse As StringConst TIMEOUT_MSG As String = "请求超时,可能原因:" & vbCrLf & _"1. 网络连接问题" & vbCrLf & _"2. API服务繁忙" & vbCrLf & _"是否重试?"Const PROCESSING_MSG As String = "AI分析中,已耗时 "On Error GoTo ErrorHandlerSet oXmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")'▲▲▲ 超时参数配置 ▲▲▲oXmlHttp.setTimeouts 5000, 8000, 20000, 60000'▼▼▼ 构建专业请求 ▼▼▼With oXmlHttp.Open "POST", AI_URL, False.setRequestHeader "Content-Type", "application/json;".setRequestHeader "Authorization", "Bearer " & AI_KEY.setRequestHeader "Accept", "*/*"End WithrequestBody = "{""model"":""" & AI_MODEL & """," & _"""messages"":[{""role"":""user"",""content"":""" & JSONEscape(prompt) & """}]," & _"""temperature"":0.7,""max_tokens"":512}"'▲▲▲ 异步处理控制 ▲▲▲startTime = TimeroXmlHttp.send requestBodyDo While oXmlHttp.readyState <> 4If Timer - startTime > 60 ThenIf MsgBox(TIMEOUT_MSG & "耗时:" & Format(Timer - startTime, "0.0") & "秒", _vbCritical + vbRetryCancel) = vbRetry ThenoXmlHttp.abortstartTime = TimeroXmlHttp.send requestBodyElseExit FunctionEnd IfEnd IfDoEventsApplication.StatusBar = PROCESSING_MSG & Format(Timer - startTime, "0.0") & "秒"Loop'▼▼▼ 响应处理 ▼▼▼If oXmlHttp.Status = 200 ThenapiResponse = oXmlHttp.responseTextGetAIResponse = ExtractJSONContent(apiResponse)ElseErr.Raise vbObjectError + 1, , "API错误:" & oXmlHttp.Status & " - " & oXmlHttp.statusTextEnd IfExit FunctionErrorHandler:If Err.Number = -2147012894 ThenIf MsgBox(TIMEOUT_MSG, vbExclamation + vbRetryCancel) = vbRetry Then ResumeElseMsgBox "AI交互错误:" & Err.Description, vbCriticalEnd IfGetAIResponse = "错误:" & Err.DescriptionFinally:Application.StatusBar = FalseSet oXmlHttp = NothingEnd Function'辅助函数:JSON转义Private Function JSONEscape(str As String) As StringJSONEscape = Replace(Replace(Replace(str, "\", "\\"), """", "\"""), vbCrLf, "\n")End Function'辅助函数:提取JSON内容Private Function ExtractJSONContent(responseText As String) As StringDim contentStart As Long, contentEnd As LongcontentStart = InStr(responseText, """content"":""") + 11contentEnd = InStr(contentStart, responseText, """")ExtractJSONContent = Replace(Mid(responseText, contentStart, contentEnd - contentStart), "\n", vbCrLf)End Function'主任务:数据处理流程Sub MainTask()Dim prompt As String, aiResponse As StringDim ws As WorksheetOn Error GoTo ErrorHandlerSet ws = ActiveSheet'▲▲▲ 构建专业提示词 ▲▲▲ 提问写在A2prompt = Range("A2")'▼▼▼ AI交互 ▼▼▼aiResponse = GetAIResponse(prompt)'▲▲▲ 结果输出 在A4ws.Range("A4").Value = aiResponsews.Range("A4").WrapText = TrueExit SubErrorHandler:MsgBox "处理数据时发生错误:" & Err.Description, vbCriticalEnd Sub
确保API Key没有错,不然代码执行的时候,DeepSeek就不会响应你的请求了。简单吧?接下来,我们让代码能在Excel里触发,方便操作。
自定义功能区
为了让操作更加方便,咱们可以在Excel的菜单栏中加一个按钮,直接点击这个按钮就能触发DeepSeek的AI功能。这就像你在游戏里给角色配了个快捷键,操作更加顺手。
添加自定义按钮
点击“文件 -> 选项 -> 自定义功能区”,右键点击“开发工具”,选择“添加新组”。
然后,在新建的组里,你可以重命名为“DeepSeek”,并给它选一个自己喜欢的图标。
绑定宏到按钮
在左侧的命令列表中,找到你刚才创建的宏“MainTask”。
点击“添加”到右侧的“DeepSeek”组中,点击确定。
这样,你就能在菜单栏中看到一个新的“DeepSeek”按钮,点击它,DeepSeek的AI就会执行你写的VBA脚本,自动给选中的文本生成结果。
测试功能
好啦,终于进入了测试阶段。接下来,我们就来验证一下DeepSeek是否成功接入Excel,看看它是否能如你所愿地工作。
打开Excel,输入一些数据,比如“你好啊!”。 选中这段文字,点击菜单栏中的“MainTask”按钮。
如果一切顺利,DeepSeek就会返回一段文字,并将其显示在表格的指定单元格中。这时候,你就可以通过AI的帮助快速处理数据了。是不是很酷?
额外提示
引用必要的库
在VBA编辑器中,点击“工具 -> 引用”,确保勾选了以下库:
Microsoft Scripting Runtime Microsoft XML, v6.0
处理可能的错误
如果在运行过程中出现错误,别慌张,先检查以下几点:
检查API Key是否正确。 确保网络连接正常。 检查代码中的参数设置,确保没有拼写错误。
总结
通过这几个简单的步骤,你就能把DeepSeek的AI功能接入到Excel中,变成一个强大的工具来辅助你的工作。其实,不管你是想做数据分析,还是想自动化某些重复性工作,DeepSeek都能给你带来很大的帮助。
最后,我为大家打造了一份deepseek的入门到精通教程,完全免费:https://www.songshuhezi.com/deepseek
同时,也欢迎加入下方的交流群,一起研究deepseek的最新玩法