]> source.dussan.org Git - poi.git/commitdiff
Bug 33736: Applied patch for Column Hiding. Thanks
authorJason Height <jheight@apache.org>
Mon, 28 Aug 2006 04:44:32 +0000 (04:44 +0000)
committerJason Height <jheight@apache.org>
Mon, 28 Aug 2006 04:44:32 +0000 (04:44 +0000)
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@437526 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/model/Sheet.java
src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java

index 1ee2bb8fd28b103b59e7e1cda2b0242366f36830..01b78771a2ca03bc85231a0fc15dbe00c9e0c5e0 100644 (file)
@@ -47,6 +47,7 @@ import java.util.List;   // normally I don't do this, buy we literally mean ALL
  * @author  Shawn Laubach (slaubach at apache dot org) Gridlines, Headers, Footers, PrintSetup, and Setting Default Column Styles
  * @author Jason Height (jheight at chariot dot net dot au) Clone support. DBCell & Index Record writing support
  * @author  Brian Sanders (kestrel at burdell dot org) Active Cell support
+ * @author  Jean-Pierre Paris (jean-pierre.paris at m4x dot org) (Just a little)
  *
  * @see org.apache.poi.hssf.model.Workbook
  * @see org.apache.poi.hssf.usermodel.HSSFSheet
@@ -1843,6 +1844,50 @@ public class Sheet implements Model
         setColumn( column, new Short(width), null, null, null);
     }
 
+    /**
+     * Get the hidden property for a given column.
+     * @param column index
+     * @see org.apache.poi.hssf.record.DefaultColWidthRecord
+     * @see org.apache.poi.hssf.record.ColumnInfoRecord
+     * @see #setColumnHidden(short,boolean)
+     * @return whether the column is hidden or not.
+     */
+
+    public boolean isColumnHidden(short column)
+    {
+        boolean          retval = false;
+        ColumnInfoRecord ci     = null;
+
+        if (columns != null)
+        {
+            for ( Iterator iterator = columns.getIterator(); iterator.hasNext(); )
+            {
+                ci = ( ColumnInfoRecord ) iterator.next();
+                if ((ci.getFirstColumn() <= column)
+                        && (column <= ci.getLastColumn()))
+                {
+                    break;
+                }
+                ci = null;
+            }
+        }
+        if (ci != null)
+        {
+            retval = ci.getHidden();
+        }
+        return retval;
+    }
+
+    /**
+     * Get the hidden property for a given column.
+     * @param column - the column number
+     * @param hidden - whether the column is hidden or not
+     */
+    public void setColumnHidden(short column, boolean hidden)
+    {
+        setColumn( column, null, null, new Boolean(hidden), null);
+    }
+
     public void setColumn(short column, Short width, Integer level, Boolean hidden, Boolean collapsed)
     {
         if (columns == null)
index fa207870f13ee3f3d1670f331ccaeb361b994f61..c7befce1be67a9b8d08e996956d864c5fb854de0 100644 (file)
@@ -41,6 +41,7 @@ import java.util.TreeMap;
  * @author  Glen Stampoultzis (glens at apache.org)
  * @author  Libin Roman (romal at vistaportal.com)
  * @author  Shawn Laubach (slaubach at apache dot org) (Just a little)
+ * @author  Jean-Pierre Paris (jean-pierre.paris at m4x dot org) (Just a little, too)
  */
 
 public class HSSFSheet
@@ -339,6 +340,28 @@ public class HSSFSheet
         return lastrow;
     }
 
+    /**
+     * Get the visibility state for a given column.
+     * @param column - the column to get (0-based)
+     * @param width - the visiblity state of the column
+     */
+
+    public void setColumnHidden(short column, boolean hidden)
+    {
+        sheet.setColumnHidden(column, hidden);
+    }
+
+    /**
+     * Get the hidden state for a given column.
+     * @param column - the column to set (0-based)
+     * @return hidden - the visiblity state of the column
+     */
+
+    public boolean isColumnHidden(short column)
+    {
+        return sheet.isColumnHidden(column);
+    }
+
     /**
      * set the width (in units of 1/256th of a character width)
      * @param column - the column to set (0-based)