[英]JXLS 2.0 Conditional Formatting Forumla not updated per row
嘗試創建一個 JXLS excel 模板,應該可以將條件格式從特定行的單元格復制到下一個生成的行。
在模板中,我創建了我的格式。 如果單元格中的值等於“是”,則該行應為紅色。
條件格式
Formula: =$B2="yes"
Applies to: $A$2:$B$2
我知道這個公式適用於已經填充的 excel 表這是一個示例https://trumpexcel.com/highlight-rows-based-on-cell-value/
但是,當我使用 excel 模板和 JXLS 2.0 執行此操作時,它會失敗。 它將公式原樣復制到每個新生成的行。 因此,現在不再是整個工作表的一個條件,而是與行一樣多。 這里的問題是它會按原樣復制它,這意味着每個條件中的公式將基於單元格 C2 中的值。 因此,即使單元格 C3 生成的值為“no”,它也會顯示為紅色,因為它基於 C2 中的值。
有關如何直接在模板中解決此問題的任何提示?
使用jxls 2.9.0 jxls-poi 2.9.0
您遇到的是標准 Excel 行為。 為了實現您想要的,您有 2 個選項:使用常規范圍或動態表。 我會使用后者。
使用常規范圍
您需要從至少 2 行開始,如下所示:
然后只在第一行之后和最后一行之前插入行。 從來沒有在第一個或最后一個之后。 新行采用相同的格式,因為基礎范圍正在擴大。 例如,在中間插入 4 行會導致:
使用動態表
假設您有標題(您不需要),您 select 您的起始范圍,然后將其格式化為表格:
您可以通過將出現的對話框中的復選框來選擇表格是否有標題。
現在不同的是,當您添加新行時,條件格式會自動展開。 表格本身會自動擴展,因此其他所有內容(格式、驗證、公式等)都會隨之擴展。
只需確保您在File/Options/Proofing/AutoCorrect Options/AutoFormat As You Type/Include new rows and columns in table
下為表格啟用了自動擴展選項。 您也可以以編程方式執行此操作(我知道在 VBA 中您需要將Application.AutoCorrect.AutoExpandListRange
設置為 True)。 順便說一句,默認值為 True。
無論您的表格有多大,您都會擴展格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.