Узел exceljs чтение файла



Итак, согласно официальной документации я должен уметь читать документ excel, используя:



    // read from a file 
var workbook = new Excel.Workbook();
workbook.xlsx.readFile(filename)
.then(function() {
// use workbook
});

// pipe from stream
var workbook = new Excel.Workbook();
stream.pipe(workbook.xlsx.createInputStream());


У меня есть следующий документ:



Введите описание изображения здесь



Что мне нужно сделать, это в основном загрузить каждую строку в объект:



var excelObject = {competence1: '', competence2: ''}


, а затем сохраните его в массив.



Однако документация не дает мне больше информации о том, как я мог бы читать из этого файла. Он использует переменную под названием stream, однако эта переменная нигде не объясняется.



Знает ли кто-нибудь плагин и знаете, как я могу достичь своей цели?

750   4  

4 ответов:

var workbook = new Excel.Workbook(); 
workbook.xlsx.readFile(filename)
    .then(function() {
        var worksheet = workbook.getWorksheet(sheet);
        worksheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {
          console.log("Row " + rowNumber + " = " + JSON.stringify(row.values));
        });
    });

И в случае, если вы используете файл в качестве ArrayBuffer (например, файл был прочитан на клиенте с помощью FileReader.readAsArrayBuffer ()), затем, чтобы загрузить его с помощью этой библиотеки, вам нужно сделать следующее:

    let workbook = new Excel.Workbook();
    let stream = new Stream.Readable();
    stream.push(file); // file is ArrayBuffer variable
    stream.push(null);
    workbook.xlsx.read(stream).then((workbook)=> {
         // get worksheet, read rows, etc
    });

Приведенный ниже фрагмент кода поможет вам прочитать пример файла.xlsx, который содержит две колонки 1. имя пользователя 2. пароль:. и я пытаюсь утверждать с помощью Мокко (чай), чтобы проверить соответствие типа данных.

var Excel = require('exceljs');
const assert = require("chai").assert;

var workbook = new Excel.Workbook();
workbook.creator ="Naveen"; 
workbook.modified ="Kumar";


workbook.xlsx.readFile("sample.xlsx").then(function(){
    var workSheet =  workbook.getWorksheet("one"); 

    workSheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {

        currRow = workSheet.getRow(rowNumber); 
         console.log("User Name :" + currRow.getCell(1).value +", Password :" +currRow.getCell(2).value);
         console.log("User Name :" + row.values[1] +", Password :" +  row.values[2] ); 

         assert.equal(currRow.getCell(2).type, Excel.ValueType.Number); 
       //  console.log("Row " + rowNumber + " = " + JSON.stringify(row.values));
      });
})

Надеюсь, это кому-то поможет

//Read a file
var workbook = new Excel.Workbook();
workbook.xlsx.readFile("data/Sample.xlsx").then(function () {

    //Get sheet by Name
    var worksheet=workbook.getWorksheet('Sheet1');

    //Get Lastrow
    var row = worksheet.lastRow

    //Update a cell
    row.getCell(1).value = 5;

    row.commit();

    //Save the workbook
    return workbook.xlsx.writeFile("data/Sample.xlsx");

});

Comments

    Ничего не найдено.