Excel转JSON工具

提供Excel和CSV数据到JSON格式的标准化转换服务,支持从数据或URL直接转换。

  • by he-yang
  • JavaScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 he-yang/excel-to-json-mcp

使用说明

WTSolutions将Excel转换为JSON MCP

中文

简介

这 Excel转换为JSON MCP (模型上下文协议)提供了一个标准化的接口,用于使用模型上下文协议将Excel和CSV数据转换为JSON格式。此MCP实现提供了两种特定的数据转换工具:

  • excel_to_json_mcp_from_data:将制表符分隔的Excel数据或逗号分隔的CSV文本数据转换为JSON格式。
  • excel_to_json_mcp_from_url:从提供的URL转换Excel文件(.xlsx)

Excel转JSON MCP是WTSolutions的Excel转JSON的一部分:

服务器配置

可用MCP服务器:

使用标准(NPX)

服务器配置JSON:

案例1:免费版本(最多处理6行数据)

如果您使用的是免费版本:

{
  "mcpServers": {
    "excel-to-json-mcp": {
      "args": [
        "excel-to-json-mcp"        
      ],
      "command": "npx"
    }
  }
}

案例2:专业版

如果您使用的是专业版(带有有效的proCode):

{
  "mcpServers": {
    "excel-to-json-mcp": {
      "args": [
        "excel-to-json-mcp"        
      ],
      "command": "npx",
      "env": {
        "proCode": "type in your proCode here"
      }
    }
  }
}

使用SSE

自v1.3.0以来不受支持

使用流式HTTP

自v1.3.0以来不受支持

MCP工具

excel_to_json_mcp_from_data

将制表符分隔的Excel数据或逗号分隔的CSV文本数据转换为JSON格式。

参数

参数 类型 必填 说明
data string Yes 制表符分隔或逗号分隔的文本数据,至少有两行(标题行+数据行)
options object No 用于自定义转换过程的可选配置对象。

注: 输入数据必须是制表符分隔(Excel)或逗号分隔(CSV)文本,至少有两行(标题行+数据行)。

  • 第一行将被视为“标题”行,此MCP将使用它作为列名,随后使用JSON键。
  • 以下行将被视为“数据”行,此MCP将把它们视为JSON值。

示例提示1:

将以下数据转换为JSON格式:

Name	Age	IsStudent
John Doe	25	false
Jane Smith	30	true

示例提示2:

将以下数据转换为JSON格式:

Name,Age,IsStudent
John Doe,25,false
Jane Smith,30,true

excel_to_json_mcp_from_url

将Excel文件从提供的URL转换为JSON格式。

参数

参数 类型 必填 说明
url string Yes 指向Excel(.xlsx)的url
options object No 用于自定义转换过程的可选配置对象。

注:

  • Excel文件的每张表应至少包含两行(标题行+数据行)。
    1. 第一行将被视为“标题”行,此MCP将使用它作为列名,随后使用JSON键。
    2. 以下行将被视为“数据”行,此MCP将把它们视为JSON值。
  • 此Excel文件应为“.xlsx”格式。
  • Excel文件的每一页都将被转换为JSON对象。
  • 每个JSON对象都将具有“sheetName”(字符串)和“data”(对象数组)属性。
  • “data”数组中的每个JSON对象都将具有与列名对应的属性。
  • “data”数组中的每个JSON对象都将具有与单元格值对应的值。

示例提示1

将Excel文件转换为JSON,文件URL:https://tools.wtsolutions.cn/example.xlsx

示例提示2

(仅适用于您没有URL并且使用在线AI LLM的情况)

我已经上传了一个.xlsx文件给你,请提取它的URL并将其发送到MCP工具“excel_to_json_MCP_from_URL”,用于excel到json的转换。

选项对象

如果您没有专业代码,您仍然可以使用此MCP工具。但是,最多将处理6行数据。

可选 options 对象可以包含以下属性,用于自定义转换过程。此功能需要有效的专业代码(Excel到JSON,WTSolutions Subscription的JSON到Excel),请参阅 定价.

属性 类型 默认值 描述
proCode string “” 用于无限制数据处理的Pro Code,需要有效订阅Excel到JSON服务。
jsonMode string “flat” JSON输出的格式模式:“嵌套”或“平面”
header string “row” 指定要用作标题的行/列:“row”(第一行)或“column”(第一列)
delimiter string “.” 使用时嵌套JSON键的分隔符 jsonMode:“嵌套”,可接受的分隔符为“.”、“_”、“__”、“/”。
emptyCell string “emptyString” 空单元格的处理:“emptyString”、“null”或“exclude”
booleanFormat string “trueFalse” 布尔值的格式:“trueFFalse”、“10”或“string”
jsonFormat string “arrayOfObject” 总体JSON输出格式:“arrayOfAbject”或“2DArray”
singleObjectFormat string “array” 当结果只有一个对象时的格式:“array”(保持为数组)或“object”(作为单个对象返回)

注:

  • delimiter 仅在以下情况下有效 jsonMode 是“嵌套”的。
  • singleObjectFormat 仅在以下情况下有效 jsonFormat 是“arrayOfObject”。
  • jsonFormat 因为“2DArray”仅在以下情况下有效 jsonMode 是“平的”。

响应格式

MCP工具返回具有以下结构的JSON对象:

字段 类型 描述
isError boolean 指示处理请求时是否出错
msg string “成功”或错误描述
data string 如果使用URL,则将数据转换为工作表对象数组,如果使用直接数据,则转换为字符串,如果有错误,则转换成“”。如果使用URL,每个表对象都包含“sheetName”(字符串)和“data”(对象数组)

成功响应示例

{
  "content": [{
    "type": "text",
    "text": "{\"isError\":false,\"msg\":\"success\",\"data\":\"[{\"Name\":\"John Doe\",\"Age\":25,\"IsStudent\":false},{\"Name\":\"Jane Smith\",\"Age\":30,\"IsStudent\":true}]\"}"
  }]
}

上面是MCP工具的响应,在大多数情况下,您的LLM应该解释响应并向您呈现一个JSON对象,例如如下所示。

请注意,不同的LLM模型可能有不同的方式来解释JSON对象,因此请检查LLM模型是否正确解释了JSON对象。

{
  "isError": false,
  "msg": "success",
  "data": "[{\"Name\":\"John Doe\",\"Age\":25,\"IsStudent\":false},{\"Name\":\"Jane Smith\",\"Age\":30,\"IsStudent\":true}]"
}
{
  "isError": false,
  "msg": "success",
  "data": [
    {
      "Name": "John Doe",
      "Age": 25,
      "IsStudent": false
    },
    {
      "Name": "Jane Smith",
      "Age": 30,
      "IsStudent": true
    }
  ]
}

[
  {
    "Name": "John Doe",
    "Age": 25,
    "IsStudent": false
  },
  {
    "Name": "Jane Smith",
    "Age": 30,
    "IsStudent": true
  }
]

失败响应示例

{
  "content": [{
    "type": "text",
    "text": "{\"isError\": true, \"msg\": \"Network Error when fetching file\", \"data\": \"\"}"
  }]
}

上面是MCP工具的响应,在大多数情况下,您的LLM应该解释响应并向您呈现一个JSON对象,例如如下所示。

请注意,不同的LLM模型可能有不同的方式来解释JSON对象,因此请检查您的LLM模式是否正确解释了响应。

{
  "isError": true,
  "msg": "Network Error when fetching file",
  "data": ""
}

或者,您的LLM也可能会对您说“获取文件时发生网络错误,请稍后重试”。

数据类型处理

API自动检测和转换不同的数据类型:

  • 数字:转换为数值
  • 布尔值:识别“true”/“false”(不区分大小写)并转换为布尔值
  • 日期:检测各种日期格式并对其进行适当转换
  • 字符串:作为字符串值处理
  • 空值:表示为空字符串

错误处理

MCP返回常见问题的描述性错误消息:

  • Excel Data Format Invalid:当输入数据不是制表符分隔或逗号分隔时
  • At least 2 rows are required:当输入数据少于2行时
  • Both data and url received:同时提供“data”和“url”参数时
  • Network Error when fetching file:从提供的URL下载文件时出错
  • File not found:找不到提供URL处的文件时
  • Blank/Null/Empty cells in the first row not allowed:当标题行包含空单元格时
  • Server Internal Error:发生意外错误时
  • Pro Code Invalid:当提供的专业代码无效或未订阅时
  • Max 6 rows processed:如果没有提供有效的Pro Code,则只会处理前6行数据。

服务协议和隐私政策

通过使用Excel转换为JSON MCP,您同意 服务协议,以及 隐私政策.

定价

免费版本,最多处理6行数据。 专业版,无限制数据处理。

请参考 定价页面 了解更多详情。