](https://mseep.ai/app/archimedescrypto-excel-reader-mcp)
MCP Excel阅读器
](https://smithery.ai/server/@ArchimedesCrypto/excel-reader-mcp-chunked) 一种模型上下文协议(MCP)服务器,用于读取具有自动分块和分页支持的Excel文件。该工具使用SheetJS和TypeScript构建,通过自动将大型Excel文件分解为可管理的块,帮助您高效处理大型Excel文件。
特性
- 📊 读取具有自动大小限制的Excel文件(.xlsx、.xls)
- 🔄 大型数据集的自动分块
- 📑 纸张选择和行分页
- 📅 正确处理日期
- ⚡ 针对大文件进行了优化
- 🛡️ 错误处理和验证
安装
通过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/claude/settings.json或同等):
{
"mcpServers": {
"excel-reader": {
"command": "excel-reader",
"env": {}
}
}
}为了发展
- 克隆存储库:
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git
cd mcp-excel-reader- 安装依赖项:
npm install- 构建项目:
npm run build用法
用法
Excel阅读器提供了一个单一的工具 read_excel 具有以下参数:
interface ReadExcelArgs {
filePath: string; // Path to Excel file
sheetName?: string; // Optional sheet name (defaults to first sheet)
startRow?: number; // Optional starting row for pagination
maxRows?: number; // Optional maximum rows to read
}
// Response format
interface ExcelResponse {
fileName: string;
totalSheets: number;
currentSheet: {
name: string;
totalRows: number;
totalColumns: number;
chunk: {
rowStart: number;
rowEnd: number;
columns: string[];
data: Record[];
};
hasMore: boolean;
nextChunk?: {
rowStart: number;
columns: string[];
};
};
}基本用法
当与Claude或其他兼容MCP的AI一起使用时:
Read the Excel file at path/to/file.xlsxAI将使用该工具读取文件,自动处理大文件的分块。
特性
- 自动分块
- 自动将大文件拆分为可管理的块 - 默认块大小为100KB - 提供分页元数据
- 图纸选择
- 按名称阅读特定表格 - 如果未指定,则默认为第一页
- 行分页
- 使用startRow和maxRows控制要读取的行 - 获取下一个块信息以进行连续读取
- 错误处理
- 验证文件是否存在和格式 - 提供清晰的错误消息 - 优雅地处理格式错误的Excel文件
使用SheetJS功能进行扩展
Excel Reader基于SheetJS构建,可以通过其强大的功能进行扩展:
可用扩展
- 配方处理
// Enable formula parsing
const wb = XLSX.read(data, {
cellFormula: true,
cellNF: true
});- 单元格格式
// Access cell styles and formatting
const styles = Object.keys(worksheet)
.filter(key => key[0] !== '!')
.map(key => ({
cell: key,
style: worksheet[key].s
}));- 数据验证
// Access data validation rules
const validation = worksheet['!dataValidation'];- 图纸特征
- 合并单元格: worksheet['!merges'] - 隐藏行/列: worksheet['!rows'], worksheet['!cols'] - 板材保护: worksheet['!protect']
有关更多功能和详细文档,请访问 SheetJS文档.
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
