Добавить новую запись в существующую запись, содержащую файл Excel в Excel JS (уже Excel содержит некоторое значение, теперь пытается вставить новую запись) - PullRequest
0 голосов
/ 30 апреля 2018

1 -Я хочу добавить в Excel новую запись, которая уже содержит некоторую ценность 2 - Есть ли способ использовать Excel в качестве базы данных для нашего проекта

чтобы клиент мог эффективно использовать Excel

// скрипт file.js

          var  Excel = require('exceljs');
          var workbook = new Excel.Workbook();

        //calling 2 function (writeFile() and writeFile1() )
          writeFile();
          writeFile1();
         // this function should add/ create the record in excel file  
          function writeFile(){

                    var worksheet = workbook.addWorksheet('sheet1');
                     worksheet.columns =[
                     {header:"Id",key:"id",width:10},
                     {header:'Type',key:'type',width:15},
                     {header:'Assigned Engineer',key:'eng',width:25},
                     {header:'Due Date',key:'ddate',width:18},
                     {header:'Client Name',key:'cname',width:20},
                     {header:'person Name',key:'pname',width:20},
                     {header:'enquiry type',key:'etype',width:18},
                     {header:'acknowledge',key:'ack',width:20}
                      ]



    Worksheet.addRow({id:16,type:"Trading1221",eng:"Dhanasekar122",ddate:new 
        Date(),cname:"Ford22",pname:"sekar22",etype:"pipeling2",ack:"Y2"})
    worksheet.addRow({id:71,type:"Trading3221",eng:"Dhanasekar322",ddate:new 
    Date(),cname:"Ford32",pname:"sekar32",etype:"pipeling3",ack:"Y3"})

    workbook.xlsx.writeFile('file2.xlsx').then(function(){

     })
        }

      //similary this below function should also add the record inside the  
       // excel
     function writeFile1(){
      var worksheet = workbook.addWorksheet('sheet1');
                     worksheet.columns =[
                     {header:"Id",key:"id",width:10},
                     {header:'Type',key:'type',width:15},
                     {header:'Assigned Engineer',key:'eng',width:25},
                     {header:'Due Date',key:'ddate',width:18},
                     {header:'Client Name',key:'cname',width:20},
                     {header:'person Name',key:'pname',width:20},
                     {header:'enquiry type',key:'etype',width:18},
                     {header:'acknowledge',key:'ack',width:20}
                      ]

  Worksheet.addRow({id:11,type:"Trading1221",eng:"Dhana11sekar122",ddate:new 
        Date(),cname:"Fo12",pname:"sekar122",etype:"pi1peling2",ack:"Y2"})



worksheet.addRow({id:171,type:"Trading31221",eng:"Dhanasekar11322",ddate:new 
    Date(),cname:"For1d32",pname:"sek1ar32",etype:"pipelin1g3",ack:"Y13"})

    workbook.xlsx.writeFile('file2.xlsx').then(function(){

     })
      }

// то, что происходит, это значение перезаписывается, а Excel имеет последний вставленное значение Я даже пытался во второй функции удаления столбцов, но все еще работает так же и показывает ошибку на некоторое время

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Наконец-то я нашел решение вышеуказанной проблемы

// file1.js

           var Excel = require('exceljs')
           var workbook = new Excel.Workbook()
           var arr=[]
           workbook.xlsx.readFile('./file4.xlsx')
           .then(function(){
            var worksheet = workbook.getWorksheet(1)
          var row =[
       [   55,"trading","sekar",new Date(2017-02-12),"ashok leyaland",arun",    
          "modeling","Y"],
       [99,"training",new Date(2018-02-13),"tata motors","dhana","reference 
           name","wheldding","Y"]
       ]


        worksheet.addRows(row)
             return       workbook.xlsx.writeFile('./file4.xlsx')
           })

// сначала вам нужно прочитать соответствующий файл Excel, а затем вам нужно выбрать конкретный лист рабочей книги (файл Excel), теперь вы можете читать файл записи, используя любую форму, которую вы можете выбрать, и обновить значение Excel в форме. массива или массивов и вернуть вывод как функцию записи файла

0 голосов
/ 30 апреля 2018

excelJS требует массив объектов, где каждый объект указывает на строку в Excel, попробуйте сделать это, это должно решить вашу pblm

var rows = [{id:11,type:"Trading1221",eng:"Dhana11sekar122",ddate:new Date(),cname:"Fo12",pname:"sekar122",etype:"pi1peling2",ack:"Y2"},
      {id:171,type:"Trading31221",eng:"Dhanasekar11322",ddate:new Date(),cname:"For1d32",pname:"sek1ar32",etype:"pipelin1g3",ack:"Y13"}];

  worksheet.addRows(rows);
...