dist / tools / excelTools.js
dist / tools / excelTools.js
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.executeExcelTool = executeExcelTool;
const exceljs_1 = __importDefault(require("exceljs"));
const fs_1 = require("fs");
const path_1 = require("path");
const constants_1 = require("./constants");
async function executeExcelTool(toolName, args) {
switch (toolName) {
case "readExcelSheet": {
const file = args?.file || "";
const sheet = args?.sheet;
const path = (0, constants_1.resolveInsideBase)(file.endsWith(".xlsx") ? file : `${file}.xlsx`);
if (!(0, fs_1.existsSync)(path))
return { success: false, error: `File not found` };
const wb = new exceljs_1.default.Workbook();
await wb.xlsx.readFile(path);
const ws = sheet ? wb.getWorksheet(sheet) : wb.worksheets[0];
if (!ws)
return { success: false, error: `Sheet not found` };
const rows = [];
ws.eachRow((row) => {
const vals = [];
row.eachCell({ includeEmpty: true }, (cell) => vals.push(cell.value));
rows.push(vals);
});
return { success: true, rows, sheet: ws.name };
}
case "appendExcelRow": {
const file = args?.file || "";
const sheet = args?.sheet;
const row = Array.isArray(args?.row) ? args.row : [];
const path = (0, constants_1.resolveInsideBase)(file.endsWith(".xlsx") ? file : `${file}.xlsx`);
const wb = new exceljs_1.default.Workbook();
if ((0, fs_1.existsSync)(path))
await wb.xlsx.readFile(path);
let ws = sheet ? wb.getWorksheet(sheet) : wb.worksheets[0];
if (!ws)
ws = wb.addWorksheet(sheet || "Sheet1");
ws.addRow(row);
await (0, constants_1.ensureDirectory)((0, path_1.dirname)(path));
await wb.xlsx.writeFile(path);
return { success: true, message: `Row appended to ${ws.name}` };
}
default:
return null;
}
}
//# sourceMappingURL=excelTools.js.map"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.executeExcelTool = executeExcelTool;
const exceljs_1 = __importDefault(require("exceljs"));
const fs_1 = require("fs");
const path_1 = require("path");
const constants_1 = require("./constants");
async function executeExcelTool(toolName, args) {
switch (toolName) {
case "readExcelSheet": {
const file = args?.file || "";
const sheet = args?.sheet;
const path = (0, constants_1.resolveInsideBase)(file.endsWith(".xlsx") ? file : `${file}.xlsx`);
if (!(0, fs_1.existsSync)(path))
return { success: false, error: `File not found` };
const wb = new exceljs_1.default.Workbook();
await wb.xlsx.readFile(path);
const ws = sheet ? wb.getWorksheet(sheet) : wb.worksheets[0];
if (!ws)
return { success: false, error: `Sheet not found` };
const rows = [];
ws.eachRow((row) => {
const vals = [];
row.eachCell({ includeEmpty: true }, (cell) => vals.push(cell.value));
rows.push(vals);
});
return { success: true, rows, sheet: ws.name };
}
case "appendExcelRow": {
const file = args?.file || "";
const sheet = args?.sheet;
const row = Array.isArray(args?.row) ? args.row : [];
const path = (0, constants_1.resolveInsideBase)(file.endsWith(".xlsx") ? file : `${file}.xlsx`);
const wb = new exceljs_1.default.Workbook();
if ((0, fs_1.existsSync)(path))
await wb.xlsx.readFile(path);
let ws = sheet ? wb.getWorksheet(sheet) : wb.worksheets[0];
if (!ws)
ws = wb.addWorksheet(sheet || "Sheet1");
ws.addRow(row);
await (0, constants_1.ensureDirectory)((0, path_1.dirname)(path));
await wb.xlsx.writeFile(path);
return { success: true, message: `Row appended to ${ws.name}` };
}
default:
return null;
}
}
//# sourceMappingURL=excelTools.js.map