我想清除所有筛选规则,但保留筛选本身。
有没有直接快速的方法去做呢?
我找到的代码是:
var filter = sheet.getFilter();
它获取筛选器对象,我对筛选器#的选项数量是有限的。
注意:过滤器。remove()
删除此筛选器,但我需要保留它。
麦克斯的回答很好。然而,一个没有API的更快的选项是这样的——简单地删除过滤器,然后不加任何条件地添加回来:
var sheet = SpreadsheetApp.getActiveSheet();
var currentFilter = sheet.getFilter();
var filterRange = currentFilter.getRange();
currentFilter.remove();
// add filter back
filterRange.createFilter();
您希望仅删除基本筛选器的条件,而不删除基本筛选器。如果我的理解是正确的,那么使用工作表API怎么样?示例脚本如下。使用此脚本时,请在高级谷歌服务和应用编程接口控制台启用工作表应用编程接口。
如果现在打开带有使用工作表API的脚本的脚本编辑器,则可以通过访问此URL为项目启用工作表APIhttps://console.cloud.google.com/apis/library/sheets.googleapis.com/
var id = SpreadsheetApp.getActiveSpreadsheet().getId();
var filters = Sheets.Spreadsheets.get(id, {fields: "sheets/basicFilter"});
var resource = {requests: filters.sheets.filter(function(e){return Object.keys(e).length}).map(function(e){return {setBasicFilter: {filter: {range: e.basicFilter.range}}}})};
Sheets.Spreadsheets.batchUpdate(resource, id);
如果这不是你想要的,我很抱歉。
我尝试过以下代码:
function deleteFilterCriterias(sheet)
{
var filter = sheet.getFilter();
if (!(filter)) { return -1; }
var rangeF = filter.getRange();
var cols = rangeF.getWidth();
var col = rangeF.getColumn();
for (var i = col; i <= cols; i++)
{
// remove filter criteria for each column
filter.removeColumnFilterCriteria(i)
}
return 0;
}
但我觉得它很笨重。
在@Tanaike给出答案后,我尝试了Sheets API。
我在一张纸上重置过滤器的代码是:
function deleteFilterCriterias2(sheet)
{
var ssId = sheet.getParent().getId();
var range = sheet.getFilter().getRange();
var rowStart = range.getRow() - 1;
var colStart = range.getColumn() - 1;
// settings to reset filter
var filterSettings = {
"range": {
"sheetId": sheet.getSheetId(),
"startRowIndex": rowStart,
"endRowIndex": range.getHeight() + rowStart,
"startColumnIndex": colStart + colStart,
"endColumnIndex": range.getWidth()
}
};
var requests = [{
"setBasicFilter": {
"filter": filterSettings
}
}];
// api request
Sheets.Spreadsheets.batchUpdate({'requests': requests}, ssId);
}
这个要快得多。
工具书类
我正在尝试使用 Jsoup 删除 HTML 页面标记之间的所有文本 例如,如果输入HTML是 输出应该是 基本上,我想删除返回的内容。 我找到了很多相反的帖子,只保留文本,但没有解决我的问题。知道怎么做吗? 编辑 maverick9999:https://stackoverflow.com/a/24292349/3589481提出的解决方案将解决大部分情况。 然而,正如评论中提到的,这个解决方案也
问题内容: 我正在尝试使用Jsoup删除HTML页面的标签之间的所有文本 例如,如果输入的HTML是 输出应为 基本上,我想删除由返回的内容 我发现有很多帖子是相反的,只保留文本,而没有什么可以解决我的问题。有关如何执行此操作的任何想法? 编辑 maverick9999提出的解决方案将解决大多数情况。 但是,正如注释中所注意到的,此解决方案还将删除嵌套标签。 举个例子: 将在输出中删除一个div:
问题内容: 问题是这样的:我有一个像这样的XML片段: 为了得到结果,我想删除所有-和-Tags,但保留它们的(文本)内容和子节点不变。另外,-Element应该保持不变。结果应该这样 目前,我将回到一个非常肮脏的把戏:我将etree.tostring这个片段,通过正则表达式删除有问题的标签,并用etree.fromstring结果替换原始片段(不是真正的代码,但是应该这样): 我知道我可能可以使
假设我有一个像这样的html片段: 我想从中得到的是: 所以我的问题是:如何从html中去掉所有包装标签,只得到与html中相同顺序的文本?正如您在标题中看到的,我想使用jsoup进行解析。 重音html示例(请注意“á”字符): 我想要的是: 这个html不是静态的,一般来说,我只是想解码人类可读形式的通用html片段的每一个文本,宽度线中断。
我有一个整数和零的列表。我想只过滤掉Nones。 这将删除None,但也删除0(整数)。我想以保持0(整数)的方式修改它 结果是一个列表[1,0,1,0,1,0,1,0]--
问题内容: 对于不同的屏幕尺寸,我需要div内的元素位于其div之外。 我目前有重复的html,并将其隐藏在某些视口中,这显然不是理想的选择,但是我不确定是否还有另一种方法。 这是html台式机和平板电脑 这是手机所需的html 这样我就可以对容器div中的所有项目使用flexbox命令 问题答案: 这是的完美用例 导致元素的子元素看起来像是元素父元素的直接子元素,而忽略了元素本身。当使用CSS网