Loops DataTables+PDFmake=彩色PDF表格单元格?

Loops DataTables+PDFmake=彩色PDF表格单元格?,loops,datatables,each,pdfmake,Loops,Datatables,Each,Pdfmake,我正试图从下面的数组表中打印一个PDF文件,其中每个带有“软件工程师”一词的单元格都是蓝色的,带有“伦敦”一词的单元格都是红色的。要使用循环执行此操作,请逐个扫描所有行或列,而不是特定的行或列。 然而,我就是不能让它工作,我开始放弃。我想这和每种方法都有关系吧 举个例子,如果年龄低于40岁,它会更改PDF中的单元格。像这样的东西也适合你 代码的关键部分是: buttons: [ { extend: "pdfHtml5", customize: function(doc) {

我正试图从下面的数组表中打印一个PDF文件,其中每个带有“软件工程师”一词的单元格都是蓝色的,带有“伦敦”一词的单元格都是红色的。要使用循环执行此操作,请逐个扫描所有行或列,而不是特定的行或列。 然而,我就是不能让它工作,我开始放弃。我想这和每种方法都有关系吧

举个例子,如果年龄低于40岁,它会更改PDF中的单元格。像这样的东西也适合你

代码的关键部分是:

buttons: [
  {
    extend: "pdfHtml5",
    customize: function(doc) {
      age = table.column(3).data().toArray();
      for (var i = 0; i < age.length; i++) {
        if (age[i] < 40) {
          doc.content[1].table.body[i+1][3].fillColor = 'blue';
        }
      }
    }
  }
]

很好,很有效!如果我想用另一个for循环遍历所有单元格,如何从表中提取列数?我不想使用var column=0;column table.columns.count将告诉您有多少列,您可以将其用作for循环中的边界
buttons: [
  {
    extend: "pdfHtml5",
    customize: function(doc) {
      age = table.column(3).data().toArray();
      for (var i = 0; i < age.length; i++) {
        if (age[i] < 40) {
          doc.content[1].table.body[i+1][3].fillColor = 'blue';
        }
      }
    }
  }
]