com.smartxls

## Class WorkBook

- java.lang.Object
- - com.smartxls.WorkBook

-     public class WorkBook
      extends java.lang.Object

  represent the workbook object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `bookProtectStructure` book protection structure
    `static int` | `bookProtectWindow` book protection window
    `static int` | `CopyAll` all are copied
    `static int` | `CopyFormats` formats be copied
    `static int` | `CopyFormulas` formulas be copied
    `static int` | `CopyValues` values be copied
    `static short` | `SheetNormalView` sheet page layout normal
    `static short` | `SheetPageBreakPreView` sheet page layout in break preview mode
    `static short` | `SheetPageLayoutView` sheet page layout in page mode
    `static int` | `sheetProtectionAllowChangeLocked` sheet protection allow change locked
    `static int` | `sheetProtectionAllowChangeUnlocked` sheet protection allow change unlocked
    `static int` | `sheetProtectionAllowDefault` sheet protection allow default options
    `static int` | `sheetProtectionAllowDeleteColumns` sheet protection allow delete cols
    `static int` | `sheetProtectionAllowDeleteRows` sheet protection allow delete rows
    `static int` | `sheetProtectionAllowEditObjects` sheet protection allow edit object
    `static int` | `sheetProtectionAllowEditScenarios` sheet protection allow edit scenarios
    `static int` | `sheetProtectionAllowEverything` sheet protection allow everything
    `static int` | `sheetProtectionAllowFormatCells` sheet protection allow format cells
    `static int` | `sheetProtectionAllowFormatColumns` sheet protection allow format columns
    `static int` | `sheetProtectionAllowFormatRows` sheet protection allow format rows
    `static int` | `sheetProtectionAllowInsertColumns` sheet protection allow insert columns
    `static int` | `sheetProtectionAllowInsertHyperlinks` sheet protection allow insert hyperlink
    `static int` | `sheetProtectionAllowInsertRows` sheet protection allow insert rows
    `static int` | `sheetProtectionAllowLockedEditFocus` sheet protection allow locked edit focus
    `static int` | `sheetProtectionAllowLockedInCellEdit` sheet protection allow locked in cell edit
    `static int` | `sheetProtectionAllowNone` sheet protection none
    `static int` | `sheetProtectionAllowSelectLocked` sheet protection allow selected locked
    `static int` | `sheetProtectionAllowSelectUnlocked` sheet protection allow select unlocked
    `static int` | `sheetProtectionAllowSort` sheet protection allow sort
    `static int` | `sheetProtectionAllowUseAutoFilter` sheet protection allow use autofilter
    `static int` | `sheetProtectionAllowUseOutlining` sheet protection allow use outlining
    `static int` | `sheetProtectionAllowUsePivotRanges` sheet protection allow use pivot ranges
    `static short` | `SheetStateHidden` sheet hidden
    `static short` | `SheetStateShown` sheet shown normally
    `static short` | `SheetStateVeryHidden` sheet hidden and can't be unhide from UI
    `static short` | `ShiftColumns` cell/range shift direction,cols
    `static short` | `ShiftHorizontal` cell/range shift direction,horizontal
    `static short` | `ShiftRows` cell/range shift direction,rows
    `static short` | `ShiftVertical` cell/range shift direction,vertical
    `static short` | `ShowAutomatic` scrollbar shown automatically
    `static short` | `ShowOff` scrollbar not shown
    `static short` | `ShowOn` scrollbar shown always
    `static short` | `TabsBottom` sheets tab shown on bottom
    `static short` | `TabsOff` sheets tab not shown
    `static short` | `TabsTop` sheets tab shown on top
    `static short` | `TypeEmpty` cell type empty
    `static short` | `TypeError` cell type error,negative if formula cell
    `static short` | `TypeLogical` cell type logic,negative if formula cell
    `static short` | `TypeNumber` cell type number,negative if formula cell
    `static short` | `TypeText` cell type text,negative if formula cell

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WorkBook()` default constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `AutoShape` | `addAutoShape(double x1, double y1, double x2, double y2, short type)` Creates and adds a AutoShape to the active worksheet.
    `ChartShape` | `addChart(double x1, double y1, double x2, double y2)` Creates and adds a chart to the active worksheet.
    `ChartShape` | `addChartSheet(int sheetIndex)` Creates and adds a chart to the book and make it a chart sheet.
    `void` | `addColPageBreak(int col)` Adds a vertical page break to the left edge of the specified column.
    `void` | `addComment(int row1, int col1, java.lang.String text, java.lang.String author)` add a comment to the cell in the current sheet
    `FormControlShape` | `addFormControl(double x1, double y1, double x2, double y2, int type)` Creates and adds a FormControl to the active worksheet.
    `HyperLink` | `addHyperlink(int row1, int col1, int row2, int col2, java.lang.String url, int type, java.lang.String tooltip)` Adds a hyperlink to the range in the current worksheet.
    `PictureShape` | `addPicture(double x1, double y1, double x2, double y2, byte[] picData)` Adds a picture object to the worksheet
    `PictureShape` | `addPicture(double x1, double y1, double x2, double y2, java.lang.String filename)` Adds a picture object to the worksheet
    `BookPivotRange` | `addPivotRange(com.smartxls.data.SXQuery query, int dstSheet, int dstRow1, int dstCol1)` create new pivot table range with external data source and dest location
    `BookPivotRange` | `addPivotRange(int srcSheet, int srcRow1, int srcCol1, int srcRow2, int srcCol2, int dstSheet, int dstRow1, int dstCol1)` create new pivot table range with source link range and dest location
    `BookPivotRange` | `addPivotRange(java.lang.String linkRange, java.lang.String destRange)` create new pivot table range with external data source and dest location
    `void` | `addRowPageBreak(int row)` Adds a horizontal page break adjacent to the top edge of the specified row.
    `Table` | `addTable(java.lang.String tableName, int row1, int col1, int row2, int col2, TableBuiltInStyles builtInTableStyle)` add the table object to current selected sheet
    `void` | `autoFilter()` Creates an AutoFilter using this range to identify the bounds.
    `void` | `clearCell(int row, int col)` set cell value to empty,do nothing if cell is null
    `void` | `clearRange(int row1, int col1, int row2, int col2)` Clears the specified range.
    `void` | `copyAllBookFrom(WorkBook wb)`
    `void` | `copyChartTo(ChartShape chartShape, int x1, int y1, int x2, int y2)` this will copy chart shape and move to new location
    `void` | `copyRange(int dstRow1, int dstCol1, int dstRow2, int dstCol2, int srcRow1, int srcCol1, int srcRow2, int srcCol2)` Copies a range of cells to a new location in the current workbook.
    `void` | `copyRange(int dstSheet, int dstRow1, int dstCol1, int dstRow2, int dstCol2, WorkBook book, int srcSheet, int srcRow1, int srcCol1, int srcRow2, int srcCol2)` Copies a range of cells to a new location in the current workbook.
    `void` | `copyRange(int dstSheet, int dstRow1, int dstCol1, int dstRow2, int dstCol2, WorkBook book, int srcSheet, int srcRow1, int srcCol1, int srcRow2, int srcCol2, int what)` Copies a range of cells to a new location in the current workbook.
    `void` | `copyRange(int dstRow1, int dstCol1, int dstRow2, int dstCol2, WorkBook book, int srcRow1, int srcCol1, int srcRow2, int srcCol2)` Copies a range of cells to a new location in the current workbook.
    `void` | `copySheet(int insertAt)` Creates copies of the selected sheet.
    `void` | `CopySheetFromBook(WorkBook m_SrcBook, int srcSheetIndex, int destSheetIndex)` copy the sheet from specified Book View to specified sheet.
    `ConditionFormat` | `CreateConditionFormat()` Creates a new instance of a conditional format in current selected sheet.
    `DataValidation` | `CreateDataValidation()` Creates a new instance of a data validation object in current selected sheet.
    `void` | `CreateTableStyle(java.lang.String tableStyleName, java.util.HashMap<com.smartxls.enums.TableStyleElementType,RangeStyle> tableStyleElements)` add new tablestyle to the workbook
    `void` | `deleteDefinedName(java.lang.String name)` remove the defined name
    `void` | `deleteRange(int row1, int col1, int row2, int col2, short shift)` Deletes cells, rows, or columns from the specified selected sheets.
    `void` | `deleteRange(int row1, int col1, int row2, int col2, short shift, boolean bFixformulas)` Deletes cells, rows, or columns from the specified selected sheets.
    `void` | `deleteSheets(int sheet, int sheets)` Deletes one or more worksheets from a workbook.
    `void` | `dispose()` desconstructor of the workbook
    `void` | `editCopyDown()` Copies cells in the top row of a selection to the other rows in the selected range and adjusts relative cell references appropriately.
    `void` | `editCopyRight()` Copies cells in the left column of a selection to the other columns in the selected range and adjusts relative cell references appropriately.
    `void` | `exportPDF(java.io.OutputStream outputstream)` export current sheet to the outputstream with pdf format
    `void` | `exportPDF(java.io.OutputStream outputstream, java.util.Map fontEncodeMap, boolean sheetOnly)` export current sheet to pdf
    `void` | `exportPDF(java.lang.String fileName)` export current sheet to pdf file
    `void` | `exportPDF(java.lang.String fileName, java.util.Map fontEncodeMap, boolean sheetOnly)` export current sheet to pdf file
    `RangeArea` | `find(int row1, int col1, java.lang.String text)` find the first cell which match the search string from the specified cell.
    `RangeArea` | `find(int row1, int col1, java.lang.String text, boolean matchCase, boolean matchEntire, boolean inFormula)` find the first cell which match the search string from the specified cell.
    `int` | `findSheetByName(java.lang.String sheetName)` find the sheet index number by the sheet name.
    `java.lang.String` | `formatRCNr(int row, int col, boolean doAbsolute)` Returns a string containing a formatted row and column reference.
    `void` | `freezePanes(int topRow, int leftCol, int splitRows, int splitCols, boolean splitView)` Sets frozen panes at the specified position.
    `int` | `getActiveCol()` return the col index of the active cell
    `BookPivotRange` | `getActivePivotRange(int activeRow1, int activeCol1)` return the pivot table if the active cell is in
    `int` | `getActiveRow()` return the row index of the active cell
    `AutoFilter` | `getAutoFilter()`
    `int` | `getBookProtection()` Return the flags indicating what are protected on this workbook when protection is enabled.
    `BuiltInDocumentProperties` | `getBuiltInDocumentProperties()` build in document properties
    `ChartShape` | `getChart(int index)` Returns the first chart in the active worksheet.
    `int` | `getChartCount()` get the picture numbers in the current sheet
    `int` | `getColOutlineLevel(int col)` Returns the outline level of a single specified column.
    `int[]` | `getColPageBreaks()` return all col index which has page break
    `int` | `getColWidth(int col)` Returns the width of a single column.
    `CommentShape` | `getComment(int index)` Returns the specified comment in the active worksheet.
    `CommentShape` | `getComment(int row1, int col1)` get the comment from the specified cell
    `int` | `getCommentCount()` Returns the Comment count in the active worksheet.
    `RangeStyle` | `getConditionalFormatAppliedCellStyle(int sheet1, int row1, int col1)` Returns the RangeStyle of the specified cell with conditional format applied
    `ConditionFormat[]` | `getConditionalFormats()` Returns the conditional formats for the current selection.
    `char` | `getCSVSeparator()` get the csv seprator char
    `CustomDocumentProperties` | `getCustomDocumentProperties()` custom document properties
    `int` | `getDefaultColWidth()` Returns the default column width of the worksheet.
    `int` | `getDefaultRowHeight()` Returns the default row height of the worksheet.
    `java.lang.String` | `getDefinedName(int name)` Returns the defined name for the specified index number.
    `java.lang.String` | `getDefinedName(java.lang.String name)` Returns the definition associated with the specified name.
    `int` | `getDefinedNameCount()` Returns the number of defined names
    `java.lang.String` | `getFormattedText(int row, int col)` Returns the formatted text value of the specified cell.
    `java.lang.String` | `getFormattedText(int sheet, int row, int col)` Returns the formatted text value of the specified cell.
    `FormControlShape` | `getFormControl(int type, int index)` get the specified index formcontrol from the current sheet
    `java.lang.String` | `getFormula(int row, int col)` Returns the text of the formula of the specified cell
    `java.lang.String` | `getFormula(int sheet, int row, int col)` Returns the text of the formula of the specified cell in current selected sheets.
    `RangeArea` | `getFormulaRange(java.lang.String formula)` formula string to rangearea object
    `int` | `getHiddenState()` Returns the hidden state for the sheet.
    `HyperLink` | `getHyperlink(int index)` get the specified index hyperlink object from current sheet
    `HyperLink` | `getHyperlink(int row, int col)` get the specified index hyperlink object from current sheet
    `HyperLink[]` | `getHyperlinks()`
    `int` | `getIterationMax()` Returns the maximum number of calculation iterations.
    `double` | `getIterationMaxChange()` Returns the maximum iteration change value.
    `int` | `getLastCol()` Returns the number of the last occupied column.
    `int` | `getLastColForRow(int row)` Returns the number of the last occupied column in the specified row.
    `int` | `getLastRow()` Returns the number of the last row that is not empty, including cells that contain only formatting.
    `void` | `getLock()` Acquire a lock for the group.
    `RangeArea[]` | `getMergedRanges()` return the list merged range from the current selected worksheet
    `double` | `getNumber(int row, int col)` Returns the numeric value of the specified cell.
    `double` | `getNumber(int sheet, int row, int col)` Returns the numeric value of the specified cell in the specified worksheet.
    `double` | `getNumber(java.lang.String name)` Returns the numeric value of the specified cell.
    `int` | `getNumSheets()` Returns the number of worksheets in the current workbook.
    `int` | `getPaletteEntry(int entry)` Returns a color in the color palette.
    `int` | `getPictureCount()` get the picture numbers in the current sheet
    `PictureShape` | `getPictureShape(int index)` Returns the specified index picture from the active worksheet.
    `BookPivotRangeModel` | `getPivotModel()` Deprecated. relaced by workbook.addPivotRange(...) and workbook.getActivePivotRange(...)
    `java.lang.String` | `getPrintArea()` Returns the current print area.
    `double` | `getPrintBottomMargin()` Returns the bottom print margin in inches.
    `java.lang.String` | `getPrintFooter()` Returns the current page footer.
    `double` | `getPrintFooterMargin()` Returns the page footer margin
    `java.lang.String` | `getPrintHeader()` Returns the page header printed at the top of each page.
    `double` | `getPrintHeaderMargin()` Returns the page header margin used during printing.
    `double` | `getPrintLeftMargin()` Returns the left print margin in inches.
    `int` | `getPrintNumberOfCopies()` Returns the number copies to print
    `int` | `getPrintPaperHeight()` Returns the height of the paper in twips.
    `short` | `getPrintPaperSize()` Returns paper size print setting value.
    `int` | `getPrintPaperWidth()` Returns the width of the paper in twips.
    `double` | `getPrintRightMargin()` Returns the right print margin in inches.
    `int` | `getPrintScale()` Returns the scale factor for the current worksheet.
    `int` | `getPrintScaleFitHPages()` Returns the number of horizontal pages to which the print job is fit.
    `int` | `getPrintScaleFitVPages()` Returns the number of vertical pages to which the print job is fit.
    `int` | `getPrintStartPageNumber()` Returns the number displayed on the first page printed.
    `java.lang.String` | `getPrintTitles()` Returns the print titles to be printed at the top of each page
    `double` | `getPrintTopMargin()` Returns the top print margin in inches.
    `RangeStyle` | `getRangeStyle()` Returns the format of the selected range of cells.
    `RangeStyle` | `getRangeStyle(int row1, int col1, int row2, int col2)` Returns the RangeStyle of the specified range of cells
    `int` | `getRowHeight(int row)` Returns the height of a single specified row.
    `int` | `getRowOutlineLevel(int row)` Returns the outline level of a single specified row.
    `int[]` | `getRowPageBreaks()` return all row index which has page break
    `RangeArea` | `getSelection()` return the current selected range
    `int` | `getSheet()` Returns the current selected worksheet index.
    `java.lang.String` | `getSheetName(int sheet)` Returns the name of the specified worksheet.
    `java.lang.Object` | `getSheetProperty(SheetVarType varType)` access the sheet internal property by the variant type
    `int` | `getSheetProtection(int sheet)` Returns the flags indicating what are allowed when sheet protection is enabled.
    `int` | `getSheetTabColor()` return the color used by the sheet tab
    `int` | `getSheetViewType()` Returns the sheet view type.
    `short` | `getShowHScrollBar()` Returns the mode for the horizontal scroll bar.
    `short` | `getShowTabs()` Returns the display status and position of the sheet name tabs on a workbook.
    `short` | `getShowVScrollBar()` Returns the mode for the vertical scroll bar.
    `Table` | `getTable(int row1, int col1)` return the table if the active cell is in
    `java.lang.String` | `getText(int row, int col)` Returns the text value of the specified cell.
    `java.lang.String` | `getText(int row, int col, boolean calc)` Returns the text value of the specified cell.
    `java.lang.String` | `getText(int sheet, int row, int col)` c Returns the text value of the specified cell.
    `java.lang.String` | `getText(java.lang.String name)` return the text value of the specified named cell
    `short` | `getType()` Returns the cell type of the active cell.
    `short` | `getType(int row, int col)` Returns the cell type of the specified cell.
    `short` | `getType(int sheet, int row, int col)` Returns the cell type of the specified cell.
    `DataValidation` | `getValidation(int row1, int col1)` get the validation object from specified cell
    `java.lang.String` | `getVersionString()` Returns the version of this component in a string.
    `int` | `getViewScale()` Returns the current display scale for a workbook.
    `ExcelVersion` | `getWorkBookVersion()`
    `boolean` | `hasAutoFilter()`
    `void` | `insertRange(int row1, int col1, int row2, int col2, short shift)` insert new cells, rows or columns
    `void` | `insertSheets(int sheet, int sheets)` Inserts one or more worksheets at the specified location.
    `boolean` | `isArrayFormula(int row, int col)` return true if the cell is array formula
    `boolean` | `isBookProtected()`
    `boolean` | `isCalcOnSave()` sheet calculated on save setting
    `boolean` | `isColHidden(int col)` Returns true if the column is hidden.
    `boolean` | `isIterationEnabled()` Returns true if iteration is enabled.
    `boolean` | `isPrintAutoPageNumbering()` Returns true if automatic page numbering is enabled.
    `boolean` | `isPrintGridLines()` Returns true if grid lines are printed for the current sheet.
    `boolean` | `isPrintHCenter()` Returns whether the current sheet is centered horizontally when printed.
    `boolean` | `isPrintHFAlignMargin()`
    `boolean` | `isPrintHFScaleDoc()`
    `boolean` | `isPrintLandscape()` Returns true if the workbook is printed with a landscape orientation.
    `boolean` | `isPrintLeftToRight()` Returns whether the current sheet is printed left to right then top to bottom, or top to bottom then left to right.
    `boolean` | `isPrintNoColor()` Returns true if all workbook colors are converted to black and white, and all patterns are removed when printing.
    `boolean` | `isPrintRowColHeading()` Returns whether row/col headings are printed for the current sheet.
    `boolean` | `isPrintScaleFitToPage()` Returns true if the workbook is printed on the number of vertical and horizontal pages returned by the `setPrintScaleFitToPage(boolean)` method.
    `boolean` | `isPrintVCenter()` Returns true if the current sheet is centered vertically when printed.
    `boolean` | `isRowHeightAutoSize(int row)` Returns true if row height is determined automatically.
    `boolean` | `isRowHidden(int row)` Returns true if row is hidden.
    `boolean` | `isSheetProtected(int sheet)` Returns true if protection is enabled for the specified sheet.
    `boolean` | `isSheetRightToLeft()` sheet right to left setting
    `boolean` | `isShowGridLines()` Returns true if grid lines are shown.
    `boolean` | `isShowRowColHeader()` Returns true if row/col headers are shown.
    `boolean` | `isShowZeroValues()` Returns true if cells with zero values are displayed.
    `boolean` | `isSummaryColsBeforeDetail()` Returns true if col outline summaries are before col detail information.
    `boolean` | `isSummaryRowsBeforeDetail()` Returns true if row outline summaries are before row detail information.
    `void` | `moveSheet(int insertAt)` Moves selected sheet to a specified location.
    `void` | `print()` Prints the selected worksheet.
    `void` | `print(java.awt.print.PrinterJob printJob, javax.print.attribute.PrintRequestAttributeSet printrequestattributeset)` Prints the selected worksheet to the passed-in Printer Job.
    `void` | `quitGroup()` quit this workbook from group
    `void` | `read(java.io.InputStream inputstream)` Reads workbook from the specified input stream.
    `void` | `read(java.io.InputStream inputstream, java.lang.String password)` Reads workbook from the specified input stream.
    `void` | `read(java.lang.String fileName)` Reads workbook from the specified file.
    `void` | `read(java.lang.String fileName, java.lang.String password)` Reads workbook from the specified file.
    `void` | `readCSV(java.lang.String fileName)` load csv content from csv file
    `void` | `readXLSB(java.io.InputStream in)` Reads workbook from Excel2007+ xlsb file inputstream.
    `void` | `readXLSB(java.io.InputStream in, java.lang.String pass)` reads workbook with xlsb format
    `void` | `readXLSB(java.lang.String filename)` Reads workbook from xlsb file.
    `void` | `readXLSB(java.lang.String filename, java.lang.String pass)` Reads workbook from xlsb file.
    `void` | `readXLSX(java.io.InputStream in)` Reads a worksheet or workbook from Excel2003 spreadsheetxml inputstream.
    `void` | `readXLSX(java.io.InputStream stream, java.lang.String password)` reads workbook with xlsx format
    `void` | `readXLSX(java.lang.String filename)` Reads a worksheet or workbook from excel xlsx file.
    `void` | `readXLSX(java.lang.String filename, java.lang.String password)` reads workbook
    `void` | `readXML(java.io.InputStream in)` Reads a worksheet or workbook from excel xlsx inputstream.
    `void` | `recalc()` Recalculate the workbook
    `void` | `releaseLock()` Release the lock previously acquired with getLock
    `void` | `removeChart(int index)` remove specified index chart from current sheet
    `void` | `removeColPageBreak(int col)` Removes a vertical page break adjacent to the left edge of the specified column.
    `void` | `removeComment(CommentShape comment)` remove the specified comment from the current sheet
    `void` | `removeFormControl(int type, int index)` remove the specified index formcontrol from the current sheet
    `void` | `removeHyperlink(HyperLink hyperlink)` remove the specified hyperlink object
    `void` | `removePicture(int index)` remove specified index image from current sheet
    `void` | `removeRowPageBreak(int row)` Removes a horizontal page break adjacent to the current cell.
    `void` | `replace(int row1, int col1, int row2, int col2, java.lang.String find, java.lang.String replace)`
    `void` | `replace(java.lang.String find, java.lang.String replace)` find all the range cells with specified search string in current selected sheet,replace with the other string.
    `void` | `replace(java.lang.String find, java.lang.String replace, boolean matchEntire)` find all the range cells with specified search string in current selected sheet,replace with the other string.
    `void` | `resetRowInfo(int row1, int row2)` reset the row info to default
    `void` | `setActiveCell(int row, int col)` Sets the row and column coordinates of the active cell.
    `void` | `setArrayFormula(int row, int col, int row2, int col2, java.lang.String formula)` Sets the array formula for the specified range.
    `void` | `setAutoRecalc(boolean auto)` enable/disable auto recalc flag
    `void` | `setBookProtection(boolean bProtected, int protect, java.lang.String password)` Sets whether protection is enabled for this workbook.
    `void` | `setCalcOnSave(boolean flag)` sheet calculated on save setting
    `void` | `setColHidden(int col, boolean colHidden)` Sets a flag indicating whether or not the specified column is hidden.
    `void` | `setColOutlineLevel(int col1, int col2, int outlineLevel, boolean additive)` Sets the outline level of a range of columns.
    `void` | `setColWidth(int col, int width)` Sets the width of a single column.
    `void` | `setColWidthAutoSize(int col, boolean auto)` Sets the widths of the specified columns to automatically adjust to the largest column entry.
    `void` | `setColWidthAutoSize(int row1, int col, int row2, int col2, boolean auto)` Sets the widths of the specified columns to automatically
    `void` | `setConditionalFormats(ConditionFormat[] condfmts)` Sets the specified conditional formats for the current selection.
    `void` | `setCSVSeparator(char c)` set the csv to use the specified char
    `void` | `setCSVString(java.lang.String csv)`
    `void` | `setDataValidation(DataValidation dataValidation)` Sets the specified data validations for the current selection.
    `void` | `setDataValidationForCell(int row, int col, DataValidation dataValidation)` Deprecated. used for fast adding cell only,should avoid multi-ranges/overlaped cell(range) adding.
    `void` | `setDefaultColWidth(int width)` Sets the default column width of worksheet.
    `void` | `setDefaultFontName(java.lang.String name)` set the default font name
    `void` | `setDefaultRowHeight(int height)` Sets the default row height of whole worksheet.
    `void` | `setDefinedName(java.lang.String name, java.lang.String formula)` Sets the formula associated with a defined name
    `void` | `setDocPropParsing(boolean b)` set this flag will allow to parse the document property,default not parsing
    `void` | `setEnableProtection(boolean enableProtection)` enable/disable protection for current selected sheet.
    `void` | `setEntry(int sheet, int row, int col, java.lang.String value)` Sets the value of a specified cell on the specified worksheet.
    `void` | `setEntry(int row, int col, java.lang.String value)` Sets the value to the specified cell of current selected worksheets.
    `void` | `setFileShareProtection(java.lang.String password)` Set the workbook file to readonly with password
    `void` | `setFormula(int sheet, int row, int col, java.lang.String formula)` Sets the formula for the specified cell on the specified sheet.
    `void` | `setFormula(int row, int col, java.lang.String formula)` Sets the formula for the specified cell in current selected sheets.
    `void` | `setGroup(java.lang.String name)` group name
    `void` | `setIgnoreEmptyCellsInParsing(boolean ignore)` ignore empty cells when load xlsx file
    `void` | `setInlineCellTextMode(boolean inline)` enable the xlsx/xlsm file writing in the inlinestr cell text mode
    `void` | `setIterationEnabled(boolean iterationEnabled)` Sets whether iteration is enabled.
    `void` | `setIterationMax(int iterationMax)` Sets the maximum number of iterations.
    `void` | `setIterationMaxChange(double iterationMaxChange)` Sets the maximum iteration change value.
    `void` | `setNumber(int row, int col, double number)` Sets the numeric value of the specified cell in current selected sheet.
    `void` | `setNumber(int sheet, int row, int col, double number)` Sets the numeric value of the specified cell in the specified worksheet.
    `void` | `setNumber(java.lang.String name, double number)` Sets the numeric value of the specified cell in current selected sheet.
    `void` | `setNumSheets(int sheets)` Sets the number of worksheets in the current workbook.
    `void` | `setPaletteEntry(int entry, int iRed, int iGreen, int iBlue)` Sets a color in the workbook color palette using decimal values.
    `void` | `setPrintArea(java.lang.String formula)` Sets the current print area to the specified range
    `void` | `setPrintAutoPageNumbering(boolean auto)` Turns on/off auto page numbering.
    `void` | `setPrintBottomMargin(double printBottomMargin)` Sets the bottom print margin.
    `void` | `setPrintFooter(java.lang.String printFooter)` Sets the current page footer.
    `void` | `setPrintFooterMargin(double printFooterMargin)` Sets the page footer margin
    `void` | `setPrintGridLines(boolean printGridLines)` Sets a flag indicating whether grid lines are printed for the current sheet.
    `void` | `setPrintHCenter(boolean printHCenter)` Sets a flag indicating whether the current sheet is centered horizontally when printed.
    `void` | `setPrintHeader(java.lang.String printHeader)` Sets the page header printed at the top of each page.
    `void` | `setPrintHeaderMargin(double printHeaderMargin)` Sets the page header margin .
    `void` | `setPrintHFAlignMargin(boolean alignWithMargin)`
    `void` | `setPrintHFScaleDoc(boolean scaleWithDoc)`
    `void` | `setPrintLandscape(boolean printLandscape)` set the orientation of the print job.
    `void` | `setPrintLeftMargin(double printLeftMargin)` Sets the left print margin.
    `void` | `setPrintLeftToRight(boolean printLeftToRight)` Sets a flag determining whether the current sheet is printed left to right then top to bottom, or top to bottom then left to right.
    `void` | `setPrintNoColor(boolean printNoColor)` set print job printed in color black and white.
    `void` | `setPrintNumberOfCopies(int i)` Sets the number copies to print.
    `void` | `setPrintPaperSize(int width, int height)` Sets the size of the paper in twips (1/20th of a point)
    `void` | `setPrintPaperSize(short sSize)` Sets paper size print setting value.
    `void` | `setPrintRightMargin(double printRightMargin)` Sets the right print margin in inches.
    `void` | `setPrintRowColHeading(boolean heading)` Sets a flag that determines whether or not row/col headings are printed for the current sheet.
    `void` | `setPrintScale(int scale)` Sets the scale factor for the current worksheet.
    `void` | `setPrintScaleFitHPages(int horizontalPages)` Sets the number of horizontal pages to which the print job is fit.
    `void` | `setPrintScaleFitToPage(boolean fitToPage)` Sets whether pages are scaled to fit the specified number of pages when printed.
    `void` | `setPrintScaleFitVPages(int verticalPages)` Sets the number of vertical pages to which the print job is fit.
    `void` | `setPrintStartPageNumber(int startPage)` Sets the starting page to print.
    `void` | `setPrintTitles(java.lang.String formula)` Sets the print titles to be printed at the top of each page
    `void` | `setPrintTopMargin(double printTopMargin)` Sets the top print margin.
    `void` | `setPrintVCenter(boolean printVCenter)` Sets a flag indicating whether the current sheet is centered vertically when printed.
    `void` | `setRangeStyle(RangeStyle rangestyle)` Sets the RangeStyle of the selected range of cells.
    `void` | `setRangeStyle(RangeStyle rangestyle, int row1, int col1, int row2, int col2)` Sets the RangeStyle of the selected range of cells.
    `void` | `setRowHeight(int row, int height)` Sets the height of a single specified row.
    `void` | `setRowHeightAutoSize(int row, boolean automatic)` Specifies that the height of the specified row is automatically set to display the tallest entry in the row.
    `void` | `setRowHidden(int row, boolean rowHidden)` Sets the display status of the specified row.
    `void` | `setRowOutlineLevel(int row1, int row2, int outlineLevel, boolean additive)` Sets the outline level of a range of rows.
    `void` | `setSelection(int row1, int col1, int row2, int col2)` Selects the specified range and moves the active cell to the top left cell in the range.
    `void` | `setSelection(java.lang.String range)` Selects the range represented by the formula.
    `void` | `setSheet(int sheet)` Selects a worksheet
    `void` | `setSheetHidden(int hidden)` Sets the hidden state for the current selected sheet.
    `void` | `setSheetName(int sheet, java.lang.String sheetName)` Assigns a name to the specified worksheet.
    `void` | `setSheetProtected(int sheet, boolean bProtected, java.lang.String password)` Sets whether protection is enabled for the specified sheet.
    `void` | `setSheetProtected(int sheet, int protect, java.lang.String password)` Sets whether protection is enabled for the specified sheet.
    `void` | `setSheetRightToLeft(boolean flag)` sheet right to left setting
    `void` | `setSheetTabColor(java.awt.Color color)` set the color to the sheet tab
    `void` | `setSheetViewType(int viewType)` Sets the sheet view type..
    `void` | `setShowGridLines(boolean showGridLines)` Sets whether grid lines are displayed.
    `void` | `setShowHScrollBar(short showHScrollBar)` Sets the mode for the horizontal scroll bar.
    `void` | `setShowOutlines(boolean t)` set whether the outline shown or not
    `void` | `setShowRowColHeader(boolean showheader)` Sets whether row/col headers are displayed.
    `void` | `setShowTabs(short showTabs)` Sets the visibility or position of the sheet name tabs on a workbook.
    `void` | `setShowVScrollBar(short showVScrollBar)` Sets the mode for the vertical scroll bar.
    `void` | `setShowZeroValues(boolean showZeroValues)` Sets whether zero value cells are displayed.
    `void` | `setSummaryColsBeforeDetail(boolean summaryBeforeDetail)` Sets whether col outline summaries come before col detail information.
    `void` | `setSummaryRowsBeforeDetail(boolean summaryBeforeDetail)` Sets whether row outline summaries come before row detail information.
    `void` | `setTabbedText(int row1, int col1, boolean valuesOnly, java.lang.String text)` set tab-delimited text in workbook
    `void` | `setText(int sheet, int row, int col, java.lang.String text)` Sets the value of the specified cell in the specified sheet.
    `void` | `setText(int row, int col, java.lang.String text)` Sets the value of the specified cell for current selected sheet.
    `void` | `setText(java.lang.String name, java.lang.String text)` sets the text value to the specified named cell
    `void` | `setTextSelection(int start, int end)` Sets text selection for the selected cell
    `void` | `setViewScale(int scale)` Sets the current display scale for a workbook.
    `void` | `setWorkbookName(java.lang.String name)` the workbook name
    `void` | `setWorkBookVersion(ExcelVersion ver)`
    `void` | `setXMLStaxMode(boolean staxMode)` enable the xlsx/xlsm file parsing in the stax mode
    `java.awt.image.BufferedImage` | `sheetRangeToImage(int row1, int col1, int row2, int col2)` rendering specified range content to an image
    `void` | `sheetRangeToImage(int row1, int col1, int row2, int col2, java.lang.String fileName)` write specified range to image
    `void` | `sheetRangeToImage(java.lang.String fileName)` write sheet range to image sheet range is from (0,0) to (last row,last col).
    `void` | `sort(int row1, int col1, int row2, int col2, boolean byRows, int[] keys)` Specified a range of data to be sorted by the keys.
    `void` | `sort(int row1, int col1, int row2, int col2, boolean byRows, int key1, int key2, int key3)` Specified a range of data to be sorted by three keys.
    `void` | `subTotal(int row1, int col1, int row2, int col2, int changeCol, int[] subs)` Specified a range of data to be subtotaled.
    `void` | `unfreezePanes()` Removes frozen panes.
    `void` | `write(java.io.OutputStream outputstream)` Saves the workbook to the specified output stream.
    `void` | `write(java.io.OutputStream out, ExcelSaveType excelSaveType, java.lang.String password)` write workbook to OutputStream in diffrent Excel format.
    `void` | `write(java.io.OutputStream outputstream, java.lang.String password)` Saves the workbook to the specified output stream.
    `void` | `write(java.lang.String fileName)` Saves the workbook to a file.
    `void` | `write(java.lang.String fileName, java.lang.String password)` Saves the workbook to a file.
    `void` | `writeCSV(java.io.OutputStream outputstream)` Saves the workbook to the specified output stream.
    `void` | `writeCSV(java.io.OutputStream outputstream, char seperator, boolean unicode, boolean bValue)`
    `void` | `writeCSV(java.lang.String fileName)` Saves the workbook to a file.
    `void` | `writeCSV(java.lang.String fileName, char seperator, boolean unicode, boolean bValue)`
    `void` | `writeXLSB(java.io.OutputStream out)` write workbook in xlsb format
    `void` | `writeXLSB(java.io.OutputStream stream, java.lang.String password)` write workbook in xlsb format
    `void` | `writeXLSX(java.io.OutputStream out)` write workbook to OutputStream in xlsx format.
    `void` | `writeXLSX(java.io.OutputStream stream, java.lang.String password)` write workbook in xlsx format
    `void` | `writeXLSX(java.lang.String filename)` write workbook to specified excel file in xlsx format.
    `void` | `writeXLSX(java.lang.String filename, java.lang.String password)` write workbook in xlsx format
    `void` | `writeXML(java.io.OutputStream out)` write workbook to OutputStream in Excel2003 spreadsheetxml format.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### TypeEmpty

          public static final short TypeEmpty

      cell type empty
      See Also:
        Constant Field Values

    - #### TypeNumber

          public static final short TypeNumber

      cell type number,negative if formula cell
      See Also:
        Constant Field Values

    - #### TypeText

          public static final short TypeText

      cell type text,negative if formula cell
      See Also:
        Constant Field Values

    - #### TypeLogical

          public static final short TypeLogical

      cell type logic,negative if formula cell
      See Also:
        Constant Field Values

    - #### TypeError

          public static final short TypeError

      cell type error,negative if formula cell
      See Also:
        Constant Field Values

    - #### ShiftHorizontal

          public static final short ShiftHorizontal

      cell/range shift direction,horizontal
      See Also:
        Constant Field Values

    - #### ShiftVertical

          public static final short ShiftVertical

      cell/range shift direction,vertical
      See Also:
        Constant Field Values

    - #### ShiftRows

          public static final short ShiftRows

      cell/range shift direction,rows
      See Also:
        Constant Field Values

    - #### ShiftColumns

          public static final short ShiftColumns

      cell/range shift direction,cols
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowNone

          public static final int sheetProtectionAllowNone

      sheet protection none
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowEditObjects

          public static final int sheetProtectionAllowEditObjects

      sheet protection allow edit object
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowEditScenarios

          public static final int sheetProtectionAllowEditScenarios

      sheet protection allow edit scenarios
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowFormatCells

          public static final int sheetProtectionAllowFormatCells

      sheet protection allow format cells
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowFormatColumns

          public static final int sheetProtectionAllowFormatColumns

      sheet protection allow format columns
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowFormatRows

          public static final int sheetProtectionAllowFormatRows

      sheet protection allow format rows
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowInsertColumns

          public static final int sheetProtectionAllowInsertColumns

      sheet protection allow insert columns
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowInsertRows

          public static final int sheetProtectionAllowInsertRows

      sheet protection allow insert rows
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowInsertHyperlinks

          public static final int sheetProtectionAllowInsertHyperlinks

      sheet protection allow insert hyperlink
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowDeleteColumns

          public static final int sheetProtectionAllowDeleteColumns

      sheet protection allow delete cols
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowDeleteRows

          public static final int sheetProtectionAllowDeleteRows

      sheet protection allow delete rows
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowSelectLocked

          public static final int sheetProtectionAllowSelectLocked

      sheet protection allow selected locked
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowSort

          public static final int sheetProtectionAllowSort

      sheet protection allow sort
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowUseAutoFilter

          public static final int sheetProtectionAllowUseAutoFilter

      sheet protection allow use autofilter
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowUsePivotRanges

          public static final int sheetProtectionAllowUsePivotRanges

      sheet protection allow use pivot ranges
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowSelectUnlocked

          public static final int sheetProtectionAllowSelectUnlocked

      sheet protection allow select unlocked
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowDefault

          public static final int sheetProtectionAllowDefault

      sheet protection allow default options
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowLockedInCellEdit

          public static final int sheetProtectionAllowLockedInCellEdit

      sheet protection allow locked in cell edit
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowLockedEditFocus

          public static final int sheetProtectionAllowLockedEditFocus

      sheet protection allow locked edit focus
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowChangeLocked

          public static final int sheetProtectionAllowChangeLocked

      sheet protection allow change locked
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowChangeUnlocked

          public static final int sheetProtectionAllowChangeUnlocked

      sheet protection allow change unlocked
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowUseOutlining

          public static final int sheetProtectionAllowUseOutlining

      sheet protection allow use outlining
      See Also:
        Constant Field Values

    - #### sheetProtectionAllowEverything

          public static final int sheetProtectionAllowEverything

      sheet protection allow everything
      See Also:
        Constant Field Values

    - #### bookProtectStructure

          public static final int bookProtectStructure

      book protection structure
      See Also:
        Constant Field Values

    - #### bookProtectWindow

          public static final int bookProtectWindow

      book protection window
      See Also:
        Constant Field Values

    - #### TabsOff

          public static final short TabsOff

      sheets tab not shown
      See Also:
        Constant Field Values

    - #### TabsBottom

          public static final short TabsBottom

      sheets tab shown on bottom
      See Also:
        Constant Field Values

    - #### TabsTop

          public static final short TabsTop

      sheets tab shown on top
      See Also:
        Constant Field Values

    - #### ShowOff

          public static final short ShowOff

      scrollbar not shown
      See Also:
        Constant Field Values

    - #### ShowOn

          public static final short ShowOn

      scrollbar shown always
      See Also:
        Constant Field Values

    - #### ShowAutomatic

          public static final short ShowAutomatic

      scrollbar shown automatically
      See Also:
        Constant Field Values

    - #### SheetStateShown

          public static final short SheetStateShown

      sheet shown normally
      See Also:
        Constant Field Values

    - #### SheetStateHidden

          public static final short SheetStateHidden

      sheet hidden
      See Also:
        Constant Field Values

    - #### SheetStateVeryHidden

          public static final short SheetStateVeryHidden

      sheet hidden and can't be unhide from UI
      See Also:
        Constant Field Values

    - #### CopyFormulas

          public static final int CopyFormulas

      formulas be copied
      See Also:
        Constant Field Values

    - #### CopyValues

          public static final int CopyValues

      values be copied
      See Also:
        Constant Field Values

    - #### CopyFormats

          public static final int CopyFormats

      formats be copied
      See Also:
        Constant Field Values

    - #### CopyAll

          public static final int CopyAll

      all are copied
      See Also:
        Constant Field Values

    - #### SheetNormalView

          public static final short SheetNormalView

      sheet page layout normal
      See Also:
        Constant Field Values

    - #### SheetPageLayoutView

          public static final short SheetPageLayoutView

      sheet page layout in page mode
      See Also:
        Constant Field Values

    - #### SheetPageBreakPreView

          public static final short SheetPageBreakPreView

      sheet page layout in break preview mode
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### WorkBook

          public WorkBook()

      default constructor

  - ### Method Detail

    - #### getText

          public java.lang.String getText(int sheet,
                                          int row,
                                          int col)
                                   throws java.lang.Exception

      c Returns the text value of the specified cell.
      Parameters:
        `sheet` - number of sheet.
        `row` - number of row.
        `col` - number of column.
      Returns:
        the text value of the specified cell.
      Throws:
        `java.lang.Exception` - Exception

    - #### setText

          public void setText(int sheet,
                              int row,
                              int col,
                              java.lang.String text)
                       throws java.lang.Exception

      Sets the value of the specified cell in the specified sheet.
      Parameters:
        `sheet` - number of sheet.
        `row` - number of row.
        `col` - number of column.
        `text` - the text value for the cell.
      Throws:
        `java.lang.Exception` - if the cell reference is invalid or the text is too long.

    - #### setText

          public void setText(java.lang.String name,
                              java.lang.String text)
                       throws java.lang.Exception

      sets the text value to the specified named cell
      Parameters:
        `name` - name range top-left cell only if it have more than one cell
        `text` - value
      Throws:
        `java.lang.Exception` - invalid argument

    - #### getText

          public java.lang.String getText(java.lang.String name)
                                   throws java.lang.Exception

      return the text value of the specified named cell
      Parameters:
        `name` - name range top-left cell only if it have more than one cell
      Returns:
        text content
      Throws:
        `java.lang.Exception` - invalid argument

    - #### getText

          public java.lang.String getText(int row,
                                          int col)
                                   throws java.lang.Exception

      Returns the text value of the specified cell.
      Parameters:
        `row` - number of row.
        `col` - number of column.
      Returns:
        the text value of the specified cell.
      Throws:
        `java.lang.Exception` - exception

    - #### getText

          public java.lang.String getText(int row,
                                          int col,
                                          boolean calc)
                                   throws java.lang.Exception

      Returns the text value of the specified cell.
      Parameters:
        `row` - number of row.
        `col` - number of column.
        `calc` - need calculate before get the text
      Returns:
        the text value of the specified cell.
      Throws:
        `java.lang.Exception` - exception

    - #### setText

          public void setText(int row,
                              int col,
                              java.lang.String text)
                       throws java.lang.Exception

      Sets the value of the specified cell for current selected sheet.
      Parameters:
        `row` - number of row.
        `col` - number of column.
        `text` - the text value for the cell.
      Throws:
        `java.lang.Exception` - if the cell reference is invalid or the text is too long.

    - #### setNumber

          public void setNumber(int row,
                                int col,
                                double number)
                         throws java.lang.Exception

      Sets the numeric value of the specified cell in current selected sheet.
      Parameters:
        `row` - number of row.
        `col` - number of column.
        `number` - the cell value.
      Throws:
        `java.lang.Exception` - if row or column numbers are not valid

    - #### getNumber

          public double getNumber(java.lang.String name)
                           throws java.lang.Exception

      Returns the numeric value of the specified cell. Cells containing a formula return the numeric result of the formula. if a cell contains text, an attempt is made to convert the text to a number. if the text cannot be converted, 0 (No Error) is returned.
      Parameters:
        `name` - range cell name.
      Returns:
        the numeric value of the specified cell.
      Throws:
        `java.lang.Exception` - exception

    - #### setNumber

          public void setNumber(java.lang.String name,
                                double number)
                         throws java.lang.Exception

      Sets the numeric value of the specified cell in current selected sheet.
      Parameters:
        `name` - range name.
        `number` - the cell value.
      Throws:
        `java.lang.Exception` - exception if row or column numbers are not valid

    - #### getNumber

          public double getNumber(int row,
                                  int col)
                           throws java.lang.Exception

      Returns the numeric value of the specified cell. Cells containing a formula return the numeric result of the formula. if a cell contains text, an attempt is made to convert the text to a number. if the text cannot be converted, 0 (No Error) is returned.
      Parameters:
        `row` - number of row.
        `col` - number of column.
      Returns:
        the numeric value of the specified cell.
      Throws:
        `java.lang.Exception` - exception

    - #### setNumber

          public void setNumber(int sheet,
                                int row,
                                int col,
                                double number)
                         throws java.lang.Exception

      Sets the numeric value of the specified cell in the specified worksheet.
      Parameters:
        `sheet` - number of sheet.
        `row` - number of row.
        `col` - number of column.
        `number` - the cell value.
      Throws:
        `java.lang.Exception` - exception

    - #### getNumber

          public double getNumber(int sheet,
                                  int row,
                                  int col)
                           throws java.lang.Exception

      Returns the numeric value of the specified cell in the specified worksheet. Cells containing a formula return the numeric result of the formula. if a cell contains text, an attempt is made to convert the text to a number. if the text cannot be converted, 0 (No Error) is returned.
      Parameters:
        `sheet` - number of sheet.
        `row` - number of row.
        `col` - number of column.
      Returns:
        the numeric value of the specified cell.
      Throws:
        `java.lang.Exception` - exception

    - #### isArrayFormula

          public boolean isArrayFormula(int row,
                                        int col)

      return true if the cell is array formula
      Parameters:
        `row` - number of row.
        `col` - number of column.
      Returns:
        true if the cell is array formula

    - #### setArrayFormula

          public void setArrayFormula(int row,
                                      int col,
                                      int row2,
                                      int col2,
                                      java.lang.String formula)
                               throws SXException

      Sets the array formula for the specified range.
      Parameters:
        `row` - - start row number.
        `col` - - start col number.
        `row2` - - end row number.
        `col2` - - end col number.
        `formula` - - formula for the active cell. The string should have a leading equal sign (=).
      Throws:
        `SXException` - If the string is not a valid workbook formula.

    - #### setFormula

          public void setFormula(int row,
                                 int col,
                                 java.lang.String formula)
                          throws java.lang.Exception

      Sets the formula for the specified cell in current selected sheets.
      Parameters:
        `row` - number of row.
        `col` - number of column.
        `formula` - formula for the active cell. The string should not have a leading equal sign (=).
      Throws:
        `java.lang.Exception` - if the string is not a valid workbook formula.

    - #### getFormula

          public java.lang.String getFormula(int row,
                                             int col)
                                      throws java.lang.Exception

      Returns the text of the formula of the specified cell
      Parameters:
        `row` - number of row.
        `col` - number of column.
      Returns:
        the formula of the specified cell.
      Throws:
        `java.lang.Exception` - exception

    - #### setFormula

          public void setFormula(int sheet,
                                 int row,
                                 int col,
                                 java.lang.String formula)
                          throws java.lang.Exception

      Sets the formula for the specified cell on the specified sheet.
      Parameters:
        `sheet` - number of sheet.
        `row` - number of row.
        `col` - number of column.
        `formula` - formula for the active cell. The string should not have a leading equal sign (=).
      Throws:
        `java.lang.Exception` - if the string is not a valid workbook formula.

    - #### getFormula

          public java.lang.String getFormula(int sheet,
                                             int row,
                                             int col)
                                      throws java.lang.Exception

      Returns the text of the formula of the specified cell in current selected sheets.
      Parameters:
        `sheet` - number of sheet.
        `row` - number of row.
        `col` - number of column.
      Returns:
        the formula of the specified cell.
      Throws:
        `java.lang.Exception` - exception

    - #### setSheet

          public void setSheet(int sheet)
                        throws java.lang.Exception

      Selects a worksheet
      Parameters:
        `sheet` - index number of the sheet. Worksheets are indexed from left to right beginning with 0.
      Throws:
        `java.lang.Exception` - exception

    - #### getSheet

          public int getSheet()

      Returns the current selected worksheet index.
      Returns:
        the current selected worksheet index.

    - #### moveSheet

          public void moveSheet(int insertAt)
                         throws java.lang.Exception

      Moves selected sheet to a specified location.
      Parameters:
        `insertAt` - The location to which to move the sheets.
      Throws:
        `java.lang.Exception` - if insertAt is not a valid sheet index.

    - #### setNumSheets

          public void setNumSheets(int sheets)
                            throws java.lang.Exception

      Sets the number of worksheets in the current workbook. Use this method to change the number of worksheets in the workbook. Worksheets are added to or deleted from the end of the current list of worksheets. To add worksheets between existing worksheets, use the `insertSheets(int, int)` method. To delete worksheets between existing worksheets, use the `deleteSheets(int, int)` method.
      Parameters:
        `sheets` - the number of worksheets that make up the workbook.
      Throws:
        `java.lang.Exception` - exception

    - #### getNumSheets

          public int getNumSheets()

      Returns the number of worksheets in the current workbook.
      Returns:
        an integer indicating the number of worksheets.

    - #### deleteSheets

          public void deleteSheets(int sheet,
                                   int sheets)
                            throws java.lang.Exception

      Deletes one or more worksheets from a workbook. The names displayed on the sheet tabs are not affected by deletions; however, the worksheet index is adjusted.
      Parameters:
        `sheet` - specifies the index to the first worksheet to be deleted. do not confuse the index with the sheet name on the sheet tab.
        `sheets` - specifies how many sheets to delete, beginning with the worksheet specified by sheet.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### insertSheets

          public void insertSheets(int sheet,
                                   int sheets)
                            throws java.lang.Exception

      Inserts one or more worksheets at the specified location.
      Parameters:
        `sheet` - identifies the index number of the worksheet in front of which you want to insert the new sheets. Sheets are indexed from left to right beginning with 0. do not confuse the index number with the sheet name that appears on the sheet tab.
        `sheets` - determines how many sheets are inserted before sheet.
      Throws:
        `java.lang.Exception` - exception

    - #### setSheetName

          public void setSheetName(int sheet,
                                   java.lang.String sheetName)
                            throws java.lang.Exception

      Assigns a name to the specified worksheet. this name appears on the sheet tab. When you change a sheet name, formulas that reference the worksheet are updated to reference the new sheet name.
      Parameters:
        `sheet` - index number of the sheet. Worksheets are indexed from left to right beginning with 0.
        `sheetName` - the name of the sheet.
      Throws:
        `java.lang.Exception` - exception

    - #### findSheetByName

          public int findSheetByName(java.lang.String sheetName)

      find the sheet index number by the sheet name.
      Parameters:
        `sheetName` - sheet Name
      Returns:
        sheet index,-1 if no sheet found

    - #### getSheetName

          public java.lang.String getSheetName(int sheet)
                                        throws java.lang.Exception

      Returns the name of the specified worksheet.
      Parameters:
        `sheet` - index number of the sheet. Worksheets are indexed from left to right beginning with 0.
      Returns:
        the name of the worksheet.
      Throws:
        `java.lang.Exception` - exception

    - #### copySheet

          public void copySheet(int insertAt)
                         throws java.lang.Exception

      Creates copies of the selected sheet.
      Parameters:
        `insertAt` - The location at which to insert the new sheets.
      Throws:
        `java.lang.Exception` - if insertAt is not a valid sheet index.

    - #### getHiddenState

          public int getHiddenState()

      Returns the hidden state for the sheet.
      Returns:
        the hidden state for the sheet: SheetStateShown`SheetStateShown` show the sheet. SheetStateHidden`SheetStateHidden` hide the sheet. SheetStateVeryHidden`SheetStateVeryHidden` hide the sheet and can not reshow the sheet with the GUI.

    - #### setSheetHidden

          public void setSheetHidden(int hidden)
                              throws java.lang.Exception

      Sets the hidden state for the current selected sheet.
      Parameters:
        `hidden` - one of the following flags indicating the desired hidden state: SheetStateShown`SheetStateShown` show the sheet. SheetStateHidden`SheetStateHidden` hide the sheet. SheetStateVeryHidden`SheetStateVeryHidden` hide the sheet and can not reshow the sheet with the GUI.
      Throws:
        `java.lang.Exception` - if this call would hide the last visible sheet or if the book is protected.

    - #### copyRange

          public void copyRange(int dstRow1,
                                int dstCol1,
                                int dstRow2,
                                int dstCol2,
                                int srcRow1,
                                int srcCol1,
                                int srcRow2,
                                int srcCol2)
                         throws java.lang.Exception

      Copies a range of cells to a new location in the current workbook.
      Parameters:
        `dstRow1` - the first row in the destination range.
        `dstCol1` - the first column in the destination range.
        `dstRow2` - the ending row in the destination range, inclusive.
        `dstCol2` - the ending column in the destination range, inclusive.
        `srcRow1` - the first row in the source range.
        `srcCol1` - the first column in the source range.
        `srcRow2` - the ending row in the source range, inclusive.
        `srcCol2` - the ending column in the source range, inclusive. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### copyRange

          public void copyRange(int dstRow1,
                                int dstCol1,
                                int dstRow2,
                                int dstCol2,
                                WorkBook book,
                                int srcRow1,
                                int srcCol1,
                                int srcRow2,
                                int srcCol2)
                         throws java.lang.Exception

      Copies a range of cells to a new location in the current workbook.
      Parameters:
        `dstRow1` - the first row in the destination range.
        `dstCol1` - the first column in the destination range.
        `dstRow2` - the ending row in the destination range, inclusive.
        `dstCol2` - the ending column in the destination range, inclusive.
        `book` - the source workbook.
        `srcRow1` - the first row in the source range.
        `srcCol1` - the first column in the source range.
        `srcRow2` - the ending row in the source range, inclusive.
        `srcCol2` - the ending column in the source range, inclusive. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### copyRange

          public void copyRange(int dstSheet,
                                int dstRow1,
                                int dstCol1,
                                int dstRow2,
                                int dstCol2,
                                WorkBook book,
                                int srcSheet,
                                int srcRow1,
                                int srcCol1,
                                int srcRow2,
                                int srcCol2)
                         throws java.lang.Exception

      Copies a range of cells to a new location in the current workbook.
      Parameters:
        `dstSheet` - the destination sheet index.
        `dstRow1` - the first row in the destination range.
        `dstCol1` - the first column in the destination range.
        `dstRow2` - the ending row in the destination range, inclusive.
        `dstCol2` - the ending column in the destination range, inclusive.
        `book` - the source workbook.
        `srcSheet` - the source sheet index.
        `srcRow1` - the first row in the source range.
        `srcCol1` - the first column in the source range.
        `srcRow2` - the ending row in the source range, inclusive.
        `srcCol2` - the ending column in the source range, inclusive. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### copyRange

          public void copyRange(int dstSheet,
                                int dstRow1,
                                int dstCol1,
                                int dstRow2,
                                int dstCol2,
                                WorkBook book,
                                int srcSheet,
                                int srcRow1,
                                int srcCol1,
                                int srcRow2,
                                int srcCol2,
                                int what)
                         throws java.lang.Exception

      Copies a range of cells to a new location in the current workbook.
      Parameters:
        `dstSheet` - the destination sheet index.
        `dstRow1` - the first row in the destination range.
        `dstCol1` - the first column in the destination range.
        `dstRow2` - the ending row in the destination range, inclusive.
        `dstCol2` - the ending column in the destination range, inclusive.
        `book` - the source workbook.
        `srcSheet` - the source sheet index.
        `srcRow1` - the first row in the source range.
        `srcCol1` - the first column in the source range.
        `srcRow2` - the ending row in the source range, inclusive.
        `srcCol2` - the ending column in the source range, inclusive.
        `what` - one or more of the following constants: CopyFormulas = 1`CopyFormulas` CopyValues = 2`CopyValues` CopyFormats = 4`CopyFormats` CopyAll = 7`CopyAll` Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### clearRange

          public void clearRange(int row1,
                                 int col1,
                                 int row2,
                                 int col2)
                          throws java.lang.Exception

      Clears the specified range.
      Parameters:
        `row1` - Coordinate specifying the beginning row of the range.
        `col1` - Coordinate specifying the beginning column of the range.
        `row2` - Coordinate specifying the ending row of the range.
        `col2` - Coordinate specifying the ending column of the range. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
      Throws:
        `java.lang.Exception` - exception

    - #### deleteRange

          public void deleteRange(int row1,
                                  int col1,
                                  int row2,
                                  int col2,
                                  short shift)
                           throws java.lang.Exception

      Deletes cells, rows, or columns from the specified selected sheets.
      Parameters:
        `row1` - Coordinate specifying the beginning row of the range.
        `col1` - Coordinate specifying the beginning column of the range.
        `row2` - Coordinate specifying the ending row of the range.
        `col2` - Coordinate specifying the ending column of the range. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
        `shift` - shift direction ShiftHorizontal`ShiftHorizontal` Shifts cells horizontally beyond the last column, one cell to the right. ShiftVertical`ShiftVertical` Shifts cells vertically beyond the last row, one cell up. ShiftRows`ShiftRows` Shifts all cells beyond the last row, up to the first deleted row. ShiftColumns`ShiftColumns` Shifts all cells beyond the last column to the left.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### deleteRange

          public void deleteRange(int row1,
                                  int col1,
                                  int row2,
                                  int col2,
                                  short shift,
                                  boolean bFixformulas)
                           throws java.lang.Exception

      Deletes cells, rows, or columns from the specified selected sheets.
      Parameters:
        `row1` - Coordinate specifying the beginning row of the range.
        `col1` - Coordinate specifying the beginning column of the range.
        `row2` - Coordinate specifying the ending row of the range.
        `col2` - Coordinate specifying the ending column of the range. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
        `shift` - shift direction ShiftHorizontal`ShiftHorizontal` Shifts cells horizontally beyond the last column, one cell to the right. ShiftVertical`ShiftVertical` Shifts cells vertically beyond the last row, one cell up. ShiftRows`ShiftRows` Shifts all cells beyond the last row, up to the first deleted row. ShiftColumns`ShiftColumns` Shifts all cells beyond the last column to the left.
        `bFixformulas` - whether fix the formulas after delete the range
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### insertRange

          public void insertRange(int row1,
                                  int col1,
                                  int row2,
                                  int col2,
                                  short shift)
                           throws java.lang.Exception

      insert new cells, rows or columns
      Parameters:
        `row1` - Coordinate specifying the beginning row of the range.
        `col1` - Coordinate specifying the beginning column of the range.
        `row2` - Coordinate specifying the ending row of the range.
        `col2` - Coordinate specifying the ending column of the range. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
        `shift` - shift direction ShiftHorizontal`ShiftHorizontal` Shifts cells horizontally beyond the last column, one cell to the right. ShiftVertical`ShiftVertical` Shifts cells vertically beyond the last row, one cell up. ShiftRows`ShiftRows` Shifts all cells beyond the last row, up to the first deleted row. ShiftColumns`ShiftColumns` Shifts all cells beyond the last column to the left.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### getRangeStyle

          public RangeStyle getRangeStyle()
                                   throws java.lang.Exception

      Returns the format of the selected range of cells.
      Returns:
        RangeStyle
      Throws:
        `java.lang.Exception` - exception

    - #### getRangeStyle

          public RangeStyle getRangeStyle(int row1,
                                          int col1,
                                          int row2,
                                          int col2)
                                   throws java.lang.Exception

      Returns the RangeStyle of the specified range of cells
      Parameters:
        `row1` - the first row in the range.
        `col1` - the first column in the range.
        `row2` - the ending row in the range.
        `col2` - the ending column in the range. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
      Returns:
        RangeStyle
      Throws:
        `java.lang.Exception` - exception

    - #### getConditionalFormatAppliedCellStyle

          public RangeStyle getConditionalFormatAppliedCellStyle(int sheet1,
                                                                 int row1,
                                                                 int col1)
                                                          throws java.lang.Exception

      Returns the RangeStyle of the specified cell with conditional format applied
      Parameters:
        `sheet1` - the sheet index.
        `row1` - the first row in the range.
        `col1` - the first column in the range. Rows are indexed from top to bottom beginning with 0. Sheets and columns are indexed from left to right beginning with 0.
      Returns:
        RangeStyle
      Throws:
        `java.lang.Exception` - exception

    - #### setRangeStyle

          public void setRangeStyle(RangeStyle rangestyle)
                             throws java.lang.Exception

      Sets the RangeStyle of the selected range of cells.
      Parameters:
        `rangestyle` - RangeStyle
      Throws:
        `java.lang.Exception` - exception

    - #### setRangeStyle

          public void setRangeStyle(RangeStyle rangestyle,
                                    int row1,
                                    int col1,
                                    int row2,
                                    int col2)
                             throws java.lang.Exception

      Sets the RangeStyle of the selected range of cells.
      Parameters:
        `rangestyle` - RangeStyle
        `row1` - the first row in the range.
        `col1` - the first column in the range.
        `row2` - the ending row in the range.
        `col2` - the ending column in the range.
      Throws:
        `java.lang.Exception` - exception

    - #### getRowPageBreaks

          public int[] getRowPageBreaks()

      return all row index which has page break
      Returns:
        row index

    - #### addRowPageBreak

          public void addRowPageBreak(int row)
                               throws java.lang.Exception

      Adds a horizontal page break adjacent to the top edge of the specified row.
      Parameters:
        `row` - integer indicating the row.
      Throws:
        `java.lang.Exception` - if parameter is invalid

    - #### removeRowPageBreak

          public void removeRowPageBreak(int row)
                                  throws java.lang.Exception

      Removes a horizontal page break adjacent to the current cell.
      Parameters:
        `row` - the index number of the row where the page break is removed.
      Throws:
        `java.lang.Exception` - exception

    - #### getColPageBreaks

          public int[] getColPageBreaks()

      return all col index which has page break
      Returns:
        col index

    - #### addColPageBreak

          public void addColPageBreak(int col)
                               throws java.lang.Exception

      Adds a vertical page break to the left edge of the specified column.
      Parameters:
        `col` - an integer indicating the column.
      Throws:
        `java.lang.Exception` - if argument is invalid.

    - #### removeColPageBreak

          public void removeColPageBreak(int col)
                                  throws java.lang.Exception

      Removes a vertical page break adjacent to the left edge of the specified column.
      Parameters:
        `col` - the index number of the column.
      Throws:
        `java.lang.Exception` - exception

    - #### getDefinedName

          public java.lang.String getDefinedName(java.lang.String name)
                                          throws java.lang.Exception

      Returns the definition associated with the specified name. A defined name can refer to a cell, a group of cells, a value, or a formula.
      Parameters:
        `name` - a defined name.
      Returns:
        a string containing the name's definition.
      Throws:
        `java.lang.Exception` - if the specified name does not exist

    - #### getDefinedName

          public java.lang.String getDefinedName(int name)
                                          throws java.lang.Exception

      Returns the defined name for the specified index number. A defined name can refer to a cell, a group of cells, a value, or a formula.
      Parameters:
        `name` - identifies a name by index number. Defined names are numbered in the order in which they are created, beginning with 1.
      Returns:
        a string containing the name.
      Throws:
        `java.lang.Exception` - if an invalid index number is specified

    - #### getDefinedNameCount

          public int getDefinedNameCount()

      Returns the number of defined names
      Returns:
        an integer indicating the number of names.

    - #### setDefinedName

          public void setDefinedName(java.lang.String name,
                                     java.lang.String formula)
                              throws java.lang.Exception

      Sets the formula associated with a defined name
      Parameters:
        `name` - A defined name. Enter an existing name if you are returning the formula associated with the name or changing the value associated with the name. Enter a unique name if you are creating a new value.
        `formula` - Describes the range represented by name. A name can refer to a cell, a group of cells, a value, or a formula. When setting name, do not include a leading equal sign (=)in the formula.
      Throws:
        `java.lang.Exception` - exception

    - #### deleteDefinedName

          public void deleteDefinedName(java.lang.String name)
                                 throws SXException

      remove the defined name
      Parameters:
        `name` - A defined name.
      Throws:
        `java.lang.Exception` - exception
        `SXException`

    - #### setRowHeight

          public void setRowHeight(int row,
                                   int height)
                            throws java.lang.Exception

      Sets the height of a single specified row.
      Parameters:
        `row` - the row number.
        `height` - the row height in twips. A twip is 1/1440th of an inch.
      Throws:
        `java.lang.Exception` - exception

    - #### getRowHeight

          public int getRowHeight(int row)
                           throws java.lang.Exception

      Returns the height of a single specified row.
      Parameters:
        `row` - an integer indicating the index number of the row.
      Returns:
        the row height in twips. A twip is 1/1440th of an inch.
      Throws:
        `java.lang.Exception` - exception

    - #### setDefaultRowHeight

          public void setDefaultRowHeight(int height)
                                   throws java.lang.Exception

      Sets the default row height of whole worksheet.
      Parameters:
        `height` - the row height in twips. A twip is 1/1440th of an inch.
      Throws:
        `java.lang.Exception` - exception

    - #### getDefaultRowHeight

          public int getDefaultRowHeight()
                                  throws java.lang.Exception

      Returns the default row height of the worksheet.
      Returns:
        the row height in twips. A twip is 1/1440th of an inch.
      Throws:
        `java.lang.Exception` - exception

    - #### isRowHeightAutoSize

          public boolean isRowHeightAutoSize(int row)
                                      throws java.lang.Exception

      Returns true if row height is determined automatically.
      Parameters:
        `row` - the row number
      Returns:
        true if row height auto resized.
      Throws:
        `java.lang.Exception` - exception

    - #### setRowHeightAutoSize

          public void setRowHeightAutoSize(int row,
                                           boolean automatic)
                                    throws java.lang.Exception

      Specifies that the height of the specified row is automatically set to display the tallest entry in the row. The row is set at least as tall as the default row height.
      Parameters:
        `row` - the row number
        `automatic` - Specifies whether rows are automatically resized
      Throws:
        `java.lang.Exception` - exception

    - #### setRowHidden

          public void setRowHidden(int row,
                                   boolean rowHidden)
                            throws java.lang.Exception

      Sets the display status of the specified row.
      Parameters:
        `row` - row number.
        `rowHidden` - Specifies whether the row is hidden (true) or displayed (false).
      Throws:
        `java.lang.Exception` - exception

    - #### isRowHidden

          public boolean isRowHidden(int row)
                              throws java.lang.Exception

      Returns true if row is hidden. Returns false otherwise.
      Parameters:
        `row` - identifies the row by number
      Returns:
        true/false
      Throws:
        `java.lang.Exception` - exception

    - #### setRowOutlineLevel

          public void setRowOutlineLevel(int row1,
                                         int row2,
                                         int outlineLevel,
                                         boolean additive)
                                  throws java.lang.Exception

      Sets the outline level of a range of rows.
      Parameters:
        `row1` - the first row in the range.
        `row2` - the last row in the range.
        `outlineLevel` - the outline level to set.
        `additive` - Specifies whether the outline level is an absolute value to set, or should be added to the current outline level. if false, the outline level of the specified rows is set to the value set with the outlineLevel parameter. Otherwise, the value set with the outlineLevel parameter is added to the current outline level of each row. Note: The outline level may be set from zero to seven.
      Throws:
        `java.lang.Exception` - exception

    - #### getRowOutlineLevel

          public int getRowOutlineLevel(int row)
                                 throws java.lang.Exception

      Returns the outline level of a single specified row.
      Parameters:
        `row` - an integer indicating the index number of the row.
      Returns:
        the outline level of the specified row.
      Throws:
        `java.lang.Exception` - exception

    - #### setSummaryRowsBeforeDetail

          public void setSummaryRowsBeforeDetail(boolean summaryBeforeDetail)

      Sets whether row outline summaries come before row detail information.
      Parameters:
        `summaryBeforeDetail` - if true, row outline summaries are displayed before row detail information.

    - #### isSummaryRowsBeforeDetail

          public boolean isSummaryRowsBeforeDetail()

      Returns true if row outline summaries are before row detail information.
      Returns:
        true or false

    - #### setColWidth

          public void setColWidth(int col,
                                  int width)
                           throws java.lang.Exception

      Sets the width of a single column.
      Parameters:
        `col` - identifies a column by number.
        `width` - the width of the column. Column width is specified in units equal to 1/256th of the character 0's width in the default font.
      Throws:
        `java.lang.Exception` - exception

    - #### getColWidth

          public int getColWidth(int col)
                          throws java.lang.Exception

      Returns the width of a single column.
      Parameters:
        `col` - an integer indicating the column index number.
      Returns:
        the column width value.
      Throws:
        `java.lang.Exception` - exception

    - #### setDefaultColWidth

          public void setDefaultColWidth(int width)
                                  throws java.lang.Exception

      Sets the default column width of worksheet.
      Parameters:
        `width` - the width of the column. Column width is specified in units equal to 1/256th of the character 0's width in the default font.
      Throws:
        `java.lang.Exception` - exception

    - #### getDefaultColWidth

          public int getDefaultColWidth()
                                 throws java.lang.Exception

      Returns the default column width of the worksheet.
      Returns:
        the column width value. Column width is specified in units equal to 1/256th of the character 0's width in the default font.
      Throws:
        `java.lang.Exception` - exception

    - #### setColWidthAutoSize

          public void setColWidthAutoSize(int col,
                                          boolean auto)
                                   throws java.lang.Exception

      Sets the widths of the specified columns to automatically adjust to the largest column entry.
      Parameters:
        `col` - number identifying the column.
        `auto` - auto resize the column width
      Throws:
        `java.lang.Exception` - exception

    - #### setColWidthAutoSize

          public void setColWidthAutoSize(int row1,
                                          int col,
                                          int row2,
                                          int col2,
                                          boolean auto)
                                   throws java.lang.Exception

      Sets the widths of the specified columns to automatically
      Parameters:
        `row1` - start row
        `col` - start col
        `row2` - end row
        `col2` - end col
        `auto` - auto flag to resize the column width
      Throws:
        `java.lang.Exception` - exception

    - #### setColHidden

          public void setColHidden(int col,
                                   boolean colHidden)
                            throws java.lang.Exception

      Sets a flag indicating whether or not the specified column is hidden.
      Parameters:
        `col` - number identifying the column.
        `colHidden` - the specified column is hidden.
      Throws:
        `java.lang.Exception` - exception

    - #### isColHidden

          public boolean isColHidden(int col)
                              throws java.lang.Exception

      Returns true if the column is hidden.
      Parameters:
        `col` - identifies a column by number. Columns are indexed from left to right beginning at 0.
      Returns:
        true/false
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### setColOutlineLevel

          public void setColOutlineLevel(int col1,
                                         int col2,
                                         int outlineLevel,
                                         boolean additive)
                                  throws java.lang.Exception

      Sets the outline level of a range of columns.
      Parameters:
        `col1` - the first column in the range.
        `col2` - the last column in the range.
        `outlineLevel` - the outline level to set.
        `additive` - Specifies whether the outline level is an absolute value to set, or should be added to the current outline level. if this value is false, the outline level of the specified columns will be set to outlineLevel. Otherwise, outlineLevel will be added to the current outline level of each column. Note: The outline level may be set from zero to seven.
      Throws:
        `java.lang.Exception` - exception

    - #### getColOutlineLevel

          public int getColOutlineLevel(int col)
                                 throws java.lang.Exception

      Returns the outline level of a single specified column.
      Parameters:
        `col` - identifies a column by number. Columns are indexed from left to right beginning at 0.
      Returns:
        the outline level of the specified column.
      Throws:
        `java.lang.Exception` - exception

    - #### setSummaryColsBeforeDetail

          public void setSummaryColsBeforeDetail(boolean summaryBeforeDetail)

      Sets whether col outline summaries come before col detail information.
      Parameters:
        `summaryBeforeDetail` - if true, col outline summaries are displayed before col detail information.

    - #### isSummaryColsBeforeDetail

          public boolean isSummaryColsBeforeDetail()

      Returns true if col outline summaries are before col detail information.
      Returns:
        true or false

    - #### getViewScale

          public int getViewScale()

      Returns the current display scale for a workbook.
      Returns:
        the current display scale, ranging from 10 to 400 percent. 100 percent is normal.

    - #### setViewScale

          public void setViewScale(int scale)
                            throws java.lang.Exception

      Sets the current display scale for a workbook.
      Parameters:
        `scale` - an integer ranging from 10 to 400. 100 percent is normal display.
      Throws:
        `java.lang.Exception` - if the argument is invalid

    - #### freezePanes

          public void freezePanes(int topRow,
                                  int leftCol,
                                  int splitRows,
                                  int splitCols,
                                  boolean splitView)
                           throws java.lang.Exception

      Sets frozen panes at the specified position.
      Parameters:
        `topRow` - The top row of the top frozen pane. (Ignored if splitRow is 0.)
        `leftCol` - The left column of the left frozen pane. (Ignored if splitCol is 0.)
        `splitRows` - The number of rows that should be visible in the top pane. Use 0 to specify no top frozen pane.
        `splitCols` - The number of cols that should be visible in the left pane. Use 0 to specify no left frozen pane.
        `splitView` - Specifies whether this is a frozen split view. if true, autoFreezePanes and unfreezePanes will convert the frozen panes to a split view. if false, those methods will set the view to its default (unsplit) state.
      Throws:
        `java.lang.Exception` - exception

    - #### unfreezePanes

          public void unfreezePanes()

      Removes frozen panes.

    - #### formatRCNr

          public java.lang.String formatRCNr(int row,
                                             int col,
                                             boolean doAbsolute)
                                      throws java.lang.Exception

      Returns a string containing a formatted row and column reference.
      Parameters:
        `row` - the row number of the reference.
        `col` - the column number of the reference.
        `doAbsolute` - boolean. if true, uses absolute references. if false, uses relative references.
      Returns:
        the string containing the formatted reference.
      Throws:
        `java.lang.Exception` - exception

    - #### setSelection

          public void setSelection(int row1,
                                   int col1,
                                   int row2,
                                   int col2)
                            throws java.lang.Exception

      Selects the specified range and moves the active cell to the top left cell in the range.
      Parameters:
        `row1` - Coordinate specifying the beginning row of the range.
        `col1` - Coordinate specifying the beginning column of the range.
        `row2` - Coordinate specifying the ending row of the range.
        `col2` - Coordinate specifying the ending column of the range.
      Throws:
        `java.lang.Exception` - exception

    - #### getSelection

          public RangeArea getSelection()
                                 throws java.lang.Exception

      return the current selected range
      Returns:
        range
      Throws:
        `java.lang.Exception` - exception

    - #### getMergedRanges

          public RangeArea[] getMergedRanges()
                                      throws java.lang.Exception

      return the list merged range from the current selected worksheet
      Returns:
        merged range list
      Throws:
        `java.lang.Exception` - invalid argument

    - #### setSelection

          public void setSelection(java.lang.String range)
                            throws java.lang.Exception

      Selects the range represented by the formula.
      Parameters:
        `range` - Identifies the starting and ending rows and columns of the selection or a defined name that represents the selection
      Throws:
        `java.lang.Exception` - exception

    - #### editCopyRight

          public void editCopyRight()
                             throws java.lang.Exception

      Copies cells in the left column of a selection to the other columns in the selected range and adjusts relative cell references appropriately.
      Throws:
        `java.lang.Exception` - exception

    - #### editCopyDown

          public void editCopyDown()
                            throws java.lang.Exception

      Copies cells in the top row of a selection to the other rows in the selected range and adjusts relative cell references appropriately.
      Throws:
        `java.lang.Exception` - exception

    - #### getPaletteEntry

          public int getPaletteEntry(int entry)
                              throws java.lang.Exception

      Returns a color in the color palette. The color is returned as a four-byte integer in the format 0x00RRGGBB
      Parameters:
        `entry` - Zero-based index of the entry to change
      Returns:
        color value
      Throws:
        `java.lang.Exception` - exception

    - #### recalc

          public void recalc()
                      throws java.lang.Exception

      Recalculate the workbook
      Throws:
        `java.lang.Exception` - exception

    - #### isIterationEnabled

          public boolean isIterationEnabled()

      Returns true if iteration is enabled. Iteration can be used to solve circular references.
      Returns:
        true = iteration enabled.

    - #### setIterationEnabled

          public void setIterationEnabled(boolean iterationEnabled)

      Sets whether iteration is enabled. Iteration can be used to solve circular references.
      Parameters:
        `iterationEnabled` - true = iteration enabled.

    - #### getIterationMax

          public int getIterationMax()

      Returns the maximum number of calculation iterations.
      Returns:
        an integer indicating the maximum number of iterations.

    - #### setIterationMax

          public void setIterationMax(int iterationMax)

      Sets the maximum number of iterations.
      Parameters:
        `iterationMax` - Maximum number of iterations.

    - #### getIterationMaxChange

          public double getIterationMaxChange()

      Returns the maximum iteration change value.
      Returns:
        a double indicating the maximum iteration change value.

    - #### setIterationMaxChange

          public void setIterationMaxChange(double iterationMaxChange)

      Sets the maximum iteration change value.
      Parameters:
        `iterationMaxChange` - The maximum change value for iterations.

    - #### addPicture

          public PictureShape addPicture(double x1,
                                         double y1,
                                         double x2,
                                         double y2,
                                         java.lang.String filename)
                                  throws java.lang.Exception

      Adds a picture object to the worksheet
      Parameters:
        `x1` - Coordinate of the first anchor point of the object; measured in columns from the left edge of the worksheet.
        `y1` - Coordinate of the first anchor point; measured in rows from the top edge of the worksheet.
        `x2` - Coordinate of the second anchor point; measured in columns from the left edge of the worksheet.
        `y2` - Coordinate of the second anchor point; measured in rows from the top edge of the worksheet.
        `filename` - image file name
      Returns:
        picture shape object
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### addPicture

          public PictureShape addPicture(double x1,
                                         double y1,
                                         double x2,
                                         double y2,
                                         byte[] picData)
                                  throws java.lang.Exception

      Adds a picture object to the worksheet
      Parameters:
        `x1` - Coordinate of the first anchor point of the object; measured in columns from the left edge of the worksheet.
        `y1` - Coordinate of the first anchor point; measured in rows from the top edge of the worksheet.
        `x2` - Coordinate of the second anchor point; measured in columns from the left edge of the worksheet.
        `y2` - Coordinate of the second anchor point; measured in rows from the top edge of the worksheet.
        `picData` - byte array of the picture
      Returns:
        picture shape object
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### getPictureShape

          public PictureShape getPictureShape(int index)
                                       throws java.lang.Exception

      Returns the specified index picture from the active worksheet.
      Parameters:
        `index` - Picture index in the sheet
      Returns:
        PictureShape
      Throws:
        `java.lang.Exception` - if not a valid Picture index

    - #### removePicture

          public void removePicture(int index)
                             throws java.lang.Exception

      remove specified index image from current sheet
      Parameters:
        `index` - image index
      Throws:
        `java.lang.Exception` - exception

    - #### getPictureCount

          public int getPictureCount()

      get the picture numbers in the current sheet
      Returns:
        picture numbers

    - #### addChart

          public ChartShape addChart(double x1,
                                     double y1,
                                     double x2,
                                     double y2)
                              throws java.lang.Exception

      Creates and adds a chart to the active worksheet.
      Parameters:
        `x1` - Coordinate of the first anchor point of the object; measured in columns from the left edge of the worksheet.
        `y1` - Coordinate of the first anchor point; measured in rows from the top edge of the worksheet.
        `x2` - Coordinate of the second anchor point; measured in columns from the left edge of the worksheet.
        `y2` - Coordinate of the second anchor point; measured in rows from the top edge of the worksheet.
      Returns:
        ChartShape
      Throws:
        `java.lang.Exception` - if a parameter is invalid.

    - #### addChartSheet

          public ChartShape addChartSheet(int sheetIndex)
                                   throws java.lang.Exception

      Creates and adds a chart to the book and make it a chart sheet.
      Parameters:
        `sheetIndex` - sheet index
      Returns:
        ChartShape
      Throws:
        `java.lang.Exception` - if a parameter is invalid.

    - #### getChart

          public ChartShape getChart(int index)
                              throws java.lang.Exception

      Returns the first chart in the active worksheet.
      Parameters:
        `index` - chart index in the sheet
      Returns:
        ChartShape
      Throws:
        `java.lang.Exception` - if not a valid chart index

    - #### removeChart

          public void removeChart(int index)
                           throws java.lang.Exception

      remove specified index chart from current sheet
      Parameters:
        `index` - chart index
      Throws:
        `java.lang.Exception` - exception

    - #### getChartCount

          public int getChartCount()

      get the picture numbers in the current sheet
      Returns:
        picture numbers

    - #### copyChartTo

          public void copyChartTo(ChartShape chartShape,
                                  int x1,
                                  int y1,
                                  int x2,
                                  int y2)
                           throws java.lang.Exception

      this will copy chart shape and move to new location
      Parameters:
        `chartShape` - source chart shape
        `x1` - Coordinate of the first anchor point of the object; measured in columns from the left edge of the worksheet.
        `y1` - Coordinate of the first anchor point; measured in rows from the top edge of the worksheet.
        `x2` - Coordinate of the second anchor point; measured in columns from the left edge of the worksheet.
        `y2` - Coordinate of the second anchor point; measured in rows from the top edge of the worksheet.
      Throws:
        `java.lang.Exception` - invalid parameter

    - #### addHyperlink

          public HyperLink addHyperlink(int row1,
                                        int col1,
                                        int row2,
                                        int col2,
                                        java.lang.String url,
                                        int type,
                                        java.lang.String tooltip)
                                 throws java.lang.Exception

      Adds a hyperlink to the range in the current worksheet.
      Parameters:
        `row1` - the beginning row coordinate of the Hyperlink.
        `col1` - the beginning column coordinate of the Hyperlink.
        `row2` - the ending row coordinate of the Hyperlink.
        `col2` - the ending column coordinate of the Hyperlink.
        `url` - the link string.
        `type` - 0 - Intra doc, 1 - Absolute URL, 2 - Relative URL, 3 - Absolute file path, 4 - Relative File path, 5 - Network File path.
        `tooltip` - the tool tip string this can be null.
      Returns:
        hyperlink object
      Throws:
        `java.lang.Exception` - exception

    - #### getHyperlink

          public HyperLink getHyperlink(int index)
                                 throws java.lang.Exception

      get the specified index hyperlink object from current sheet
      Parameters:
        `index` - index in the sheet
      Returns:
        hyperlink object null if not found
      Throws:
        `java.lang.Exception` - exception

    - #### getHyperlinks

          public HyperLink[] getHyperlinks()
                                    throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getHyperlink

          public HyperLink getHyperlink(int row,
                                        int col)
                                 throws java.lang.Exception

      get the specified index hyperlink object from current sheet
      Parameters:
        `row` - the row coordinate of the hyperlink.
        `col` - the col coordinate of the hyperlink.
      Returns:
        hyperlink object null if not found
      Throws:
        `java.lang.Exception` - exception

    - #### removeHyperlink

          public void removeHyperlink(HyperLink hyperlink)
                               throws java.lang.Exception

      remove the specified hyperlink object
      Parameters:
        `hyperlink` - hyperlink object
      Throws:
        `java.lang.Exception` - exception

    - #### addComment

          public void addComment(int row1,
                                 int col1,
                                 java.lang.String text,
                                 java.lang.String author)
                          throws java.lang.Exception

      add a comment to the cell in the current sheet
      Parameters:
        `row1` - the row coordinate of the comment.
        `col1` - the col coordinate of the comment.
        `text` - comment text content
        `author` - comment author
      Throws:
        `java.lang.Exception` - exception

    - #### getComment

          public CommentShape getComment(int row1,
                                         int col1)
                                  throws java.lang.Exception

      get the comment from the specified cell
      Parameters:
        `row1` - the row coordinate of the cell.
        `col1` - the col coordinate of the cell.
      Returns:
        comment shape
      Throws:
        `java.lang.Exception` - exception

    - #### getCommentCount

          public int getCommentCount()

      Returns the Comment count in the active worksheet.
      Returns:
        Comment count in the active sheet

    - #### getComment

          public CommentShape getComment(int index)
                                  throws java.lang.Exception

      Returns the specified comment in the active worksheet.
      Parameters:
        `index` - Comment index in the sheet
      Returns:
        CommentShape
      Throws:
        `java.lang.Exception` - if not a valid chart index

    - #### removeComment

          public void removeComment(CommentShape comment)
                             throws java.lang.Exception

      remove the specified comment from the current sheet
      Parameters:
        `comment` - comment shape
      Throws:
        `java.lang.Exception` - exception

    - #### autoFilter

          public void autoFilter()
                          throws java.lang.Exception

      Creates an AutoFilter using this range to identify the bounds. NOTE: If an AutoFilter already exists, it will be removed and replaced with this one.
      Throws:
        `java.lang.Exception` - if this range cannot be filtered.

    - #### CreateConditionFormat

          public ConditionFormat CreateConditionFormat()

      Creates a new instance of a conditional format in current selected sheet.
      Returns:
        ConditionFormat

    - #### setConditionalFormats

          public void setConditionalFormats(ConditionFormat[] condfmts)
                                     throws java.lang.Exception

      Sets the specified conditional formats for the current selection.
      Parameters:
        `condfmts` - an array of 0...3 ConditionalFormat objects to apply to the current selection. if this is null, or has a length of zero, conditional formats are removed.
      Throws:
        `java.lang.Exception` - exception

    - #### getConditionalFormats

          public ConditionFormat[] getConditionalFormats()
                                                  throws java.lang.Exception

      Returns the conditional formats for the current selection. this method returns an array of conditonal formats for the current selection. if all of the cells in the current selection do not have the same conditional formats, an array of one conditional format is returned and this conditional format has the type and operator set to eTypeNone and eOperatorNone. if there are no conditional formats on any of the cells, an array of length zero is returned. Note: The conditional formats returned are copies of the actual conditional formats, and may be modified for passing back to setConditionalFormats.
      Returns:
        the conditional formats for the current selection.
      Throws:
        `java.lang.Exception` - if there is not a valid selection

    - #### setPaletteEntry

          public void setPaletteEntry(int entry,
                                      int iRed,
                                      int iGreen,
                                      int iBlue)

      Sets a color in the workbook color palette using decimal values. RGB decimal values range from 0 (no color) to 255 (maximum color intensity) for each color.
      Parameters:
        `entry` - Zero-based index of the entry to change.
        `iRed` - the decimal value of the red component of the color.
        `iGreen` - the the decimal value of the green component of the color.
        `iBlue` - the the decimal value of the blue component of the color.

    - #### addFormControl

          public FormControlShape addFormControl(double x1,
                                                 double y1,
                                                 double x2,
                                                 double y2,
                                                 int type)
                                          throws java.lang.Exception

      Creates and adds a FormControl to the active worksheet.
      Parameters:
        `x1` - Coordinate of the first anchor point of the object; measured in columns from the left edge of the worksheet.
        `y1` - Coordinate of the first anchor point; measured in rows from the top edge of the worksheet.
        `x2` - Coordinate of the second anchor point; measured in columns from the left edge of the worksheet.
        `y2` - Coordinate of the second anchor point; measured in rows from the top edge of the worksheet.
        `type` - Form control type 20-ComBox 11-CheckBox 18-ListBox
      Returns:
        FormControlShape Form Control Object
      Throws:
        `java.lang.Exception` - if a parameter is invalid.

    - #### getFormControl

          public FormControlShape getFormControl(int type,
                                                 int index)

      get the specified index formcontrol from the current sheet
      Parameters:
        `type` - Form control type 20-ComBox 11-CheckBox 18-ListBox
        `index` - control index in sheet
      Returns:
        formctrol null if not found

    - #### removeFormControl

          public void removeFormControl(int type,
                                        int index)
                                 throws java.lang.Exception

      remove the specified index formcontrol from the current sheet
      Parameters:
        `type` - Form control type 20-ComBox 11-CheckBox 18-ListBox
        `index` - control index in sheet
      Throws:
        `java.lang.Exception` - no control found

    - #### addAutoShape

          public AutoShape addAutoShape(double x1,
                                        double y1,
                                        double x2,
                                        double y2,
                                        short type)
                                 throws java.lang.Exception

      Creates and adds a AutoShape to the active worksheet.
      Parameters:
        `x1` - Coordinate of the first anchor point of the object; measured in columns from the left edge of the worksheet.
        `y1` - Coordinate of the first anchor point; measured in rows from the top edge of the worksheet.
        `x2` - Coordinate of the second anchor point; measured in columns from the left edge of the worksheet.
        `y2` - Coordinate of the second anchor point; measured in rows from the top edge of the worksheet.
        `type` - Form control type 0-Rectangle 1-Oval 2-Line 3-TextBox
      Returns:
        FormControlShape Form Control Object
      Throws:
        `java.lang.Exception` - if a parameter is invalid.

    - #### setCSVString

          public void setCSVString(java.lang.String csv)
                            throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### readCSV

          public void readCSV(java.lang.String fileName)
                       throws java.lang.Exception

      load csv content from csv file
      Parameters:
        `fileName` - csv file name
      Throws:
        `java.lang.Exception` - exception

    - #### read

          public void read(java.io.InputStream inputstream)
                    throws java.lang.Exception

      Reads workbook from the specified input stream.
      Parameters:
        `inputstream` - the input stream to read from.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### read

          public void read(java.io.InputStream inputstream,
                           java.lang.String password)
                    throws java.lang.Exception

      Reads workbook from the specified input stream.
      Parameters:
        `inputstream` - the input stream to read from.
        `password` - The password to use when opening a password-protected file.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### read

          public void read(java.lang.String fileName)
                    throws java.lang.Exception

      Reads workbook from the specified file.
      Parameters:
        `fileName` - the path and filename of the workbook.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### read

          public void read(java.lang.String fileName,
                           java.lang.String password)
                    throws java.lang.Exception

      Reads workbook from the specified file.
      Parameters:
        `fileName` - the path and filename of the workbook.
        `password` - The password to use when opening a password-protected file.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### write

          public void write(java.lang.String fileName)
                     throws java.lang.Exception

      Saves the workbook to a file.
      Parameters:
        `fileName` - path describing name and location of the file.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### writeCSV

          public void writeCSV(java.lang.String fileName)
                        throws java.lang.Exception

      Saves the workbook to a file.
      Parameters:
        `fileName` - path describing name and location of the file.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### writeCSV

          public void writeCSV(java.lang.String fileName,
                               char seperator,
                               boolean unicode,
                               boolean bValue)
                        throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### write

          public void write(java.lang.String fileName,
                            java.lang.String password)
                     throws java.lang.Exception

      Saves the workbook to a file.
      Parameters:
        `fileName` - path describing name and location of the file.
        `password` - The password to use when opening a password-protected file.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### write

          public void write(java.io.OutputStream outputstream)
                     throws java.lang.Exception

      Saves the workbook to the specified output stream.
      Parameters:
        `outputstream` - outputstream that describes where to save the file.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### writeCSV

          public void writeCSV(java.io.OutputStream outputstream)
                        throws java.lang.Exception

      Saves the workbook to the specified output stream.
      Parameters:
        `outputstream` - outputstream that describes where to save the file.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### writeCSV

          public void writeCSV(java.io.OutputStream outputstream,
                               char seperator,
                               boolean unicode,
                               boolean bValue)
                        throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### write

          public void write(java.io.OutputStream outputstream,
                            java.lang.String password)
                     throws java.lang.Exception

      Saves the workbook to the specified output stream.
      Parameters:
        `outputstream` - outputstream that describes where to save the file.
        `password` - The password to use when opening a password-protected file.
      Throws:
        `java.lang.Exception` - if an error occurs

    - #### setTextSelection

          public void setTextSelection(int start,
                                       int end)
                                throws java.lang.Exception

      Sets text selection for the selected cell
      Parameters:
        `start` - starting positon of selection.
        `end` - ending positon of selection.
      Throws:
        `java.lang.Exception` - if the positions are invalid, selected cell is not text or more than one cell is selected.

    - #### getPivotModel

          public BookPivotRangeModel getPivotModel()

      Deprecated. relaced by workbook.addPivotRange(...) and workbook.getActivePivotRange(...)
      Returns a reference to the Pivot model.
      Returns:
        the Pivot model.

    - #### addPivotRange

          public BookPivotRange addPivotRange(int srcSheet,
                                              int srcRow1,
                                              int srcCol1,
                                              int srcRow2,
                                              int srcCol2,
                                              int dstSheet,
                                              int dstRow1,
                                              int dstCol1)
                                       throws SXException

      create new pivot table range with source link range and dest location
      Parameters:
        `srcSheet` - source sheet
        `srcRow1` - row1
        `srcCol1` - col1
        `srcRow2` - row2
        `srcCol2` - col2
        `dstSheet` - location sheet
        `dstRow1` - row of the top-left cell
        `dstCol1` - col of the top-left cell
      Returns:
        new pivot range if all argument is valid
      Throws:
        `SXException`

    - #### addPivotRange

          public BookPivotRange addPivotRange(com.smartxls.data.SXQuery query,
                                              int dstSheet,
                                              int dstRow1,
                                              int dstCol1)
                                       throws SXException

      create new pivot table range with external data source and dest location
      Parameters:
        `query` - external data source object
        `dstSheet` - location sheet
        `dstRow1` - row of the top-left cell
        `dstCol1` - col of the top-left cell
      Returns:
        new pivot range if all argument is valid
      Throws:
        `SXException`

    - #### addPivotRange

          public BookPivotRange addPivotRange(java.lang.String linkRange,
                                              java.lang.String destRange)
                                       throws SXException

      create new pivot table range with external data source and dest location
      Parameters:
        `linkRange` - source link data range
        `destRange` - dest location where the pivot table will be placed
      Returns:
        new pivot range if all argument is valid
      Throws:
        `SXException`

    - #### getActivePivotRange

          public BookPivotRange getActivePivotRange(int activeRow1,
                                                    int activeCol1)
                                             throws SXException

      return the pivot table if the active cell is in
      Parameters:
        `activeRow1` - row1
        `activeCol1` - col1
      Returns:
        pivot range if exist
      Throws:
        `SXException`

    - #### setActiveCell

          public void setActiveCell(int row,
                                    int col)
                             throws java.lang.Exception

      Sets the row and column coordinates of the active cell.
      Parameters:
        `row` - the active cell row coordinate.
        `col` - the active cell column coordinate.
      Throws:
        `java.lang.Exception` - exception

    - #### getActiveRow

          public int getActiveRow()

      return the row index of the active cell
      Returns:
        row index

    - #### getActiveCol

          public int getActiveCol()

      return the col index of the active cell
      Returns:
        col index

    - #### getLastCol

          public int getLastCol()

      Returns the number of the last occupied column. this method returns the last column that is not empty, including cells that contain only formatting.
      Returns:
        an integer indicating the index number of the last occupied column.

    - #### getLastColForRow

          public int getLastColForRow(int row)
                               throws java.lang.Exception

      Returns the number of the last occupied column in the specified row. this method returns the last column that is not empty, including cells that contain only formatting. -1 is returned for a row with no cells.
      Parameters:
        `row` - the specified row.
      Returns:
        the last occupied column in the row or -1 for an empty row.
      Throws:
        `java.lang.Exception` - exception

    - #### getLastRow

          public int getLastRow()

      Returns the number of the last row that is not empty, including cells that contain only formatting. The value -1 is returned if the sheet contains no cells.
      Returns:
        the number of the last row.

    - #### getType

          public short getType(int row,
                               int col)
                        throws java.lang.Exception

      Returns the cell type of the specified cell.
      Parameters:
        `row` - identifies the cell row by number.
        `col` - identifies the cell column by number.
      Returns:
        one of the following cell types: TypeEmpty TypeNumber TypeText TypeLogical TypeError A negative value indicates that the cell contains a formula.
      Throws:
        `java.lang.Exception` - exception

    - #### getType

          public short getType(int sheet,
                               int row,
                               int col)
                        throws java.lang.Exception

      Returns the cell type of the specified cell.
      Parameters:
        `sheet` - number of sheet.
        `row` - identifies the cell row by number.
        `col` - identifies the cell column by number.
      Returns:
        one of the following cell types: TypeEmpty TypeNumber TypeText TypeLogical TypeError A negative value indicates that the cell contains a formula.
      Throws:
        `java.lang.Exception` - exception

    - #### getType

          public short getType()
                        throws java.lang.Exception

      Returns the cell type of the active cell.
      Returns:
        one of the following cell types: TypeEmpty TypeNumber TypeText TypeLogical TypeError A negative value indicates that the cell contains a formula.
      Throws:
        `java.lang.Exception` - exception

    - #### getPrintHeader

          public java.lang.String getPrintHeader()

      Returns the page header printed at the top of each page.
      Returns:
        a string containing the current page header.

    - #### setPrintHeader

          public void setPrintHeader(java.lang.String printHeader)

      Sets the page header printed at the top of each page.
      Parameters:
        `printHeader` - string that contains text and codes for header.

    - #### getPrintFooter

          public java.lang.String getPrintFooter()

      Returns the current page footer.
      Returns:
        String that contains the codes and text that make up the current footer

    - #### setPrintFooter

          public void setPrintFooter(java.lang.String printFooter)

      Sets the current page footer.
      Parameters:
        `printFooter` - String that contains the codes and text that make up the footer.

    - #### getPrintHeaderMargin

          public double getPrintHeaderMargin()

      Returns the page header margin used during printing.
      Returns:
        a double value indicating the margin.

    - #### setPrintHeaderMargin

          public void setPrintHeaderMargin(double printHeaderMargin)

      Sets the page header margin .
      Parameters:
        `printHeaderMargin` - size of the margin.

    - #### getPrintFooterMargin

          public double getPrintFooterMargin()

      Returns the page footer margin
      Returns:
        a double value representing the page footer margin.

    - #### setPrintFooterMargin

          public void setPrintFooterMargin(double printFooterMargin)

      Sets the page footer margin
      Parameters:
        `printFooterMargin` - size of the margin.

    - #### getPrintTopMargin

          public double getPrintTopMargin()

      Returns the top print margin in inches.
      Returns:
        a double value indicating the print margin.

    - #### setPrintTopMargin

          public void setPrintTopMargin(double printTopMargin)

      Sets the top print margin.
      Parameters:
        `printTopMargin` - the top print margin.

    - #### getPrintBottomMargin

          public double getPrintBottomMargin()

      Returns the bottom print margin in inches.
      Returns:
        a double value indicating the print margin.

    - #### setPrintBottomMargin

          public void setPrintBottomMargin(double printBottomMargin)

      Sets the bottom print margin.
      Parameters:
        `printBottomMargin` - the bottom print margin.

    - #### getPrintLeftMargin

          public double getPrintLeftMargin()

      Returns the left print margin in inches.
      Returns:
        a double value indicating the margin.

    - #### setPrintLeftMargin

          public void setPrintLeftMargin(double printLeftMargin)

      Sets the left print margin.
      Parameters:
        `printLeftMargin` - the left print margin.

    - #### getPrintRightMargin

          public double getPrintRightMargin()

      Returns the right print margin in inches.
      Returns:
        a double indicating the margin.

    - #### setPrintRightMargin

          public void setPrintRightMargin(double printRightMargin)

      Sets the right print margin in inches.
      Parameters:
        `printRightMargin` - a double value indicating the right print margin.

    - #### getPrintPaperSize

          public short getPrintPaperSize()

      Returns paper size print setting value.
      Returns:
        a short indicating paper size

    - #### setPrintPaperSize

          public void setPrintPaperSize(short sSize)
                                 throws java.lang.Exception

      Sets paper size print setting value.
      Parameters:
        `sSize` - A short indicating paper size. Letter = 1 LetterSmall = 2 PaperA3 = 8 PaperA4 = 9
      Throws:
        `java.lang.Exception` - if argument is invalid.

    - #### getPrintPaperHeight

          public int getPrintPaperHeight()

      Returns the height of the paper in twips. Twips are 1/1440 of an inch.
      Returns:
        an integer indicating the height.

    - #### getPrintPaperWidth

          public int getPrintPaperWidth()

      Returns the width of the paper in twips. Twips are 1/1440 of an inch.
      Returns:
        an integer indicating the width.

    - #### setPrintPaperSize

          public void setPrintPaperSize(int width,
                                        int height)
                                 throws java.lang.Exception

      Sets the size of the paper in twips (1/20th of a point)
      Parameters:
        `width` - width of paper in twips.
        `height` - height of paper in twips. Letter 12240, 15840 A4 11906, 16838
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### getPrintScale

          public int getPrintScale()

      Returns the scale factor for the current worksheet.
      Returns:
        an integer indicating the scale factor.

    - #### setPrintScale

          public void setPrintScale(int scale)
                             throws java.lang.Exception

      Sets the scale factor for the current worksheet.
      Parameters:
        `scale` - Indicates the scale factor. Scale factor ranges from 10 to 400.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### isPrintScaleFitToPage

          public boolean isPrintScaleFitToPage()

      Returns true if the workbook is printed on the number of vertical and horizontal pages returned by the `setPrintScaleFitToPage(boolean)` method. Returns false if the scale percentage returned is used to print the workbook.
      Returns:
        true/false

    - #### setPrintScaleFitToPage

          public void setPrintScaleFitToPage(boolean fitToPage)

      Sets whether pages are scaled to fit the specified number of pages when printed. if this value is false, the scale factor set in setPrintScale is used. if this value is true, the workbook is printed on the number of vertical and horizontal pages specified by the `setPrintScaleFitHPages(int)` and `setPrintScaleFitVPages(int)` methods.
      Parameters:
        `fitToPage` - true/false. true = fit number of pages specified in

    - #### getPrintScaleFitHPages

          public int getPrintScaleFitHPages()

      Returns the number of horizontal pages to which the print job is fit.
      Returns:
        an integer indicating the number of pages.

    - #### setPrintScaleFitHPages

          public void setPrintScaleFitHPages(int horizontalPages)
                                      throws java.lang.Exception

      Sets the number of horizontal pages to which the print job is fit.
      Parameters:
        `horizontalPages` - the number of horizontal pages to which the print job is fit.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### getPrintScaleFitVPages

          public int getPrintScaleFitVPages()

      Returns the number of vertical pages to which the print job is fit.
      Returns:
        an integer indicating the number of pages.

    - #### setPrintScaleFitVPages

          public void setPrintScaleFitVPages(int verticalPages)
                                      throws java.lang.Exception

      Sets the number of vertical pages to which the print job is fit. this value has no effect if the `setPrintScaleFitToPage(boolean)` method is called with false.
      Parameters:
        `verticalPages` - the number of vertical pages to which the print job is fit.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### isPrintAutoPageNumbering

          public boolean isPrintAutoPageNumbering()

      Returns true if automatic page numbering is enabled.
      Returns:
        true/false

    - #### setPrintAutoPageNumbering

          public void setPrintAutoPageNumbering(boolean auto)

      Turns on/off auto page numbering.
      Parameters:
        `auto` - true/false

    - #### getPrintStartPageNumber

          public int getPrintStartPageNumber()

      Returns the number displayed on the first page printed.
      Returns:
        an integer indicating the number printed on the first page.

    - #### setPrintStartPageNumber

          public void setPrintStartPageNumber(int startPage)
                                       throws java.lang.Exception

      Sets the starting page to print.
      Parameters:
        `startPage` - an integer (1-n) indicating the starting page number.
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### getPrintTitles

          public java.lang.String getPrintTitles()
                                          throws java.lang.Exception

      Returns the print titles to be printed at the top of each page
      Returns:
        a string containing the formula for the Print_Titles user_defined name. this can contain a single range or multiple ranges.
      Throws:
        `java.lang.Exception` - exception

    - #### setPrintTitles

          public void setPrintTitles(java.lang.String formula)
                              throws java.lang.Exception

      Sets the print titles to be printed at the top of each page
      Parameters:
        `formula` - formula that identifies the range or ranges holding the titles.
      Throws:
        `java.lang.Exception` - if formula is invalid

    - #### isPrintRowColHeading

          public boolean isPrintRowColHeading()

      Returns whether row/col headings are printed for the current sheet.
      Returns:
        true/false

    - #### setPrintRowColHeading

          public void setPrintRowColHeading(boolean heading)

      Sets a flag that determines whether or not row/col headings are printed for the current sheet.
      Parameters:
        `heading` - boolean true/false

    - #### isPrintGridLines

          public boolean isPrintGridLines()

      Returns true if grid lines are printed for the current sheet.
      Returns:
        true/false

    - #### setPrintGridLines

          public void setPrintGridLines(boolean printGridLines)

      Sets a flag indicating whether grid lines are printed for the current sheet.
      Parameters:
        `printGridLines` - true/false

    - #### isPrintVCenter

          public boolean isPrintVCenter()

      Returns true if the current sheet is centered vertically when printed.
      Returns:
        true/false

    - #### setPrintVCenter

          public void setPrintVCenter(boolean printVCenter)

      Sets a flag indicating whether the current sheet is centered vertically when printed.
      Parameters:
        `printVCenter` - true/false

    - #### isPrintHCenter

          public boolean isPrintHCenter()

      Returns whether the current sheet is centered horizontally when printed.
      Returns:
        true/false

    - #### setPrintHCenter

          public void setPrintHCenter(boolean printHCenter)

      Sets a flag indicating whether the current sheet is centered horizontally when printed.
      Parameters:
        `printHCenter` - true/false

    - #### isPrintLandscape

          public boolean isPrintLandscape()

      Returns true if the workbook is printed with a landscape orientation.
      Returns:
        true/false

    - #### setPrintLandscape

          public void setPrintLandscape(boolean printLandscape)

      set the orientation of the print job.
      Parameters:
        `printLandscape` - boolean. true = landscape orientation. false = portrait orientation.

    - #### isPrintLeftToRight

          public boolean isPrintLeftToRight()

      Returns whether the current sheet is printed left to right then top to bottom, or top to bottom then left to right.
      Returns:
        true/false

    - #### setPrintLeftToRight

          public void setPrintLeftToRight(boolean printLeftToRight)

      Sets a flag determining whether the current sheet is printed left to right then top to bottom, or top to bottom then left to right.
      Parameters:
        `printLeftToRight` - boolean. true = print the current sheet left to right then top to bottom.

    - #### isPrintNoColor

          public boolean isPrintNoColor()

      Returns true if all workbook colors are converted to black and white, and all patterns are removed when printing.
      Returns:
        true/false

    - #### setPrintNoColor

          public void setPrintNoColor(boolean printNoColor)

      set print job printed in color black and white.
      Parameters:
        `printNoColor` - boolean. true = turn off colors and patterns.

    - #### getPrintNumberOfCopies

          public int getPrintNumberOfCopies()
                                     throws java.lang.Exception

      Returns the number copies to print
      Returns:
        an integer indicating the number.
      Throws:
        `java.lang.Exception` - exception

    - #### setPrintNumberOfCopies

          public void setPrintNumberOfCopies(int i)
                                      throws java.lang.Exception

      Sets the number copies to print.
      Parameters:
        `i` - number of copies to print.
      Throws:
        `java.lang.Exception` - if parameter is invalid

    - #### getPrintArea

          public java.lang.String getPrintArea()
                                        throws java.lang.Exception

      Returns the current print area.
      Returns:
        the current print area.
      Throws:
        `java.lang.Exception` - exception

    - #### setPrintArea

          public void setPrintArea(java.lang.String formula)
                            throws java.lang.Exception

      Sets the current print area to the specified range
      Parameters:
        `formula` - - description of the print area range.
      Throws:
        `java.lang.Exception` - exception

    - #### isPrintHFScaleDoc

          public boolean isPrintHFScaleDoc()

    - #### setPrintHFScaleDoc

          public void setPrintHFScaleDoc(boolean scaleWithDoc)

    - #### isPrintHFAlignMargin

          public boolean isPrintHFAlignMargin()

    - #### setPrintHFAlignMargin

          public void setPrintHFAlignMargin(boolean alignWithMargin)

    - #### isShowRowColHeader

          public boolean isShowRowColHeader()

      Returns true if row/col headers are shown.
      Returns:
        true/false

    - #### setShowRowColHeader

          public void setShowRowColHeader(boolean showheader)

      Sets whether row/col headers are displayed.
      Parameters:
        `showheader` - true = row/col headers displayed.

    - #### isShowGridLines

          public boolean isShowGridLines()

      Returns true if grid lines are shown.
      Returns:
        true/false

    - #### setShowGridLines

          public void setShowGridLines(boolean showGridLines)

      Sets whether grid lines are displayed.
      Parameters:
        `showGridLines` - true = grid lines displayed.

    - #### setDataValidation

          public void setDataValidation(DataValidation dataValidation)
                                 throws java.lang.Exception

      Sets the specified data validations for the current selection.
      Parameters:
        `dataValidation` - data validation objects to apply to the current selection. if this is null, or it has the type of zero, validation in current selection will be removed.
      Throws:
        `java.lang.Exception` - exception

    - #### setDataValidationForCell

          public void setDataValidationForCell(int row,
                                               int col,
                                               DataValidation dataValidation)
                                        throws java.lang.Exception

      Deprecated. used for fast adding cell only,should avoid multi-ranges/overlaped cell(range) adding.
      Sets the specified data validations for the current selection.
      Parameters:
        `row` - row number
        `col` - column number
        `dataValidation` - data validation objects to apply to the current selection. if this is null, or it has the type of zero, validation in current selection will be removed.
      Throws:
        `java.lang.Exception` - exception

    - #### CreateDataValidation

          public DataValidation CreateDataValidation()

      Creates a new instance of a data validation object in current selected sheet.
      Returns:
        DVRecord

    - #### getValidation

          public DataValidation getValidation(int row1,
                                              int col1)

      get the validation object from specified cell
      Parameters:
        `row1` - row number
        `col1` - column number
      Returns:
        DVRecord

    - #### setXMLStaxMode

          public void setXMLStaxMode(boolean staxMode)

      enable the xlsx/xlsm file parsing in the stax mode
      Parameters:
        `staxMode` - in this mode it will use stax parser to parse the openxml content,it will improve the parsing speed and save the memory usage.

    - #### setInlineCellTextMode

          public void setInlineCellTextMode(boolean inline)

      enable the xlsx/xlsm file writing in the inlinestr cell text mode
      Parameters:
        `inline` - in this mode all cell text will not save to SST(share string table),it will improve the performance in writing huge data,but output file size may be more big.

    - #### setIgnoreEmptyCellsInParsing

          public void setIgnoreEmptyCellsInParsing(boolean ignore)

      ignore empty cells when load xlsx file
      Parameters:
        `ignore` - no parsing

    - #### readXLSX

          public void readXLSX(java.lang.String filename)
                        throws java.lang.Exception

      Reads a worksheet or workbook from excel xlsx file.
      Parameters:
        `filename` - - the path and filename of the excel xlsx file
      Throws:
        `java.lang.Exception` - exception

    - #### readXLSX

          public void readXLSX(java.io.InputStream in)
                        throws java.lang.Exception

      Reads a worksheet or workbook from Excel2003 spreadsheetxml inputstream.
      Parameters:
        `in` - - the xlsx file inputstream
      Throws:
        `java.lang.Exception` - exception

    - #### readXML

          public void readXML(java.io.InputStream in)
                       throws java.lang.Exception

      Reads a worksheet or workbook from excel xlsx inputstream.
      Parameters:
        `in` - - the xlsx file inputstream
      Throws:
        `java.lang.Exception` - exception

    - #### readXLSX

          public void readXLSX(java.lang.String filename,
                               java.lang.String password)
                        throws java.lang.Exception

      reads workbook
      Parameters:
        `filename` - file path
        `password` - file open password
      Throws:
        `java.lang.Exception` - if invalid argument

    - #### readXLSX

          public void readXLSX(java.io.InputStream stream,
                               java.lang.String password)
                        throws java.lang.Exception

      reads workbook with xlsx format
      Parameters:
        `stream` - stream
        `password` - file open password
      Throws:
        `java.lang.Exception` - invalid argument

    - #### readXLSB

          public void readXLSB(java.lang.String filename)
                        throws java.lang.Exception

      Reads workbook from xlsb file.
      Parameters:
        `filename` - - the xlsb file name
      Throws:
        `java.lang.Exception` - exception

    - #### readXLSB

          public void readXLSB(java.io.InputStream in)
                        throws java.lang.Exception

      Reads workbook from Excel2007+ xlsb file inputstream.
      Parameters:
        `in` - - the xlsb file inputstream
      Throws:
        `java.lang.Exception` - exception

    - #### readXLSB

          public void readXLSB(java.lang.String filename,
                               java.lang.String pass)
                        throws java.lang.Exception

      Reads workbook from xlsb file.
      Parameters:
        `filename` - - the xlsb file name
      Throws:
        `java.lang.Exception` - exception

    - #### readXLSB

          public void readXLSB(java.io.InputStream in,
                               java.lang.String pass)
                        throws java.lang.Exception

      reads workbook with xlsb format
      Parameters:
        `in` - stream
        `pass` - password
      Throws:
        `java.lang.Exception`

    - #### writeXLSX

          public void writeXLSX(java.lang.String filename)
                         throws java.lang.Exception

      write workbook to specified excel file in xlsx format.
      Parameters:
        `filename` - - the path and filename of the excel xlsx file
      Throws:
        `java.lang.Exception` - exception

    - #### writeXLSX

          public void writeXLSX(java.io.OutputStream out)
                         throws java.lang.Exception

      write workbook to OutputStream in xlsx format.
      Parameters:
        `out` - - the OutputStream
      Throws:
        `java.lang.Exception` - exception

    - #### writeXML

          public void writeXML(java.io.OutputStream out)
                        throws java.lang.Exception

      write workbook to OutputStream in Excel2003 spreadsheetxml format.
      Parameters:
        `out` - - the OutputStream
      Throws:
        `java.lang.Exception` - exception

    - #### write

          public void write(java.io.OutputStream out,
                            ExcelSaveType excelSaveType,
                            java.lang.String password)
                     throws java.lang.Exception

      write workbook to OutputStream in diffrent Excel format.
      Parameters:
        `out` - - the OutputStream
        `excelSaveType` - - xlsx,xlsb,xltx
      Throws:
        `java.lang.Exception` - exception

    - #### writeXLSX

          public void writeXLSX(java.lang.String filename,
                                java.lang.String password)
                         throws java.lang.Exception

      write workbook in xlsx format
      Parameters:
        `filename` - file path
        `password` - file open password
      Throws:
        `java.lang.Exception` - invalid argument

    - #### writeXLSX

          public void writeXLSX(java.io.OutputStream stream,
                                java.lang.String password)
                         throws java.lang.Exception

      write workbook in xlsx format
      Parameters:
        `stream` - stream
        `password` - file open password
      Throws:
        `java.lang.Exception` - invalid argument

    - #### writeXLSB

          public void writeXLSB(java.io.OutputStream out)
                         throws java.lang.Exception

      write workbook in xlsb format
      Parameters:
        `out` -
      Throws:
        `java.lang.Exception`

    - #### writeXLSB

          public void writeXLSB(java.io.OutputStream stream,
                                java.lang.String password)
                         throws java.lang.Exception

      write workbook in xlsb format
      Parameters:
        `stream` - stream
        `password` - file open password
      Throws:
        `java.lang.Exception` - invalid argument

    - #### setAutoRecalc

          public void setAutoRecalc(boolean auto)

      enable/disable auto recalc flag
      Parameters:
        `auto` - flag

    - #### getLock

          public void getLock()

      Acquire a lock for the group.

    - #### releaseLock

          public void releaseLock()

      Release the lock previously acquired with getLock

    - #### setEntry

          public void setEntry(int row,
                               int col,
                               java.lang.String value)
                        throws java.lang.Exception

      Sets the value to the specified cell of current selected worksheets.
      Parameters:
        `row` - row number
        `col` - column number
        `value` - cell value
      Throws:
        `java.lang.Exception` - exception

    - #### setEntry

          public void setEntry(int sheet,
                               int row,
                               int col,
                               java.lang.String value)
                        throws java.lang.Exception

      Sets the value of a specified cell on the specified worksheet.
      Parameters:
        `sheet` - sheet number
        `row` - row number
        `col` - column number
        `value` - cell value
      Throws:
        `java.lang.Exception` - exception

    - #### getFormattedText

          public java.lang.String getFormattedText(int row,
                                                   int col)
                                            throws java.lang.Exception

      Returns the formatted text value of the specified cell.
      Parameters:
        `row` - row number
        `col` - column number
      Returns:
        formatted string
      Throws:
        `java.lang.Exception` - exception

    - #### getFormattedText

          public java.lang.String getFormattedText(int sheet,
                                                   int row,
                                                   int col)
                                            throws java.lang.Exception

      Returns the formatted text value of the specified cell.
      Parameters:
        `sheet` - sheet number
        `row` - row number
        `col` - column number
      Returns:
        formatted string
      Throws:
        `java.lang.Exception` - exception

    - #### sheetRangeToImage

          public void sheetRangeToImage(java.lang.String fileName)
                                 throws java.lang.Exception

      write sheet range to image sheet range is from (0,0) to (last row,last col).
      Parameters:
        `fileName` - output image filename in PNG format
      Throws:
        `java.lang.Exception` - when exception occur

    - #### sheetRangeToImage

          public void sheetRangeToImage(int row1,
                                        int col1,
                                        int row2,
                                        int col2,
                                        java.lang.String fileName)
                                 throws java.lang.Exception

      write specified range to image
      Parameters:
        `row1` - the first row in the range.
        `col1` - the first column in the range.
        `row2` - the ending row in the range.
        `col2` - the ending column in the range.
        `fileName` - output image filename in PNG format
      Throws:
        `java.lang.Exception` - when exception occur

    - #### sheetRangeToImage

          public java.awt.image.BufferedImage sheetRangeToImage(int row1,
                                                                int col1,
                                                                int row2,
                                                                int col2)
                                                         throws java.lang.Exception

      rendering specified range content to an image
      Parameters:
        `row1` - start row
        `col1` - start col
        `row2` - end row
        `col2` - end col
      Returns:
        image
      Throws:
        `java.lang.Exception` - if there is exception

    - #### exportPDF

          public void exportPDF(java.lang.String fileName)
                         throws java.lang.Exception

      export current sheet to pdf file
      Parameters:
        `fileName` - file name
      Throws:
        `java.lang.Exception` - exception

    - #### exportPDF

          public void exportPDF(java.lang.String fileName,
                                java.util.Map fontEncodeMap,
                                boolean sheetOnly)
                         throws java.lang.Exception

      export current sheet to pdf file
      Parameters:
        `fileName` - file path
        `fontEncodeMap` - embed fonts
        `sheetOnly` - true - sheet level false - workbook level
      Throws:
        `java.lang.Exception` - if there is exception occured

    - #### exportPDF

          public void exportPDF(java.io.OutputStream outputstream)
                         throws java.lang.Exception

      export current sheet to the outputstream with pdf format
      Parameters:
        `outputstream` - outputstream
      Throws:
        `java.lang.Exception` - exception

    - #### exportPDF

          public void exportPDF(java.io.OutputStream outputstream,
                                java.util.Map fontEncodeMap,
                                boolean sheetOnly)
                         throws java.lang.Exception

      export current sheet to pdf
      Parameters:
        `outputstream` - sream
        `fontEncodeMap` - embed fonts
        `sheetOnly` - true - sheet level false - workbook level
      Throws:
        `java.lang.Exception` - if there is exception occured

    - #### print

          public void print()
                     throws java.lang.Exception

      Prints the selected worksheet.
      Throws:
        `java.lang.Exception` - exception

    - #### print

          public void print(java.awt.print.PrinterJob printJob,
                            javax.print.attribute.PrintRequestAttributeSet printrequestattributeset)
                     throws java.lang.Exception

      Prints the selected worksheet to the passed-in Printer Job.
      Parameters:
        `printJob` - the Java PrintJob object to use.
        `printrequestattributeset` - attributes for print job
      Throws:
        `java.lang.Exception` - exception

    - #### setEnableProtection

          public void setEnableProtection(boolean enableProtection)

      enable/disable protection for current selected sheet.
      Parameters:
        `enableProtection` - flag

    - #### isSheetProtected

          public boolean isSheetProtected(int sheet)
                                   throws java.lang.Exception

      Returns true if protection is enabled for the specified sheet.
      Parameters:
        `sheet` - the number of the sheet
      Returns:
        true if protected.
      Throws:
        `java.lang.Exception` - exception

    - #### setSheetProtected

          public void setSheetProtected(int sheet,
                                        boolean bProtected,
                                        java.lang.String password)
                                 throws java.lang.Exception

      Sets whether protection is enabled for the specified sheet.
      Parameters:
        `sheet` - the number of the sheet
        `bProtected` - true = protection enabled
        `password` - The protection password,this may be null if no password is to be used.
      Throws:
        `java.lang.Exception` - exception

    - #### setBookProtection

          public void setBookProtection(boolean bProtected,
                                        int protect,
                                        java.lang.String password)
                                 throws java.lang.Exception

      Sets whether protection is enabled for this workbook.
      Parameters:
        `bProtected` - whether protection is to be enabled.
        `protect` - book protection options,one or more of the following:bookProtectStructure`bookProtectStructure`,bookProtectWindow`bookProtectWindow`
        `password` - The protection password. this may be null if no password is to be used.
      Throws:
        `java.lang.Exception` - exception

    - #### getBookProtection

          public int getBookProtection()

      Return the flags indicating what are protected on this workbook when protection is enabled. options,one or more of the following:bookProtectStructure`bookProtectStructure`,bookProtectWindow`bookProtectWindow`
      Returns:
        flags

    - #### isBookProtected

          public boolean isBookProtected()

    - #### setSheetProtected

          public void setSheetProtected(int sheet,
                                        int protect,
                                        java.lang.String password)
                                 throws java.lang.Exception

      Sets whether protection is enabled for the specified sheet.
      Parameters:
        `sheet` - the number of the sheet
        `protect` - sheet protection options; sheetProtectionAllowNone if nothing allowed,or one or more of the following: sheetProtectionAllowNone`sheetProtectionAllowNone`,sheetProtectionAllowEditObjects,sheetProtectionAllowEditScenarios sheetProtectionAllowFormatCells,sheetProtectionAllowFormatColumns,sheetProtectionAllowFormatRows sheetProtectionAllowInsertColumns,sheetProtectionAllowInsertRows,sheetProtectionAllowInsertHyperlinks sheetProtectionAllowDeleteColumns,sheetProtectionAllowDeleteRows,sheetProtectionAllowSelectLocked sheetProtectionAllowSort,sheetProtectionAllowUseAutoFilter,sheetProtectionAllowUsePivotRanges sheetProtectionAllowSelectUnlocked,sheetProtectionAllowDefault,sheetProtectionAllowLockedInCellEdit sheetProtectionAllowLockedEditFocus,sheetProtectionAllowChangeLocked,sheetProtectionAllowChangeUnlocked sheetProtectionAllowUseOutlining,sheetProtectionAllowEverything`sheetProtectionAllowEverything`
        `password` - The protection password,this may be null if no password is to be used.
      Throws:
        `java.lang.Exception` - exception

    - #### getSheetProtection

          public int getSheetProtection(int sheet)
                                 throws SXException

      Returns the flags indicating what are allowed when sheet protection is enabled.
      Parameters:
        `sheet` - the number of the sheet
      Returns:
        flags
      Throws:
        `SXException` - sheet index is invalid

    - #### setFileShareProtection

          public void setFileShareProtection(java.lang.String password)

      Set the workbook file to readonly with password
      Parameters:
        `password` - password to enable file can be write

    - #### setTabbedText

          public void setTabbedText(int row1,
                                    int col1,
                                    boolean valuesOnly,
                                    java.lang.String text)
                             throws java.lang.Exception

      set tab-delimited text in workbook
      Parameters:
        `row1` - starting row
        `col1` - starting column
        `valuesOnly` - true as unformatted text
        `text` - the tab-delimited text
      Throws:
        `java.lang.Exception` - if a parameter is invalid

    - #### CopySheetFromBook

          public void CopySheetFromBook(WorkBook m_SrcBook,
                                        int srcSheetIndex,
                                        int destSheetIndex)
                                 throws java.lang.Exception

      copy the sheet from specified Book View to specified sheet.
      Parameters:
        `m_SrcBook` - source view contain sheet to be copied.
        `srcSheetIndex` - the index number of the sheet,the sheets indexed from left to right beginning with 0
        `destSheetIndex` - the index number of the sheet,the sheets indexed from left to right beginning with 0
      Throws:
        `java.lang.Exception` - if a parameter is invalid or exception occur.

    - #### copyAllBookFrom

          public void copyAllBookFrom(WorkBook wb)
                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### resetRowInfo

          public void resetRowInfo(int row1,
                                   int row2)
                            throws java.lang.Exception

      reset the row info to default
      Parameters:
        `row1` - start row
        `row2` - end row
      Throws:
        `java.lang.Exception` - invalid argument

    - #### getFormulaRange

          public RangeArea getFormulaRange(java.lang.String formula)

      formula string to rangearea object
      Parameters:
        `formula` - address formula
      Returns:
        range area

    - #### sort

          public void sort(int row1,
                           int col1,
                           int row2,
                           int col2,
                           boolean byRows,
                           int key1,
                           int key2,
                           int key3)

      Specified a range of data to be sorted by three keys. If by rows,each row of data in the range is considered as a record. If by columns,each column in the range is considered as a record.
      Parameters:
        `row1` - first row.
        `col1` - first column.
        `row2` - last row.
        `col2` - last column.
        `byRows` - if ture,data is sorted by row.
        `key1` - the primary key.
        `key2` - the second key.
        `key3` - the last key. Positive numbers (1..n) indicate an ascending sort key. Positive numbers (-1..-n) indicate an descending sort key. keys are the number of the row/column,0-indicates no key.

    - #### sort

          public void sort(int row1,
                           int col1,
                           int row2,
                           int col2,
                           boolean byRows,
                           int[] keys)

      Specified a range of data to be sorted by the keys. If by rows,each row of data in the range is considered as a record. If by columns,each column in the range is considered as a record.
      Parameters:
        `row1` - first row.
        `col1` - first column.
        `row2` - last row.
        `col2` - last column.
        `byRows` - if ture,data is sorted by row.
        `keys` - the keys to use to sort the data. Positive numbers (1..n) indicate an ascending sort key. negative numbers (-1..-n) indicate an descending sort key. keys are the number of the row/column,0-indicates no key.

    - #### hasAutoFilter

          public boolean hasAutoFilter()

    - #### getAutoFilter

          public AutoFilter getAutoFilter()

    - #### subTotal

          public void subTotal(int row1,
                               int col1,
                               int row2,
                               int col2,
                               int changeCol,
                               int[] subs)

      Specified a range of data to be subtotaled.
      Parameters:
        `row1` - first row.
        `col1` - first column.
        `row2` - last row.
        `col2` - last column.
        `changeCol` - detect each change in the column.
        `subs` - the columns used to subtotal the data.

    - #### find

          public RangeArea find(int row1,
                                int col1,
                                java.lang.String text)

      find the first cell which match the search string from the specified cell. the searched area is the range area from the cell (row,col) to end cell(lastrow,lastcol)
      Parameters:
        `row1` - - cell row index
        `col1` - - cell column index
        `text` - - search string
      Returns:
        rangeArea which indicate the searched cell address,null if not found.

    - #### find

          public RangeArea find(int row1,
                                int col1,
                                java.lang.String text,
                                boolean matchCase,
                                boolean matchEntire,
                                boolean inFormula)

      find the first cell which match the search string from the specified cell. the searched area is the range area from the cell (row,col) to end cell(lastrow,lastcol)
      Parameters:
        `row1` - - cell row index
        `col1` - - cell column index
        `text` - - search string
        `matchCase` - match with case sensitive
        `matchEntire` - match entire cell
        `inFormula` - search in formula content
      Returns:
        rangeArea which indicate the searched cell address,null if not found.

    - #### replace

          public void replace(java.lang.String find,
                              java.lang.String replace)

      find all the range cells with specified search string in current selected sheet,replace with the other string.
      Parameters:
        `find` - - search string
        `replace` - - replace string

    - #### replace

          public void replace(int row1,
                              int col1,
                              int row2,
                              int col2,
                              java.lang.String find,
                              java.lang.String replace)

    - #### replace

          public void replace(java.lang.String find,
                              java.lang.String replace,
                              boolean matchEntire)

      find all the range cells with specified search string in current selected sheet,replace with the other string.
      Parameters:
        `find` - - search string
        `replace` - - replace string
        `matchEntire` - match entire cell

    - #### getShowTabs

          public short getShowTabs()

      Returns the display status and position of the sheet name tabs on a workbook.
      Returns:
        the display status value which is one of the following. TabsOff`TabsOff` - hide tabs TabsBottom`TabsBottom` - tabs on bottom TabsTop`TabsTop` - tabs on top

    - #### setShowTabs

          public void setShowTabs(short showTabs)
                           throws java.lang.Exception

      Sets the visibility or position of the sheet name tabs on a workbook.
      Parameters:
        `showTabs` - the display status value which is one of the following. TabsOff`TabsOff` - hide tabs TabsBottom`TabsBottom` - tabs on bottom TabsTop`TabsTop` - tabs on top
      Throws:
        `java.lang.Exception` - exception

    - #### getShowVScrollBar

          public short getShowVScrollBar()

      Returns the mode for the vertical scroll bar.
      Returns:
        one of the following modes: ShowOff`ShowOff` - never show. ShowOn`ShowOn` - always show. ShowAutomatic`ShowAutomatic` - show when appropriate.

    - #### setShowVScrollBar

          public void setShowVScrollBar(short showVScrollBar)
                                 throws java.lang.Exception

      Sets the mode for the vertical scroll bar.
      Parameters:
        `showVScrollBar` - the mode for the vertical scroll bar: ShowOff`ShowOff` - never show. ShowOn`ShowOn` - always show. ShowAutomatic`ShowAutomatic` - show when appropriate.
      Throws:
        `java.lang.Exception` - exception

    - #### getShowHScrollBar

          public short getShowHScrollBar()

      Returns the mode for the horizontal scroll bar.
      Returns:
        one of the following modes: ShowOff`ShowOff` - never show. ShowOn`ShowOn` - always show. ShowAutomatic`ShowAutomatic` - show when appropriate.

    - #### setShowHScrollBar

          public void setShowHScrollBar(short showHScrollBar)
                                 throws java.lang.Exception

      Sets the mode for the horizontal scroll bar.
      Parameters:
        `showHScrollBar` - the mode for the horizontal scroll bar: ShowOff`ShowOff` - never show. ShowOn`ShowOn` - always show. ShowAutomatic`ShowAutomatic` - show when appropriate.
      Throws:
        `java.lang.Exception` - exception

    - #### isShowZeroValues

          public boolean isShowZeroValues()

      Returns true if cells with zero values are displayed.
      Returns:
        true if show zero.

    - #### setShowZeroValues

          public void setShowZeroValues(boolean showZeroValues)

      Sets whether zero value cells are displayed.
      Parameters:
        `showZeroValues` - true if show zero values.

    - #### setWorkbookName

          public void setWorkbookName(java.lang.String name)

      the workbook name
      Parameters:
        `name` - workbook name

    - #### setGroup

          public void setGroup(java.lang.String name)
                        throws java.lang.Exception

      group name
      Parameters:
        `name` - group name
      Throws:
        `java.lang.Exception` - if there is exception occured

    - #### setDefaultFontName

          public void setDefaultFontName(java.lang.String name)

      set the default font name
      Parameters:
        `name` - font name

    - #### quitGroup

          public void quitGroup()
                         throws java.lang.Exception

      quit this workbook from group
      Throws:
        `java.lang.Exception` - if there is exception occured

    - #### dispose

          public void dispose()

      desconstructor of the workbook

    - #### getSheetTabColor

          public int getSheetTabColor()

      return the color used by the sheet tab
      Returns:
        color

    - #### setSheetTabColor

          public void setSheetTabColor(java.awt.Color color)

      set the color to the sheet tab
      Parameters:
        `color` - java.awt.color object

    - #### getSheetViewType

          public int getSheetViewType()

      Returns the sheet view type. 0 - Normal view 1 - Page Layout View 2 - Page break preview
      Returns:
        the sheet view type.

    - #### setSheetViewType

          public void setSheetViewType(int viewType)

      Sets the sheet view type..
      Parameters:
        `viewType` - the sheet view type: 0 - Normal view 1 - Page Layout View 2 - Page break preview

    - #### clearCell

          public void clearCell(int row,
                                int col)

      set cell value to empty,do nothing if cell is null
      Parameters:
        `row` - - cell row index
        `col` - - cell column index

    - #### setCSVSeparator

          public void setCSVSeparator(char c)

      set the csv to use the specified char
      Parameters:
        `c` - seprator char

    - #### getCSVSeparator

          public char getCSVSeparator()

      get the csv seprator char
      Returns:
        seprator char

    - #### setShowOutlines

          public void setShowOutlines(boolean t)

      set whether the outline shown or not
      Parameters:
        `t` - true shown

    - #### setDocPropParsing

          public void setDocPropParsing(boolean b)

      set this flag will allow to parse the document property,default not parsing
      Parameters:
        `b` - true to allow parsing

    - #### getBuiltInDocumentProperties

          public BuiltInDocumentProperties getBuiltInDocumentProperties()

      build in document properties
      Returns:
        properties

    - #### getCustomDocumentProperties

          public CustomDocumentProperties getCustomDocumentProperties()

      custom document properties
      Returns:
        properties

    - #### addTable

          public Table addTable(java.lang.String tableName,
                                int row1,
                                int col1,
                                int row2,
                                int col2,
                                TableBuiltInStyles builtInTableStyle)

      add the table object to current selected sheet
      Parameters:
        `tableName` - name of the table
        `row1` - start row
        `col1` - start col
        `row2` - end row
        `col2` - end col
        `builtInTableStyle` - buildin table style
      Returns:
        table object

    - #### getTable

          public Table getTable(int row1,
                                int col1)

      return the table if the active cell is in
      Parameters:
        `row1` - start row
        `col1` - start col
      Returns:
        return null if no table contain this cell

    - #### CreateTableStyle

          public void CreateTableStyle(java.lang.String tableStyleName,
                                       java.util.HashMap<com.smartxls.enums.TableStyleElementType,RangeStyle> tableStyleElements)

      add new tablestyle to the workbook
      Parameters:
        `tableStyleName` - name of the tablestyle
        `tableStyleElements` - map of the table style element parts

    - #### getSheetProperty

          public java.lang.Object getSheetProperty(SheetVarType varType)

      access the sheet internal property by the variant type
      Parameters:
        `varType` - enum value of com.smartxls.SheetVarType
      Returns:
        property object

    - #### isSheetRightToLeft

          public boolean isSheetRightToLeft()

      sheet right to left setting
      Returns:
        true right to left

    - #### setSheetRightToLeft

          public void setSheetRightToLeft(boolean flag)

      sheet right to left setting
      Parameters:
        `flag` - true right to left

    - #### isCalcOnSave

          public boolean isCalcOnSave()

      sheet calculated on save setting
      Returns:
        flag true to calculated on saving

    - #### setCalcOnSave

          public void setCalcOnSave(boolean flag)

      sheet calculated on save setting
      Parameters:
        `flag` - true to calculated on saving

    - #### getWorkBookVersion

          public ExcelVersion getWorkBookVersion()

    - #### setWorkBookVersion

          public void setWorkBookVersion(ExcelVersion ver)

    - #### getVersionString

          public java.lang.String getVersionString()

      Returns the version of this component in a string.
      Returns:
        a string describing the version of this component