Excel自定义Copilot函数实战(Excel自定义函数)
AI_Copilot函数演示
前言
最新的Excel更新后多了一个Copilot函数,这都是需要调用大语言模型的API的(简言之月月上供),对于熟悉Office代码编程的我来说,即使微软不更新,我也是可以实现此功能的!就是自己编写一个Function呗!我完全可以实现此功能!😘😁有免费的API么?有的!有的!但下文没有介绍!
在 Excel 中自定义类似微软开发的 Copilot 的 AI 辅助函数,核心是通过 Excel 自定义函数(UDF)+ 调用 AI 接口(如 GPT、Azure OpenAI等) 实现,本质是让函数具备 “理解自然语言并返回分析结果” 的能力,以下是具体实现步骤(以 Excel 365 为例):
一、核心原理
Excel 本身无原生 “Copilot 函数”,所谓自定义类似功能,是让自定义函数接收 用户的自然语言指令(如 “分析 A 列数据的平均值并生成结论”),再通过代码调用 AI 接口获取分析结果,最终返回给 Excel 单元格。
使用方法:
- 在单元格中直接调用函数,示例:
- 仅自然语言指令:
=AI_Copilot("解释什么是Excel数据透视表") - 结合数据分析:
=AI_Copilot("计算这些数据的中位数并说明含义", A1:A10)(A1:A10 为待分析数据范围)
- 仅自然语言指令:
1. 项目结构
ExcelAICopilot/ ├─ ExcelAICopilot/ │ ├─ Properties/ │ │ └─ AssemblyInfo.cs │ ├─ Ribbon1.cs │ ├─ Ribbon1.Designer.cs │ ├─ ThisAddIn.cs │ ├─ ThisAddIn.Designer.cs │ └─ App.config └─ ExcelAICopilot.sln2. App.config(配置文件)
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="OpenAI_API_Key" value="sk-你的API密钥"/> <add key="OpenAI_API_Url" value="https://api.openai.com/v1/chat/completions"/> <add key="OpenAI_Model" value="gpt-3.5-turbo"/> </appSettings> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/> </startup> </configuration>3. ThisAddIn.cs(插件主逻辑)
using System; using System.Configuration; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; using Excel = Microsoft.Office.Interop.Excel; using Newtonsoft.Json; using System.Collections.Generic; namespace ExcelAICopilot { public partial class ThisAddIn { // 从配置文件读取API信息 private readonly string _apiKey = ConfigurationManager.AppSettings["OpenAI_API_Key"]; private readonly string _apiUrl = ConfigurationManager.AppSettings["OpenAI_API_Url"]; private readonly string _model = ConfigurationManager.AppSettin