Skip to content
Snippets Groups Projects
Commit 7fd3a392 authored by Renzo Beux's avatar Renzo Beux
Browse files

continue with implementation taking into account sheet prototype given by analysts staff

parent c9d7233a
No related branches found
No related tags found
No related merge requests found
/* eslint-disable import/extensions */
/* eslint-disable no-console */
import { Request, Response } from "express";
import { parseExcelService } from "../Services/SheetService";
const parseExcel = async (req:Request, res:Response) => {
console.log(req);
console.log(res);
res.status(200).send(parseExcelService());
};
module.exports = {
......
import * as XLSX from "xlsx";
const parseExcel = (excelFile) => {
XLSX.readFile(excelFile);
};
module.exports = {
parseExcel,
};
/* eslint-disable no-param-reassign */
/* eslint-disable no-plusplus */
/* eslint-disable import/prefer-default-export */
/* eslint-disable no-console */
import * as XLSX from "xlsx";
/* PRIVATE FUNCTIONS */
const ec = (r:any, c:any) => XLSX.utils.encode_cell({ r, c });
const deleteRow = (ws:any, rowIndex:any) => {
const variable = XLSX.utils.decode_range(ws["!ref"]);
for (let R = rowIndex; R < variable.e.r; ++R) {
for (let C = variable.s.c; C <= variable.e.c; ++C) {
ws[ec(R, C)] = ws[ec(R + 1, C)];
}
}
variable.e.r--;
ws["!ref"] = XLSX.utils.encode_range(variable.s, variable.e);
};
/* EXPORT FUNCTIONS */
export const parseExcelService = () => {
const workbook = XLSX.readFile("src\\Services\\test.xlsx");
// TODO: need definition of sheet
workbook.SheetNames.forEach((sheetName) => {
const worksheet = workbook.Sheets[sheetName];
const ref = worksheet["!ref"]!;
const range = XLSX.utils.decode_range(ref);
range.s.c = 0; // 0 == XLSX.utils.decode_col("A")
range.e.c = 1; // 6 == XLSX.utils.decode_col("B")
const newRange = XLSX.utils.encode_range(range);
deleteRow(worksheet, 0);
const parsed = XLSX.utils.sheet_to_json(worksheet, { range: newRange });
console.log(parsed);
return parsed;
});
};
File added
......@@ -41,6 +41,6 @@ router.get("/", (req:Request, res:Response):void => {
* excelParsed:
* type: string
*/
router.post("/excelParser", parseExcel);
router.get("/excelParser", parseExcel);
module.exports = router;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment