繁体   English   中英

将新记录添加到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文件,然后您需要选择工作簿的特定工作表(excel文件),现在您可以使用任何一种可以选择的表格来更新文件的excelfile并写入excel的值了一个或多个数组的形式,并将输出作为文件写入函数返回

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM