【最全教程】DeepSeek接入Excel,效率起飞!
作为一个程序员,我总是喜欢在看似简单的工具上做点小动作,给它们加点“黑科技”。
你有没有想过,把Excel和AI结合起来,做一些超炫的操作?比如,利用DeepSeek的强大能力,让你在Excel表格中直接调取AI的分析结果、自动化生成数据,效率直接飙升。
不过,首先,你得准备好一点东西,然后跟我一起走一遍步骤。别怕,虽然说是编程,但放心,我保证这个过程不会让你抓狂。
实现原理简述
首先,给大家简单介绍一下背后的原理。DeepSeek 提供了一个API接口,你可以通过在Excel里编写VBA代码来调用它。然后,DeepSeek的AI就能对你表格中的数据进行处理,给你返回智能生成的内容。简单来说,就是把Excel变成了一个超级智能的AI助手。
不过,放心,即使你对VBA不熟悉,按照步骤走,你一样能轻松上手,做出属于自己的神奇功能。
第一步:准备工作
在我们正式开始之前,先来确保几个准备工作完成:
1. 获取DeepSeek的API Key
你需要一个DeepSeek的API Key,这个是让Excel能够和DeepSeek通信的钥匙。官方的API充值服务暂时停止了
你可以去 腾讯云:https://curl.qcloud.com/T3M5yBHp 申请 API Key。目前能正常使用,推荐!
💡 注意:不管用哪个 API Key,对应平台账户里一定要有余额,否则就跟打电话没话费一样,连不上的。
2. 启用Excel的开发者工具
接下来,我们需要在Excel里开启开发者工具,这样才能编辑代码。操作也很简单:
打开Excel,点击“文件” -> “选项” -> “自定义功能区”。 勾选“开发工具”,然后点击“确定”。 这时,你的菜单栏上会多出一个“开发工具”选项卡。
3. 调整信任设置
为了让VBA代码正常运行,我们还需要调整一下Excel的信任设置。操作方法如下:
点击“文件” -> “选项” -> “信任中心” -> “信任中心设置” -> “宏设置”。 选择“启用所有宏”并勾选“信任对VBA工程对象模型的访问”,然后点击“确定”。
这样,我们就做好了准备,接下来可以开始写代码了。
第二步:编写VBA代码
这个步骤可能会让你稍微紧张,因为我们要动手写点VBA代码。不过,别担心,按照我说的步骤走,你就能顺利完成。
1. 打开VBA编辑器
首先,我们需要进入VBA编辑器来编写代码:
在“开发工具”选项卡中,点击“Visual Basic”。
这时会弹出一个窗口,点击“插入” -> “模块”,创建一个新的模块。
2. 粘贴核心代码
在新建的模块里,我们要粘贴以下的代码:
'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
3. 修改API Key
在代码中,找到 API_KEY = "你的API_KEY",然后将 "你的API_KEY" 替换为你从DeepSeek获得的API Key。
这样,你的代码就完成了。
第三步:自定义功能区
为了让操作更方便,我们可以在Excel里加个按钮,点击它就能触发DeepSeek的功能。这样每次都不用去VBA编辑器里手动执行,直接点击按钮就好。
1. 添加自定义按钮
点击“文件” -> “选项” -> “自定义功能区”。 右键点击“开发工具”,选择“添加新组”。 给新组命名,比如“DeepSeek”,然后选择一个喜欢的图标。
2. 绑定宏到按钮
在左侧的命令列表中,找到你刚才创建的宏“MainTask”。 选中它,点击“添加”到右侧的“DeepSeek”组中。 点击确定。
现在,Excel菜单栏中就有了一个专门的按钮,每次你需要调用DeepSeek时,只需点击它就行。
第四步:测试功能
一切准备就绪,现在是时候测试我们的大工程了!
打开一个Excel工作表,输入一些数据,比如“你好啊!”。 选中这段文字,点击菜单栏中的“MainTask”按钮。 如果设置正确,DeepSeek会返回一段处理后的结果,并显示在Excel表格的相邻单元格中。
额外提示
在使用VBA时,有几个小细节值得注意:
1. 引用必要的库
在VBA编辑器中,点击“工具” -> “引用”,确保勾选以下库:
Microsoft Scripting Runtime Microsoft XML, v6.0
这些库可以确保代码能够顺利运行。
2. 处理可能的错误
如果你在运行过程中遇到问题,不妨试试以下方法:
检查API Key是否正确。 确保网络连接正常。 调整代码中的参数设置。
总的来说,接入DeepSeek到Excel并不是很复杂,经过这几步,你就能快速上手。而且你会发现,借助AI的力量,你在处理Excel数据时会更高效、更智能,几乎不需要再为那些繁琐的重复性工作发愁了。
好了,今天的分享就到这里。希望你在操作的过程中能享受这个过程,变成一个AI加持的Excel高手!
最后,我为大家打造了一份deepseek的入门到精通教程,完全免费:https://www.songshuhezi.com/deepseek
同时,也欢迎加入下方的交流群,一起研究deepseek的最新玩法