如何在使用js-xlsx插件生成的excel中添加filter

我想在使用js-xlsx javascript插件的数据数组创build的excel列上添加filter,但是我没有find任何方法将filter添加到表列。

请帮助我,如果有人知道如何添加筛选器在Excel中的列

我已经编写了这个代码来创build工作表对象

function createSheet(data, opts) { console.log(data, opts); var ws = {}; var range = {s: {c: 10000000, r: 10000000}, e: {c: 0, r: 0}}; for (var R = 0; R != data.length; ++R) { for (var C = 0; C != data[R].length; ++C) { if (range.sr > R) range.sr = R; if (range.sc > C) range.sc = C; if (range.er < R) range.er = R; if (range.ec < C) range.ec = C; var cell = {v: data[R][C]}; if (cell.v == null) continue; var cell_ref = XLSX.utils.encode_cell({c: C, r: R}); console.log(cell_ref); if (typeof cell.v === 'number') cell.t = 'n'; else if (typeof cell.v === 'boolean') cell.t = 'b'; else if (cell.v instanceof Date) { cell.t = 'n'; cell.z = XLSX.SSF._table[14]; cell.v = dateNum(cell.v); } else cell.t = 's'; ws[cell_ref] = cell; console.log(cell); } } console.log(range.sc); if (range.sc < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); return ws; } 

我arrays中的数据如下图所示

 [["Rank","Country","Population","% of world population","Date"],["1","India","1,273,140,000","17.6%","June 24, 2015"],["2","Pakistan","190,156,000","2.62%","June 24, 2015"],["3","Nigeria","183,523,000","2.53%","July 1, 2015"],["4","Bangladesh","126,880,000","2.19%","June 24, 2015"]] 

您可以在createSheet函数的return语句之前添加以下行。

 ws['!autofilter']={ref:"A1:E1"}; 

您可以根据您的要求扩展这些范围。