Dia antes primera install
This commit is contained in:
30
node_modules/node-red-contrib-xlsx-to-json/README.md
generated
vendored
Normal file
30
node_modules/node-red-contrib-xlsx-to-json/README.md
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
# node-red-contrib-xlsx-to-json
|
||||
Castellano
|
||||
|
||||
Nodo para convertir en JSON un archivo xlsx, pudiendo seleccionar una pestaña o un rango específico del excel.
|
||||
|
||||
Los parámetros que necesita para funcionar son:
|
||||
|
||||
msg.filepath: La ruta donde se encuentra el archivo xlsx
|
||||
|
||||
msg.rangecell: Opcional. El rango de celdas que se leeran del excel. Ejemplo -> "A2:M6"
|
||||
|
||||
msg.columkey: Opcional. La cabecera para cada columna que se va a leer. Es un objeto. Ejemplo -> {"A":"Titulo","B":"Descripción"}
|
||||
|
||||
msg.sheet: El nombre de la hoja del libro que se van a leer. Ejemplo -> Hoja 1
|
||||
|
||||
--------------------------
|
||||
|
||||
English
|
||||
|
||||
Node to convert an xlsx file into JSON, being able to select a tab or a specific range of excel.
|
||||
|
||||
The parameters it needs to work are:
|
||||
|
||||
msg.filepath:The path where the xlsx file is located
|
||||
|
||||
msg.rangecell: Optional. The range of cells to be read from excel. Example -> "A2:M6"
|
||||
|
||||
msg.columkey: Optional. The header for each column to be read. Its an object. Example -> {"A":"Titulo","B":"Descripción"}
|
||||
|
||||
msg.sheet: The name of the book sheets to be read. Example -> Sheet 1
|
||||
20
node_modules/node-red-contrib-xlsx-to-json/package.json
generated
vendored
Normal file
20
node_modules/node-red-contrib-xlsx-to-json/package.json
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"name": "node-red-contrib-xlsx-to-json",
|
||||
"version": "1.0.0",
|
||||
"description": "Node to convert an xlsx file into JSON, being able to select a tab or a specific range of excel.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "Rageljimenez",
|
||||
"license": "ISC",
|
||||
"keywords": [ "node-red" ],
|
||||
"node-red": {
|
||||
"nodes": {
|
||||
"xlsxtojson": "xlsx-to-json.js"
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"convert-excel-to-json": "^1.7.0"
|
||||
}
|
||||
}
|
||||
67
node_modules/node-red-contrib-xlsx-to-json/xlsx-to-json.html
generated
vendored
Normal file
67
node_modules/node-red-contrib-xlsx-to-json/xlsx-to-json.html
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
<script type="text/javascript">
|
||||
RED.nodes.registerType('XLSX-to-json',{
|
||||
category: 'function',
|
||||
color: '#0DC2B2',
|
||||
defaults: {
|
||||
name: {value: "xlsx to json"},
|
||||
filepath: { value: ""},
|
||||
rangecell: { value: ""},
|
||||
columnkey: { value: ""},
|
||||
sheet: { value: ""}
|
||||
},
|
||||
inputs:1,
|
||||
outputs:1,
|
||||
icon: "font-awesome/fa-file-excel-o",
|
||||
label: function() {
|
||||
return this.name||"XLSX-to-json";
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/html" data-template-name="XLSX-to-json">
|
||||
<div class="form-row">
|
||||
<label for="node-input-name"><i class="icon-tag"></i>Name</label>
|
||||
<input type="text" id="node-input-name" placeholder="Name">
|
||||
</div>
|
||||
<!-- Pedimos el path -->
|
||||
<div class="form-row">
|
||||
<label for="node-input-filepath"><i class="icon-tag"></i>Filepath</label>
|
||||
<input type="text" id="node-input-filepath" placeholder="filename.xlsx">
|
||||
</div>
|
||||
|
||||
<!-- Pedimos el rango -->
|
||||
<div class="form-row">
|
||||
<label for="node-input-rangecell"><i class="icon-tag"></i>Rangecell</label>
|
||||
<input type="text" id="node-input-rangecell" placeholder="A1:C5">
|
||||
</div>
|
||||
|
||||
<!-- Pedimos las cabeceras -->
|
||||
<div class="form-row">
|
||||
<label for="node-input-columnkey"><i class="icon-tag"></i>Columkey</label>
|
||||
<input type="text" id="node-input-columnkey" placeholder='{"A":"Title", "B":"Description"}'>
|
||||
</div>
|
||||
|
||||
<!-- Pedimos las hojas -->
|
||||
<div class="form-row">
|
||||
<label for="node-input-sheet"><i class="icon-tag"></i>Sheet</label>
|
||||
<input type="text" id="node-input-sheet" placeholder="Sheet 1">
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/html" data-help-name="XLSX-to-json">
|
||||
<p> <b> Castellano </b></p>
|
||||
<p> Nodo para convertir en JSON un archivo xlsx, pudiendo seleccionar una pestaña o un rango específico del excel.</p>
|
||||
<p> Los parámetros que necesita para funcionar son: </p>
|
||||
<p><b>msg.filepath:</b> La ruta donde se encuentra el archivo xlsx</p>
|
||||
<p><b>msg.rangecell:</b> Opcional. El rango de celdas que se leeran del excel. Ejemplo -> "A2:M6"</p>
|
||||
<p><b>msg.columkey:</b> Opcional. La cabecera para cada columna que se va a leer. Es un objeto. Ejemplo -> {"A":"Titulo","B":"Descripción"}</p>
|
||||
<p><b>msg.sheet:</b> El nombre de la hoja del libro que se van a leer. Ejemplo -> Hoja 1</p>
|
||||
<p>--------------------------</p>
|
||||
<p> <b> English </b></p>
|
||||
<p> Node to convert an xlsx file into JSON, being able to select a tab or a specific range of excel.</p>
|
||||
<p> The parameters it needs to work are: </p>
|
||||
<p><b>msg.filepath:</b>The path where the xlsx file is located</p>
|
||||
<p><b>msg.rangecell:</b> Optional. The range of cells to be read from excel. Example -> "A2:M6"</p>
|
||||
<p><b>msg.columkey:</b> Optional. The header for each column to be read. Its an object. Example -> {"A":"Titulo","B":"Descripción"}</p>
|
||||
<p><b>msg.sheet:</b> The name of the book sheets to be read. Example -> Sheet 1</p>
|
||||
</script>
|
||||
52
node_modules/node-red-contrib-xlsx-to-json/xlsx-to-json.js
generated
vendored
Normal file
52
node_modules/node-red-contrib-xlsx-to-json/xlsx-to-json.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
module.exports = function(RED){
|
||||
function convertxlsx(config){
|
||||
RED.nodes.createNode(this,config);
|
||||
//Los inputs
|
||||
this.filepath = config.filepath;
|
||||
this.rangecell = config.rangecell;
|
||||
this.columnkey = config.columnkey;
|
||||
this.sheet = config.sheet;
|
||||
|
||||
var node = this;
|
||||
node.on('input', function(msg){
|
||||
if(!node.filepath){
|
||||
node.filepath = msg.filepath;
|
||||
}
|
||||
|
||||
if (!node.rangecell){
|
||||
node.rangecell = msg.rangecell;
|
||||
}
|
||||
if(!node.columnkey){
|
||||
node.columnkey = msg.columnkey;
|
||||
}
|
||||
|
||||
if (!node.sheet){
|
||||
node.sheet = msg.sheet;
|
||||
}
|
||||
const excelToJson = require('convert-excel-to-json');
|
||||
let result = {};
|
||||
let columnas;
|
||||
const defaultColumn = '{"*": "{{columnHeader}}"}';
|
||||
|
||||
if(node.columnkey){
|
||||
columnas = JSON.parse(node.columnkey);
|
||||
}else{
|
||||
|
||||
columnas = JSON.parse(defaultColumn);
|
||||
}
|
||||
result = excelToJson({
|
||||
sourceFile: node.filepath,
|
||||
range: node.rangecell,
|
||||
columnToKey: columnas
|
||||
// sheets: node.sheet
|
||||
})
|
||||
if (node.sheet){
|
||||
msg.payload = result[node.sheet];
|
||||
}else{
|
||||
msg.payload = result;
|
||||
}
|
||||
node.send(msg);
|
||||
});
|
||||
}
|
||||
RED.nodes.registerType("XLSX-to-json", convertxlsx);
|
||||
}
|
||||
Reference in New Issue
Block a user