使用说明
<<<<<<< 比较基线(或“合并基线”,具体含义根据上下文而定)
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宏交互情况。
安装
- 克隆仓库:
git clone <repository_url> cd InsuranceProject - 创建一个虚拟环境(推荐):
python -m venv venv - 激活虚拟环境:
- Windows:
.\venv\Scripts\activate - macOS/Linux:
source venv/bin/activate
- Windows:
- 安装依赖项:
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