Excel文件管理服务器

一个基于Flask的服务器,提供Excel文件的高级管理功能,包括创建文件、定义命名范围、插入公式和处理VBA代码。

  • by charles69729798
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 charles69729798/mcp-excel

使用说明

<<<<<<< 比较基线(或“合并基线”,具体含义根据上下文而定)

Excel MCP 服务器

这个项目提供了一个基于Flask的服务器,用于管理和控制Excel文件,提供了高级功能,如从模板创建文件、定义命名范围、插入公式以及处理VBA代码。

特点/特性

  • 文件创建(/create_excel): 创建新 .xlsx 或者 .xlsm 文件。支持基于模板的创建,包含初始数据的工作表,命名范围以及公式。
    • 对于 .xlsx 文件,它支持数据验证。
    • 对于 .xlsm 包含VBA代码的文件,它支持创建工作表、填充数据、定义名称范围、插入公式以及嵌入VBA代码。 注:由于(原因),这些文件目前跳过了数据验证 win32com.client 局限性。
  • 外部数据连接(/add_external_data_connection): 为现有的Excel文件添加CSV/文本文件的外部数据连接。
  • 文件上传(/upload): 将Excel文件上传到服务器。
  • 表管理(/sheets, /read_sheet, /write_sheet): 在Excel工作表中列出、读取和写入数据。
  • 宏观管理(/read_macros, /execute_macro, /write_macro): 在(环境中)读取、执行和编写VBA宏 .xlsm 文件。
  • Excel 分析(/analyze_excel): 分析Excel文件中的工作表数据及VBA宏交互情况。

安装

  1. 克隆仓库:
    git clone <repository_url>
    cd InsuranceProject
    
  2. 创建一个虚拟环境(推荐):
    python -m venv venv
    
  3. 激活虚拟环境:
    • Windows:
      .\venv\Scripts\activate
      
    • macOS/Linux:
      source venv/bin/activate
      
  4. 安装依赖项:
    pip install -r requirements.txt
    

运行服务器

要启动Flask服务器,请运行:

python app.py

服务器通常运行在 http://127.0.0.1:5001。

使用示例

请参考API端点及其预期的JSON有效载荷以获取详细的使用方法。您可以使用 curl 或者任何HTTP客户端都可以与服务器进行交互。

示例:创建一个包含工作表和公式的Excel文件

curl -X POST -H "Content-Type: application/json" -d 
'{ 
  "filename": "my_new_file.xlsx",
  "sheets": [
    {
      "sheet_name": "Sheet1",
      "data": [
        ["Header1", "Header2"],
        [10, 20]
      ]
    }
  ],
  "formulas": [
    {
      "sheet_name": "Sheet1",
      "cell": "C2",
      "formula": "=A2+B2"
    }
  ]
}' http://127.0.0.1:5001/create_excel

示例:使用VBA代码创建一个XLSM文件

curl -X POST -H "Content-Type: application/json" -d 
'{ 
  "filename": "my_macro_file.xlsm",
  "sheets": [
    {
      "sheet_name": "Data",
      "data": [
        ["Value", 100]
      ]
    }
  ],
  "vba_code": [
    {
      "module_name": "Module1",
      "code": "Sub ShowMessage()\n  MsgBox \"Hello from VBA!\"
End Sub"
    }
  ]
}' http://127.0.0.1:5001/create_excel

局限性

  • 数据验证中的 .xlsm 使用VBA处理文件: 由于持续存在的问题 win32com.client 与Excel的COM接口交互时,无法可靠地应用数据验证 .xlsm 在创建过程中包含VBA代码的文件。此功能目前针对此类文件被跳过。
  • 外部数据连接类型: 目前仅支持CSV/文本文件连接。其他类型(如数据库、网络查询)尚未实现。

信任对VBA项目对象模型的访问

为了确保VBA宏功能正常运行,您可能需要在Excel的“信任中心”设置中启用“信任对VBA项目对象模型的访问”。这通常可以在以下位置找到: File > Options > Trust Center > Trust Center Settings... > Macro Settings。

mcp-excel 翻译为中文是“MCP-Excel”。不过,这里的“MCP”可能是一个特定上下文中的缩写或专有名词,没有具体的上下文很难确定其确切含义。在一般情况下,如果没有特定含义,“MCP-Excel”可以理解为一个结合了“MCP”(可能代表某个特定概念或产品线)和“Excel”(微软的电子表格软件)的名称或项目标识

这个项目提供了一个基于Flask的服务器,用于管理和控制Excel文件,提供了诸如从模板创建文件、定义命名范围、插入公式以及处理VBA代码等高级功能。

1c8ded511a3b41c4fe36cd9cd22da36eeb15052a