在 excel js 中向包含 excel 文件的现有记录添加新记录(excel 已经包含一些值,现在正在尝试插入新记录)

Add a new record to an existing records contained excel file in excel js( already the excel contains some value now trying to insert a new record )

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 有最后一个 插入值 我什至尝试过删除列的第二个功能但是 仍然工作正常,有时会显示错误

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);

终于找到了解决上述问题的方法

//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 文件,然后你需要 select 工作簿的特定工作表(excel 文件)现在你可以使用任何形式读取文件或写入文件可以选择和更新数组或数组形式的excel的值 return 输出为文件写入函数