Excel中接入DeepSeek!手把手教程!
如何将DeepSeek这个强大的AI工具接入到Excel中。
你可能会想:“这不就是将AI的能力带入到表格里吗?”没错,但操作起来并没有那么复杂。
其实,只需要一些基本的VBA编程技巧,就能让Excel和DeepSeek的API无缝对接,帮助我们更高效地处理数据。
作为程序员,我觉得这种工具的结合,既方便又有趣,今天就和大家分享一下这个过程。
实现原理简述
在正式开始之前,先跟大家简单科普一下原理。其实,通过DeepSeek提供的API,我们就能在Excel里调用它的AI能力。怎么做到的呢?其实就是借助VBA(Visual Basic for Applications)编写一些简单的代码,然后通过DeepSeek的API接口,将数据发送给它,最后再接收返回的AI结果。
这个过程需要一点点编程基础,但如果你是小白,照着教程一步一步来,也是完全能轻松搞定的。
第一步:准备工作
在正式操作之前,首先需要做好几项准备工作。这些步骤可能看起来有点琐碎,但做好了后面会非常顺利:
1.获取DeepSeek的API Key
要用DeepSeek的服务,首先得去官网申请一个API Key。由于DeepSeek的服务器资源比较紧张,官方已经暂停了API充值服务,但你可以通过腾讯云:https://curl.qcloud.com/T3M5yBHp 申请 API Key。目前能正常使用,推荐!
💡 注意:不管用哪个 API Key,对应平台账户里一定要有余额
2.启用Excel的开发者工具
你需要在Excel里启用开发者工具,这样才能使用VBA进行编程。操作步骤其实挺简单:
做好这一步后,Excel菜单栏就会多一个“开发工具”选项卡。
打开Excel,依次点击“文件 -> 选项 -> 自定义功能区”,然后勾选“开发工具”,最后点击“确定”。
3.调整信任设置
由于我们会运行宏和VBA代码,得确保Excel允许这些操作:
点击“文件 -> 选项 -> 信任中心 -> 信任中心设置 -> 宏设置”,勾选“启用所有宏”和“信任对VBA工程对象模型的访问”,最后点击“确定”。
第二步:编写VBA代码
这一步是关键,接下来我们要通过VBA代码连接DeepSeek的API,进行数据的发送和接收。下面是具体的操作步骤:
打开VBA编辑器
在Excel中,点击菜单栏的“开发工具 -> Visual Basic”,这样就会弹出一个新的VBA编辑器窗口。
在编辑器中,点击“插入 -> 模块”,创建一个新的代码模块,这样就可以开始写代码了。
粘贴核心代码
在新创建的模块中,我们将粘贴下面的核心代码:
'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 API Key。
第三步:自定义功能区
为了让操作更加方便,我们可以将这个功能加到Excel的菜单栏,做到一键操作。
添加自定义按钮
在Excel中,点击“文件 -> 选项 -> 自定义功能区”,然后右键点击“开发工具”选项卡,选择“添加新组”。
选中新建的组,右键重命名为“DeepSeek”,并为它选一个喜欢的图标。
绑定宏到按钮
第四步:测试功能
现在,我们来验证一下DeepSeek是否成功接入Excel,确保一切设置正确:
打开Excel工作表,输入一些数据,例如:“你好啊!”。 选中这段文字,点击菜单栏中添加的“MainTask”按钮。 如果一切正常,DeepSeek会返回一段文字,并显示在Excel表格的指定单元格中。
额外提示
在使用过程中,可能会遇到一些小问题,以下是一些常见的处理方法:
引用必要的库
在VBA编辑器中,点击“工具 -> 引用”,确保勾选了以下库:
Microsoft Scripting Runtime Microsoft XML, v6.0
处理可能的错误
如果在执行过程中出现错误,检查以下几点:
确保API Key没有错。 网络连接是否正常。 API请求参数是否正确。
说到这里,相信你已经对如何将DeepSeek接入Excel有了清晰的了解。其实,整个过程并没有想象中的复杂,作为程序员的我也经常用这种方式将AI工具接入到日常工作中,省时省力,效率倍增。只要按部就班,任何人都能快速掌握。
试试看,把这个AI小助手加入到你自己的工作中,感觉会很不一样哦!
最后,我为大家打造了一份deepseek的入门到精通教程,完全免费:https://www.songshuhezi.com/deepseek
同时,也欢迎加入下方的交流群,一起研究deepseek的最新玩法