【问题标题】:How can I copy an array to each cell of a column starting from a certain cell, instead of to each cell of a row?如何将数组复制到从某个单元格开始的列的每个单元格,而不是复制到一行的每个单元格?
【发布时间】:2018-03-22 04:27:01
【问题描述】:

我如何复制一个数组,以便它复制到 F 列下的每个单元格中,而不是像我现在在我的代码中那样跨越某一行。在这种情况下,它是“7”行。我怎样才能做到这一点并从某个单元格开始,比如说 F3。我目前正在使用 ExcelJS,但愿意尝试其他事情。

Index.Js

var Excel = require('exceljs');

       var captureNames = [1,2,3,A,B,C];

   workbook.xlsx.readFile("X:\\TESTING_DATA\\eclipse-database\\myExcelFile.xlsx")
          .then(function() {

            var sheet = workbook.addWorksheet('My Sheets');
            var worksheet = workbook.getWorksheet("My Sheets");

            var row = worksheet.getRow(7);
            row.values = captureNames;

            return workbook.xlsx.writeFile("X:\\TESTING_DATA\\eclipse-database\\myExcelFile.xlsx");


        })

我现在得到的

我想要什么

【问题讨论】:

    标签: javascript node.js excel exceljs


    【解决方案1】:

    由于缺少示例文件而没有测试,但你应该做类似的事情:

    captureNames.forEach(function(name, i) {
      worksheet.getCell('F' + (3 + i)).value = name
    })
    

    【讨论】:

    • 我不得不稍微改变一下,但基本公式是正确的。非常感谢!!将编辑我的答案!
    • 我相信这段代码应该按照 exceljs 1.0 的文档工作。你用的是哪个版本?
    • 1.0.0.也!它是这样工作的: captureNames.forEach(function(name, i) { worksheet.cell('F' + (3 + i)).value(name); })
    【解决方案2】:

    只需添加这样的公式,谢谢@dotsu!

     captureNames.forEach(function(name, i) {
                            worksheet.cell('F' + (3 + i)).value(name);
                        })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-15
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多