article
README
🚀 MCP Excel 读取器
一个基于模型上下文协议 (MCP) 的服务器,用于读取 Excel 文件,能自动进行分块和分页处理。该工具使用 SheetJS 和 TypeScript 构建,可帮助您高效处理大型 Excel 文件,通过自动将其分解为易于管理的分块。
🚀 快速开始
此工具能让您高效处理大型 Excel 文件,并自动进行分块和分页。下面将介绍其安装和使用方法。
✨ 主要特性
- 📊 支持读取 Excel 文件(.xlsx、.xls)并自动设置大小限制
- 🔄 自动分块处理大数据集
- 📑 支持工作表选择和行分页
- 📅 正确处理日期
- ⚡ 优化以处理大型文件
- 🛡️ 错误处理与验证
📦 安装指南
使用 Smithery 安装
通过 Smithery 自动安装 Excel Reader for Claude Desktop:
npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude
作为 MCP 服务器
- 全局安装:
npm install -g @archimdescrypto/excel-reader
- 添加到您的 MCP 设置文件(通常位于
~/.config/mcp/config.json):
{
"servers": {
"excel-reader": {
"url": "http://localhost:3000"
}
}
}
💻 使用示例
基础用法
接口定义
请求参数:
interface ReadExcelArgs {
file: string; // Excel 文件路径或 URL
sheet?: number | string; // 要读取的工作表编号或名称(可选)
headers?: boolean; // 是否包含标题行(默认为 true)
}
响应格式:
interface ExcelResponse {
data: any[]; // 解析后的数据数组
error?: string; // 错误信息(如果有错误时返回)
}
示例代码
import { readExcel } from '@archimdescrypto/excel-reader';
async function main() {
try {
const result = await readExcel({
file: 'path/to/file.xlsx',
sheet: 0, // 指定第一个工作表
headers: true // 包含标题行
});
if (result.error) {
console.error('读取文件时出错:', result.error);
} else {
console.log('数据已成功读取:', result.data);
}
} catch (error) {
console.error('发生错误:', error);
}
}
main();
📚 详细文档
通过 SheetJS 提供的更多功能,您可以:
- 处理合并单元格
- 转换数据格式(如日期、数字)
- 应用过滤器和排序
- 操作工作表保护状态
- 管理工作簿中的多个工作表
更多详细文档请参考 SheetJS 文档。
🤝 贡献
如果您想为项目贡献代码,可以按照以下步骤进行:
- 叉仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m '添加神奇功能') - 推送到分支 (
git push origin feature/amazing-feature) - 打开 Pull Request
📄 许可证
本项目基于 MIT 许可证,具体内容请参阅 LICENSE 文件。
🙏 致谢
- 使用 SheetJS 构建
- 作为 模型上下文协议 (MCP) 生态系统的一部分
微信扫一扫