2016-06-07 9 views
8

.kullanılarak oluşturulan js-xlsx eklenti ı js-xlsx javascript eklentisi kullanarak verinin diziden yaratılır ama tablo sütununa filtre eklemek için herhangi bir yol bulamadık excel sütun üzerinde filtre eklemek istediğiniz

kimse ben çalışma sayfası nesnesi

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.s.r > R) range.s.r = R; 
       if (range.s.c > C) range.s.c = C; 
       if (range.e.r < R) range.e.r = R; 
       if (range.e.c < C) range.e.c = 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.s.c); 
     if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); 
     return ws; 
    } 

oluşturmak için bu kodu yazdım excel

sütunlara filtre eklemek bilen ve dizide verilerim feryat

[["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"]] 
gibi eğer bana yardım edin
+1

Js-xlsx ile ilgili herhangi bir deneyimim yok, ancak VBA kodunu arama seçeneğiniz var mı? Bu durumda Range.AutoFilter yöntemini kullanabilirsiniz. – Carrosive

+0

Hayır Sadece javascript kullanmalıyım ve VBA – Shree29

cevap

0

sadece kendi createSheet fonksiyonunda return ifadesinden önce aşağıdaki satırı ekleyebilirsiniz.

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

Bu aralığı gereksiniminize göre genişletebilirsiniz.

+0

kullanamam, denememe izin ver. Teşekkürler – Shree29

İlgili konular