我在SharePoint中有一个Excel电子表格,它有近2000行。我想返回所有符合搜索条件的行。通常,它是Project ID或一个人的名字。
我知道我可以通过下面的命令使用 ExcelRest 检索完整的电子表格,但是我只需要返回那些匹配搜索条件的记录,这些记录应始终少于100行。由于请求实体太大,使用下面命令的实际电子表格不会返回。
https://MySite/teams/MES/_vti_bin/ExcelRest.aspx/MMIS/MESRACI.xlsx/model/Ranges('RACI')?$format=html
是否有一个技巧可以在上面的命令中传递参数并返回与传递的条件匹配的行的子集?我只是在考虑搜索名称和可能的项目ID,但这将是两个单独的实例,不会在同一搜索中完成。
答案 0 :(得分:0)
好吧,这花了很多时间,但是我终于明白了。 我原来的电子表格长2000行,包含所有数据。 我在另一个工作表上创建了一个范围,该范围可以提取存储在另一个工作表中另一个名为“范围”的个人。这样一来,我可以有一个较小的记录子集,以仅显示在指定范围内的记录作为搜索。
然后我使用EXCELREST,并将要设置的命名范围的值与要设置的范围一起传入。
它完美地工作。困难的是创建第二张表以显示我正在寻找的个人的数据。由于在主电子表格中一个人从无到有存在100次,因此我不得不构建第二张表以查找每次出现的情况。
我在第二个电子表格中使用的公式的示例是: = INDEX(INDIRECT(CONCATENATE(“ RACI!$ A $”,$ V2 + 3)):RACI!$ V $ 2010,MATCH(Setup!$ B $ 2,INDIRECT(CONCATENATE(“ RACI!$ F $”,$ V2 +3)):RACI!$ F $ 2010,0),1)
命令行类似于: https://mysite.gov/hc/teams/MES/_vti_bin/ExcelRest.aspx/MMIS/MESRACI.xlsx/model/Ranges('SearchedRACI')?$ format = html&Ranges(%27NameFilter%27)= Sxxele,%20Craig%20A。
最后一个技巧是带回我找到的每条记录的行号,并将搜索范围限制为超出该位置。