Google apps script 在表格中搜索

Google apps script 在表格中搜索,google-apps-script,Google Apps Script,我正试图从我的驱动器中开发一个文件下载列表,我解析了信息。现在我正在使用UiApp进行显示和搜索 我有一些使用.StringFilter的搜索框,但它无法定位文本中不是第一个的单词 我希望有一个搜索框,它可以遍历表中的每个文本,并过滤所有匹配的信息 编辑: 我得到了一个答案,但还有一个问题 原件: 我的代码如下,以下是: 函数getBaulFile(){ var d=DocsList.getFolderById('FolderId').getFiles(); var listaArchivos

我正试图从我的驱动器中开发一个文件下载列表,我解析了信息。现在我正在使用UiApp进行显示和搜索

我有一些使用
.StringFilter
的搜索框,但它无法定位文本中不是第一个的单词

我希望有一个搜索框,它可以遍历表中的每个文本,并过滤所有匹配的信息

编辑: 我得到了一个答案,但还有一个问题


原件: 我的代码如下,以下是:

函数getBaulFile(){ var d=DocsList.getFolderById('FolderId').getFiles(); var listaArchivos=DocsList.getFolderById('FolderId').getFileByType('spreadsheet'); 对于(变量i=0;i.setMatchType(…)我想知道是否可以在数据表中的多个字段列中创建搜索字段。

function getBaulFile(){
   var d = DocsList.getFolderById('FolderId').getFiles();
   var listaArchivos = DocsList.getFolderById('FolderId').getFilesByType('spreadsheet');
   for (var i = 0 ; i < d.length ; i++){
       if(d[i].getName() == "baul"){
           var archivoId = d[i].getId();
       }
   }
return(SpreadsheetApp.openById(archivoId).getSheetByName('baul').getDataRange());
}

function isLink(cadena){
  return (cadena[0] == '<')
}

function turnToLink(cadena){
  if (!(cadena == '#' || cadena == 'sin enlace')) {
    return('<a href="' + cadena + '"> - Link - </a>');
  } else {
    return ('sin enlace');
   }
}


function parsedSpreadSheet(){
  var hoja = getBaulFile().activate();
  for (var i = 2;i<= hoja.getHeight();i++){ // html de los enlaces
    var t = hoja.getCell(i,hoja.getWidth()).getValue();
    if (! isLink(t)){
      hoja.getCell(i,hoja.getWidth()).setValue(turnToLink(t));
    }
  }
  return hoja.getDataTable(true)
}




function doGet() {
  var datos = parsedSpreadSheet() // para CSV hay que programar distinto y construir la DataTable.


  var sectorFilter = Charts.newCategoryFilter()
      .setFilterColumnLabel("sector")
      .setAllowMultiple(true)
      .build();

  var tipoFilter = Charts.newCategoryFilter()
      .setAllowMultiple(true)
      .setFilterColumnLabel("tipo")
      .build();
  var searchFilter = Charts.newStringFilter()
      .setFilterColumnLabel("Titulo")
      .build();
  var searchDesc = Charts.newStringFilter()
      .setFilterColumnLabel("descripcion")
      .build();
  var searchGood = Charts.n

  var tableChart = Charts.newTableChart()
      .setOption('allowHtml', true)
      .setDimensions(0,0)
      .enableSorting(true)
      .useAlternatingRowStyle(true)
      .build();



  var dashboard = Charts.newDashboardPanel()
      .setDataTable(datos)
      .bind([sectorFilter, tipoFilter, searchFilter, searchDesc], [tableChart])
      .build();

  var uiApp = UiApp.createApplication().setTitle('Baul de Recursos')
  var anchoTotal = '100%';
dashboard.add(uiApp.createSimplePanel().setWidth('95%').setStyleAttributes({'margin':'40 100px'})
            
            
                .add(uiApp.createVerticalPanel()
                     .add(uiApp.createHTML('<h1>Baul de recursos</h1>'))
                     .add(uiApp.createImage('#')) 
                     .add(uiApp.createHTML('<b style="margin-left: 150px;">Descripción</b>'))
                  .add(uiApp.createHorizontalPanel().setVerticalAlignment(UiApp.VerticalAlignment.MIDDLE)
                      .add(sectorFilter)
                      .add(tipoFilter)
                      .setSpacing(15)
                 //.setWidth(anchoTotal)
                     )
            
                 .add(uiApp.createHorizontalPanel()        
                      .add(searchFilter)
                      .add(searchDesc)
                      .setSpacing(15)                
                     )
            
                 .add(uiApp.createHorizontalPanel()
                      .add(tableChart).setBorderWidth(1).setHorizontalAlignment(UiApp.HorizontalAlignment.CENTER).setWidth(anchoTotal)
                     )
               //.setWidth(anchoTotal)
                )
           );

  uiApp.add(dashboard).setStyleAttribute('float','center');
return uiApp;
}
  var searchDesc = Charts.newStringFilter()
      .setFilterColumnLabel("descripcion")
      .setMatchType(Charts.MatchType.ANY)
      .build();