org.apache.poi.ss.util
Class SheetUtil

java.lang.Object
  extended by org.apache.poi.ss.util.SheetUtil

public class SheetUtil
extends java.lang.Object

Helper methods for when working with Usermodel sheets

Author:
Yegor Kozlov

Constructor Summary
SheetUtil()
           
 
Method Summary
static boolean canComputeColumnWidth(Font font)
          Check if the Fonts are installed correctly so that Java can compute the size of columns.
static boolean containsCell(CellRangeAddress cr, int rowIx, int colIx)
          Check if the cell is in the specified cell range
static double getCellWidth(Cell cell, int defaultCharWidth, DataFormatter formatter, boolean useMergedCells)
          Compute width of a single cell
static Cell getCellWithMerges(Sheet sheet, int rowIx, int colIx)
          Return the cell, taking account of merged regions.
static double getColumnWidth(Sheet sheet, int column, boolean useMergedCells)
          Compute width of a column and return the result
static double getColumnWidth(Sheet sheet, int column, boolean useMergedCells, int firstRow, int lastRow)
          Compute width of a column based on a subset of the rows and return the result
static int getDefaultCharWidth(Workbook wb)
          Get default character width using the Workbook's default font
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SheetUtil

public SheetUtil()
Method Detail

getCellWidth

public static double getCellWidth(Cell cell,
                                  int defaultCharWidth,
                                  DataFormatter formatter,
                                  boolean useMergedCells)
Compute width of a single cell

Parameters:
cell - the cell whose width is to be calculated
defaultCharWidth - the width of a single character
formatter - formatter used to prepare the text to be measured
useMergedCells - whether to use merged cells
Returns:
the width in pixels or -1 if cell is empty

getColumnWidth

public static double getColumnWidth(Sheet sheet,
                                    int column,
                                    boolean useMergedCells)
Compute width of a column and return the result

Parameters:
sheet - the sheet to calculate
column - 0-based index of the column
useMergedCells - whether to use merged cells
Returns:
the width in pixels or -1 if all cells are empty

getColumnWidth

public static double getColumnWidth(Sheet sheet,
                                    int column,
                                    boolean useMergedCells,
                                    int firstRow,
                                    int lastRow)
Compute width of a column based on a subset of the rows and return the result

Parameters:
sheet - the sheet to calculate
column - 0-based index of the column
useMergedCells - whether to use merged cells
firstRow - 0-based index of the first row to consider (inclusive)
lastRow - 0-based index of the last row to consider (inclusive)
Returns:
the width in pixels or -1 if cell is empty

getDefaultCharWidth

@Internal
public static int getDefaultCharWidth(Workbook wb)
Get default character width using the Workbook's default font

Parameters:
wb - the workbook to get the default character width from
Returns:
default character width in pixels

canComputeColumnWidth

public static boolean canComputeColumnWidth(Font font)
Check if the Fonts are installed correctly so that Java can compute the size of columns. If a Cell uses a Font which is not available on the operating system then Java may fail to return useful Font metrics and thus lead to an auto-computed size of 0. This method allows to check if computing the sizes for a given Font will succeed or not.

Parameters:
font - The Font that is used in the Cell
Returns:
true if computing the size for this Font will succeed, false otherwise

containsCell

public static boolean containsCell(CellRangeAddress cr,
                                   int rowIx,
                                   int colIx)
Check if the cell is in the specified cell range

Parameters:
cr - the cell range to check in
rowIx - the row to check
colIx - the column to check
Returns:
true if the range contains the cell [rowIx, colIx]

getCellWithMerges

public static Cell getCellWithMerges(Sheet sheet,
                                     int rowIx,
                                     int colIx)
Return the cell, taking account of merged regions. Allows you to find the cell who's contents are shown in a given position in the sheet.

If the cell at the given co-ordinates is a merged cell, this will return the primary (top-left) most cell of the merged region.

If the cell at the given co-ordinates is not in a merged region, then will return the cell itself.

If there is no cell defined at the given co-ordinates, will return null.



Copyright 2016 The Apache Software Foundation or its licensors, as applicable.