用電子表格的過程中,有時(shí)我們需要將某些行隱藏起來,這樣在操作規(guī)模比較大的數(shù)據(jù)塊時(shí)能更加方便。在本文中,我們將向您展示如何使用一個(gè)小而精巧的 ONLYOFFICE 宏來實(shí)現(xiàn)此功能。
為此,我們將使用 SetHidden 方法。此方法其實(shí)已在另一個(gè) ONLYOFFICE 宏(可用于取消隱藏電子表格中的所有行和列)中使用過一次。
宏代碼如下:
var activeSheet=Api.ActiveSheet;
var indexRowMax=1048576;
var n=1;
for (let i=0; i < indexRowMax; i++) {
activeSheet.GetRows(n).SetHidden(false);
n++;
}
如需取消隱藏文檔中的所有行,我們需要將 indexRowMax 變量設(shè)置為最大行數(shù)。然后通過 for loop 循環(huán)遍歷整個(gè)電子表格,接著將 SetHidden 方法的屬性值更改為 FALSE,以此取消對(duì)于行的隱藏。
相信您也猜到了,SetHidden 方法的作用多種多樣。不僅可用于取消隱藏行,還可用于隱藏行。不過,如果我們想要隱藏一些特定的行,那么 for loop 循環(huán)可能并不是最好的選擇。此時(shí)我們會(huì)建議使用 ForEach 函數(shù)來對(duì)目標(biāo)文檔中的已選部分進(jìn)行遍歷。這將有助于根據(jù)單元格值來隱藏所選內(nèi)容中的特定行。
所以,首先我們需要獲取活動(dòng)工作表和已選擇部分:
var activeSheet=Api.ActiveSheet;
var selection=activeSheet.Selection;
然后添加 ForEach 函數(shù)來遍歷所選部分中的所有單元格并獲取值:
selection.ForEach(function (range) {
var value=range.GetValue();
}
接著我們添加一條 if 語句,用于獲取包含小于 35 的值的行索引。我們會(huì)將此索引存儲(chǔ)在變量中,并將其用作設(shè)置行隱藏狀態(tài)的參數(shù):
selection.ForEach(function (range) {
var value=range.GetValue();
if (value < "35") {
var row=range.GetRow();
range.GetRows(row[range]).SetHidden(true);
}
完整的宏代碼如下:
(function()
{
var activeSheet=Api.ActiveSheet;
var selection=activeSheet.Selection;
selection.ForEach(function (range) {
var value=range.GetValue();
if (value < "35") {
var row=range.GetRow();
range.GetRows(row[range]).SetHidden(true);
}
});
})();
現(xiàn)在讓我們來運(yùn)行一下宏,看看效果如何!
希望這里的宏能夠幫助您更便捷地對(duì)電子表格數(shù)據(jù)進(jìn)行管理。這里的宏只是借助我們的 API 方法可以實(shí)現(xiàn)的眾多功能之一。我們的宏是基于 JavaScript 的,這就確保了其靈活性,您可輕松根據(jù)自己的需求進(jìn)行定制。
我們強(qiáng)烈建議您上手試試,制作自己的宏。歡迎隨時(shí)提問,也歡迎與我們分享您的想法。我們已做好與您探討和合作的準(zhǔn)備。祝您的探索之旅一帆風(fēng)順!
平常的樣式排版中,我們經(jīng)常遇到將某個(gè)模塊隱藏,下面我整理了一下隱藏元素的多種方法以及對(duì)比(有的占據(jù)空間,有的不占據(jù)空間。有的可以點(diǎn)擊,有的不能點(diǎn)擊。):
( 一 ) display: none;
特點(diǎn):元素不可見,不占據(jù)空間,無法響應(yīng)點(diǎn)擊事件。
.hide{ display: none; }
( 二 ) opacity: 0; ( IE8以下版本:filter:Alpha(opacity=50) )
特點(diǎn):改變?cè)赝该鞫?,元素不可見,占?jù)頁面空間,可以響應(yīng)點(diǎn)擊事件。
.hide{ opacity: 0; filter:Alpha(opacity=0); }
( 三 ) visibility: hidden;
特點(diǎn):元素不可見,占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。
.hide{ visibility: hidden; }
( 四 ) transform: scale(0);
( 1 ) zoom: 0.1; transform: scale(0);
特點(diǎn):元素不可見,IE 6 7 9 不占據(jù)頁面空間,IE8 谷歌 火狐 歐朋 等瀏覽器占據(jù)空間,無法響應(yīng)點(diǎn)擊事件。
.hide{ zoom: 0.1; transform: scale(0); -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); }
( 2 ) position: absolute; zoom: 0.1; transform: scale(0);
特點(diǎn):元素不可見,不占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。
.hide{ position: absolute; zoom: 0.1; transform: scale(0); -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); }
( 五 ) width: 0; height: 0; 配合overflow: hidden;
特點(diǎn):元素不可見,不占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。但 padding值 和 margin值 依然存在,需要將內(nèi)外邊距都調(diào)整為0。
.hide{ display: inline-block; width: 0; height: 0; padding: 0; margin: 0; overflow: hidden; }
( 六 ) position: absolute; left: -200%; 或者 top: -200%;等,父級(jí)需要相對(duì)定位,這種left top值可以根據(jù)具體的實(shí)際情況去定義
特點(diǎn):元素不可見,不占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。
. father{ position: relative; overflow: hidden; } .hide{ position: absolute; left: -200%;//或top: -200%; }
( 七 ) clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px)
特點(diǎn):元素不可見,占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。
.hide{ float: left; width: 150px; margin: 20px; clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px); }
( 八 ) margin: top | right | bottom | left ;父級(jí)添加overflow: hidden; (margin的值 一定要小于(子級(jí)的寬度加上邊距的總和的負(fù)數(shù)))
特點(diǎn):元素不可見,不占據(jù)頁面空間,無法響應(yīng)點(diǎn)擊事件。
.father{ width: 400px; height: 400px; overflow: hidden; } .hide{ display: inline-block; width: 200px; height: 200px; margin-left: -200px; }
以上就是幾種隱藏元素的方法,我在以前的面試中,也碰到了面試官提出的一些關(guān)于隱藏元素css的對(duì)比,查閱了一些資料,做了以下整理:
( 一 ) display: none 和 visibility: hidden 的區(qū)別
1. 占據(jù)頁面空間( display: none 將元素隱藏后,在頁面是是不占有空間位置的,而visibility: hidden 將元素隱藏后,還保留著元素大小的空間位置 ) ;
2. display: none 影響了 reflow和repaint(回流與重繪),而visibility: hidden并沒有影響
3. 某個(gè)模塊添加了display: none; 它下面的任何子級(jí)都會(huì)被隱藏,而添加了visibility: hidden,子級(jí)一旦有添加visibility: visible的css,該子級(jí)將不會(huì)被隱藏。
( 二 ) display: none 和 opacity: 0的區(qū)別
1. 占據(jù)頁面空間( display: none 將元素隱藏后,在頁面是是不占有空間位置的,而opacity: 0 只是改變了元素的透明度將其隱藏,還保留著元素大小的空間位置 ) ;
2. display: none 不會(huì)被子類繼承,但是子類一樣不會(huì)顯示。 opacity: 0 會(huì)被子類繼承,但不能像visibility的屬性一樣,給子類添加opacity:1,并不能將子類顯示。
3. css3 transition 屬性對(duì)display:none 并無效果,但對(duì)opacity 則有效果。(附加一句,對(duì)visibility: hidden也無效果)
xcel表格中不需要顯示的行或列,我們都是隱藏起來,需要時(shí)再取消隱藏。
表格中是這樣設(shè)置隱藏的:
是不是比隱藏更方便。它是使用了Excel中的組合功能( 數(shù)據(jù) - 創(chuàng)建組)。如下圖所示:
組合功能創(chuàng)建有2種方式:
手工創(chuàng)建:選取明細(xì)列(匯總列不選),數(shù)據(jù) - 創(chuàng)建組
自動(dòng)創(chuàng)建:選取整個(gè)表格 - 自動(dòng)創(chuàng)建分級(jí)顯示。需要注意的是,匯總的行一定要有公式引用明細(xì)的行或列,如:
G3=SUM(C3:F3)
C3=SUM(C4:C8)
恒企六大會(huì)計(jì)神器護(hù)航
1、智能考試系統(tǒng) ;2、大數(shù)據(jù)學(xué)習(xí)系統(tǒng)
3、會(huì)答APP系統(tǒng); 4、線上直播平臺(tái)
5、平臺(tái)實(shí)訓(xùn)系統(tǒng); 6、報(bào)稅實(shí)訓(xùn)系統(tǒng)
恒企zuixin課程免費(fèi)試聽
申請(qǐng)方式:微信shhengqi回復(fù)“我要試聽+姓名+電話+地區(qū)”即可
你可以先測試下你適不適合從事會(huì)計(jì)工作
http://m.hengqijy.com/Test.html?hqtg_gyh-mt_hqtg
溫馨貼士:為不影響你的學(xué)業(yè),來校時(shí)請(qǐng)先電話或QQ咨詢,方便我校安排相關(guān)的課程咨詢老師為你解答
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。