# Workbook

## Content

<div class="docapp-java-api-doc-main"><style>:not(h1, h2, h3, h4, h5, h6)>code,
:not(h1, h2, h3, h4, h5, h6)>tt {
    font-size: 14px;
    padding-top: 4px;
    margin-top: 8px;
    line-height: 1.4em;
}

.summary-table dt code {
    font-size: 14px;
    vertical-align: top;
    padding-top: 4px;
}

.tab {
    background-color: #0066FF;
    color: #ffffff;
    padding: 8px;
    width: 5em;
    font-weight: bold;
}

/*
 * Styles for page header and footer.
 */
.title {
    color: #2c4557;
    margin: 10px 0;
}

.sub-title {
    margin: 5px 0 0 0;
}

.header ul {
    margin: 0 0 15px 0;
    padding: 0;
}

.header ul li,
.footer ul li {
    list-style: none;
}

/*
 * Styles for headings.
 */
.summary h2,
.details h2,
h2,
.block-list h2 {
    padding: 0;
    margin: 15px 0;
}

.summary h3,
.details h3,
.summary .inherited-list h2 {
    background-color: var(--ds-product-color);
    color: #fff;
    border: 1px solid #d0d9e0;
    padding: 7px 5px;
}

.summary h3 a,
.details h3 a,
.summary .inherited-list h2 a {
    color: #fff !important;
}
/*
 * Styles for page layout containers.
 */
dl.notes>dt {
    font-size: 12px;
    font-weight: bold;
    margin: 10px 0 0 0;
    color: #4E4E4E;
}

dl.notes>dd {
    margin: 5px 10px 10px 0;
    font-size: 14px;
}

dl.name-value>dt {
    margin-left: 1px;
    font-size: 1.1em;
    display: inline;
    font-weight: bold;
}

dl.name-value>dd {
    margin: 0 0 0 1px;
    font-size: 1.1em;
    display: inline;
}

/*
 * Styles for lists.
 */
li.circle {
    list-style: circle;
}

ul.horizontal li {
    display: inline;
    font-size: 0.9em;
}

div.inheritance {
    margin: 0;
    padding: 0;
}

div.inheritance div.inheritance {
    margin-left: 2em;
}

ul.block-list,
ul.details-list,
ul.member-list,
ul.summary-list {
    margin: 10px 0 10px 0;
    padding: 0;
}

ul.block-list>li,
ul.details-list>li,
ul.member-list>li,
ul.summary-list>li {
    list-style: none;
    margin-bottom: 15px;
    line-height: 1.4;
}

.summary-table dl,
.summary-table dl dt,
.summary-table dl dd {
    margin-top: 0;
    margin-bottom: 1px;
}

ul.see-list,
ul.see-list-long {
    padding-left: 0;
    list-style: none;
}

ul.see-list li {
    display: inline;
}

ul.see-list li:not(:last-child):after,
ul.see-list-long li:not(:last-child):after {
    content: ", ";
    white-space: pre-wrap;
}

/*
 * Styles for tables.
 */
.summary-table,
.details-table {
    width: 100%;
    border-spacing: 0;
    border-left: 1px solid #EEE;
    border-right: 1px solid #EEE;
    border-bottom: 1px solid #EEE;
    padding: 0;
}

.caption {
    position: relative;
    text-align: left;
    background-repeat: no-repeat;
    color: #253441;
    font-weight: bold;
    clear: none;
    overflow: hidden;
    padding: 0;
    padding-top: 10px;
    padding-left: 1px;
    margin: 0;
    white-space: pre;
}

.caption a:link,
.caption a:visited {
    color: #1f389c;
}

.caption a:hover,
.caption a:active {
    color: #FFFFFF;
}

.caption span {
    white-space: nowrap;
    padding-top: 5px;
    padding-left: 12px;
    padding-right: 12px;
    padding-bottom: 7px;
    display: inline-block;
    background-color: var(--ds-product-color);
    color: #fff;
    border: none;
}

div.table-tabs {
    padding: 10px 0 0 1px;
    margin: 0;
}

div.table-tabs>button {
    border: none;
    cursor: pointer;
    padding: 5px 12px 7px 12px;
    font-weight: bold;
    margin-right: 3px;
}

div.table-tabs>button.active-table-tab {
    background: var(--ds-product-color);
    color: #fff;
}

div.table-tabs>button.table-tab {
    background: var(--ds-product-color);
    color: #FFFFFF;
    border-bottom: 1px solid #eee;
}

.two-column-summary {
    display: grid;
    grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}

.three-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
}

.four-column-summary {
    display: grid;
    grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
}

@media screen and (max-width: 600px) {
    .two-column-summary {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 800px) {
    .three-column-summary {
        display: grid;
        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
    }

    .three-column-summary .col-last {
        grid-column-end: span 2;
    }
}

@media screen and (max-width: 1000px) {
    .four-column-summary {
        display: grid;
        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
    }
}

.summary-table>div,
.details-table>div {
    text-align: left;
    padding: 8px 3px 3px 7px;
}

.col-first,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name {
    vertical-align: top;
    padding-right: 0;
    padding-top: 8px;
    padding-bottom: 3px;
}

.table-header {
    background: var(--ds-product-color);
    color: #fff;
    font-weight: bold;
}

.col-first,
.col-first {
    font-size: 13px;
}

.col-second,
.col-second,
.col-last,
.col-constructor-name,
.col-summary-item-name,
.col-last {
    font-size: 13px;
}

.col-first,
.col-second,
.col-constructor-name {
    vertical-align: top;
    overflow: auto;
}

.col-last {
    white-space: normal;
}

.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-constructor-name a:link,
.col-constructor-name a:visited,
.col-summary-item-name a:link,
.col-summary-item-name a:visited,
.constant-values-container a:link,
.constant-values-container a:visited,
.all-classes-container a:link,
.all-classes-container a:visited,
.all-packages-container a:link,
.all-packages-container a:visited {
    font-weight: bold;
}

.table-sub-heading-color {
    background-color: #EEEEFF;
}

.even-row-color,
.even-row-color .table-header {
    background-color: #FFFFFF;
}

.odd-row-color,
.odd-row-color .table-header {
    background-color: #EEEEEF;
}

/*
 * Styles for contents.
 */
.deprecated-content {
    margin: 0;
    padding: 10px 0;
}

div.block {
    font-size: 14px;
}

.col-last div {
    padding-top: 0;
}

.col-last a {
    padding-bottom: 3px;
}

.module-signature,
.package-signature,
.type-signature,
.member-signature {
    font-size: 14px;
    margin: 14px 0;
    white-space: pre-wrap;
}

.module-signature,
.package-signature,
.type-signature {
    margin-top: 0;
}

.member-signature .type-parameters-long,
.member-signature .parameters,
.member-signature .exceptions {
    display: inline-block;
    vertical-align: top;
    white-space: pre;
}

.member-signature .type-parameters {
    white-space: normal;
}

/*
 * Styles for formatting effect.
 */
.source-line-no {
    color: green;
    padding: 0 30px 0 0;
}

h1.hidden {
    visibility: hidden;
    overflow: hidden;
    font-size: 10px;
}

.block {
    display: block;
    margin: 0 10px 5px 0;
    color: #474747;
}

.deprecated-label,
.descfrm-type-label,
.implementation-label,
.member-name-label,
.member-name-link,
.module-label-in-package,
.module-label-in-type,
.override-specify-label,
.package-label-in-type,
.package-hierarchy-label,
.type-name-label,
.type-name-link,
.search-tag-link,
.preview-label {
    font-weight: bold;
}

.deprecation-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

.preview-block {
    font-size: 14px;
    border-style: solid;
    border-width: thin;
    border-radius: 10px;
    padding: 10px;
    margin-bottom: 10px;
    margin-right: 10px;
    display: inline-block;
}

/*
 * Styles for user-provided tables.
 *
 * borderless:
 *      No borders, vertical margins, styled caption.
 *      This style is provided for use with existing doc comments.
 *      In general, borderless tables should not be used for layout purposes.
 *
 * plain:
 *      Plain borders around table and cells, vertical margins, styled caption.
 *      Best for small tables or for complex tables for tables with cells that span
 *      rows and columns, when the "striped" style does not work well.
 *
 * striped:
 *      Borders around the table and vertical borders between cells, striped rows,
 *      vertical margins, styled caption.
 *      Best for tables that have a header row, and a body containing a series of simple rows.
 */

table.borderless,
table.plain,
table.striped {
    margin-top: 10px;
    margin-bottom: 10px;
}

table.borderless>caption,
table.plain>caption,
table.striped>caption {
    font-weight: bold;
    font-size: smaller;
}

table.borderless th,
table.borderless td,
table.plain th,
table.plain td,
table.striped th,
table.striped td {
    padding: 2px 5px;
}

table.borderless,
table.borderless>thead>tr>th,
table.borderless>tbody>tr>th,
table.borderless>tr>th,
table.borderless>thead>tr>td,
table.borderless>tbody>tr>td,
table.borderless>tr>td {
    border: none;
}

table.borderless>thead>tr,
table.borderless>tbody>tr,
table.borderless>tr {
    background-color: transparent;
}

table.plain {
    border-collapse: collapse;
    border: 1px solid black;
}

table.plain>thead>tr,
table.plain>tbody tr,
table.plain>tr {
    background-color: transparent;
}

table.plain>thead>tr>th,
table.plain>tbody>tr>th,
table.plain>tr>th,
table.plain>thead>tr>td,
table.plain>tbody>tr>td,
table.plain>tr>td {
    border: 1px solid black;
}

table.striped {
    border-collapse: collapse;
    border: 1px solid black;
}

table.striped>thead {
    background-color: #E3E3E3;
}

table.striped>thead>tr>th,
table.striped>thead>tr>td {
    border: 1px solid black;
}

table.striped>tbody>tr:nth-child(even) {
    background-color: #EEE
}

table.striped>tbody>tr:nth-child(odd) {
    background-color: #FFF
}

table.striped>tbody>tr>th,
table.striped>tbody>tr>td {
    border-left: 1px solid black;
    border-right: 1px solid black;
}

table.striped>tbody>tr>th {
    font-weight: normal;
}
</style><h1>Class Workbook</h1>
<!-- ======== START OF CLASS DATA ======== -->

<div class="inheritance" title="Inheritance Tree"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</a>
<div class="inheritance">com.grapecity.documents.excel.Workbook</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">Workbook</span>
<span class="extends-implements">extends <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>
implements <a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></span></div>
<div class="block">Represents a workbook. <p>This class provides the workbook-level API for working with spreadsheets, including  managing worksheets, accessing the active sheet, configuring workbook settings, handling  workbook events, and performing operations such as calculation, opening, and saving.</p> <p>A new workbook is initialized in memory and contains one empty worksheet named  <code>Sheet1</code> in the <a href="#getWorksheets()"><code>getWorksheets()</code></a> collection.</p>
<pre><code data-language="Java">
 Workbook workbook = new Workbook();
 workbook.getBuiltInDocumentProperties().setTitle("Quarterly Sales");
 workbook.getOptions().getFormulas().setEnableIterativeCalculation(true);
 workbook.getActiveSheet().getRange("A1").setValue("Revenue");
 IWorksheet worksheet = workbook.getWorksheets().get(0);
 </code></pre></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static <a href="IFontProvider.html" title="interface in com.grapecity.documents.excel">IFontProvider</a></code></div>
<div class="col-second even-row-color"><code><a class="member-name-link" href="#FontProvider">FontProvider</a></code></div>
<div class="col-last even-row-color">
<div class="block">Gets or sets the font provider that supplies font files as streams for AutoFit, PDF export, and image export.</div>
</div>
<div class="col-first odd-row-color"><code>static <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second odd-row-color"><code><a class="member-name-link" href="#FontsFolderPath">FontsFolderPath</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Gets or sets the path to the directory that contains font files.</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a class="member-name-link" href="#%3Cinit%3E()">Workbook</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Creates the workbook.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a class="member-name-link" href="#%3Cinit%3E(com.grapecity.documents.excel.WorkbookOptions)">Workbook</a><wbr>(<a href="WorkbookOptions.html" title="class in com.grapecity.documents.excel">WorkbookOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color">
<div class="block">Creates the workbook.</div>
</div>
<div class="col-constructor-name even-row-color"><code><a class="member-name-link" href="#%3Cinit%3E(java.lang.String)">Workbook</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;licenseKey)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a workbook and applies the specified license.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a class="member-name-link" href="#%3Cinit%3E(java.lang.String,com.grapecity.documents.excel.WorkbookOptions)">Workbook</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;licenseKey,
 <a href="WorkbookOptions.html" title="class in com.grapecity.documents.excel">WorkbookOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color">
<div class="block">Creates a workbook and applies the specified license.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div aria-orientation="horizontal" class="table-tabs" role="tablist"><button aria-controls="method-summary-table.tabpanel" aria-selected="true" class="active-table-tab" id="method-summary-table-tab0" onclick="show('method-summary-table', 'method-summary-table', 3)" onkeydown="switchTab(event)" role="tab" tabindex="0">All Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab1" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Static Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab2" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Instance Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab4" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Concrete Methods</button><button aria-controls="method-summary-table.tabpanel" aria-selected="false" class="table-tab" id="method-summary-table-tab6" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" onkeydown="switchTab(event)" role="tab" tabindex="-1">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div aria-labelledby="method-summary-table-tab0" class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#AddCustomFunction(com.grapecity.documents.excel.CustomFunction)">AddCustomFunction</a><wbr>(<a href="CustomFunction.html" title="class in com.grapecity.documents.excel">CustomFunction</a>&nbsp;func)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Add custom function into the function set.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#AddCustomFunction(com.grapecity.documents.excel.CustomFunction,boolean)">AddCustomFunction</a><wbr>(<a href="CustomFunction.html" title="class in com.grapecity.documents.excel">CustomFunction</a>&nbsp;func,
 boolean&nbsp;canOverride)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Add custom function into the function set.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#addDataSource(java.lang.String,java.lang.Object)">addDataSource</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>&nbsp;dataSource)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds a named data source for template processing.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#calculate()">calculate</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Calculates formulas in the workbook as needed.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Workbook.html" title="class in com.grapecity.documents.excel">Workbook</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#clone()">clone</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Clones the current workbook and returns a new instance of the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#convertBarcodeToPicture()">convertBarcodeToPicture</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Convert the calculated barcodes to pictures and place them in their respective positions.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#convertBarcodeToPicture(com.grapecity.documents.excel.drawing.ImageType)">convertBarcodeToPicture</a><wbr>(<a href="drawing/ImageType.html" title="enum class in com.grapecity.documents.excel.drawing">ImageType</a>&nbsp;imageType)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Convert the calculated barcodes to pictures and place them in their respective positions.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#dirty()">dirty</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Marks all formulas in the workbook as dirty so they are recalculated the next time calculation runs.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#fromJson(java.io.InputStream)">fromJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;stream)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Loads workbook content from a SpreadJS JSON (SSJSON) stream into this workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#fromJson(java.io.InputStream,com.grapecity.documents.excel.DeserializationOptions)">fromJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;stream,
 <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel">DeserializationOptions</a>&nbsp;deserializationOptions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Loads workbook content from a SpreadJS JSON (SSJSON) stream into this workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#fromJson(java.lang.String)">fromJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;json)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Loads workbook content from a SpreadJS JSON (SSJSON) string into this workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#fromJson(java.lang.String,com.grapecity.documents.excel.DeserializationOptions)">fromJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;json,
 <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel">DeserializationOptions</a>&nbsp;deserializationOptions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Loads workbook content from a SpreadJS JSON (SSJSON) string into this workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#fromSjsJson(java.io.InputStream)">fromSjsJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;stream)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a workbook from a JSON stream containing the contents of .sjs file format.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#fromSjsJson(java.io.InputStream,com.grapecity.documents.excel.SjsOpenOptions)">fromSjsJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;stream,
 <a href="SjsOpenOptions.html" title="class in com.grapecity.documents.excel">SjsOpenOptions</a>&nbsp;openOptions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a workbook from a JSON stream containing the contents of .sjs file format.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#fromSjsJson(java.lang.String)">fromSjsJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;json)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a workbook from a JSON string containing the contents of .sjs file format.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#fromSjsJson(java.lang.String,com.grapecity.documents.excel.SjsOpenOptions)">fromSjsJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;json,
 <a href="SjsOpenOptions.html" title="class in com.grapecity.documents.excel">SjsOpenOptions</a>&nbsp;openOptions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a workbook from a JSON string containing the contents of .sjs file format.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#generateReport()">generateReport</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Process the template and return the instance of report workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#generateReport(com.grapecity.documents.excel.IWorksheet...)">generateReport</a><wbr>(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>...&nbsp;worksheets)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Processes the template and returns a new report workbook that includes only the specified worksheets.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getActiveSheet()">getActiveSheet</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the active worksheet in the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="EventArgs.html" title="class in com.grapecity.documents.excel">EventArgs</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getAfterSaveEvent()">getAfterSaveEvent</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs after the workbook is saved.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IAIModelRequestHandler.html" title="interface in com.grapecity.documents.excel">IAIModelRequestHandler</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#getAIModelRequestHandler()">getAIModelRequestHandler</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Gets the global AI model request handler for processing AI-related operations.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a class="member-name-link" href="#getAllowDynamicArray()">getAllowDynamicArray</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">This method is obsolete.</div>
</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getAuthor()">getAuthor</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the author of the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getAutoParse()">getAutoParse</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets whether string values are automatically parsed when assigned to a range.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getAutoRoundValue()">getAutoRoundValue</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets whether numeric values are rounded to 15 significant digits when they are retrieved.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="EventArgs.html" title="class in com.grapecity.documents.excel">EventArgs</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getBeforeSaveEvent()">getBeforeSaveEvent</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs before the workbook is saved.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IWorkbookView.html" title="interface in com.grapecity.documents.excel">IWorkbookView</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getBookView()">getBookView</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the view settings of this workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IBuiltInDocumentPropertyCollection.html" title="interface in com.grapecity.documents.excel">IBuiltInDocumentPropertyCollection</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getBuiltInDocumentProperties()">getBuiltInDocumentProperties</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of built-in document properties in the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html" title="class or interface in java.util">Locale</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getCulture()">getCulture</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the culture information of the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ICustomDocumentPropertyCollection.html" title="interface in com.grapecity.documents.excel">ICustomDocumentPropertyCollection</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getCustomDocumentProperties()">getCustomDocumentProperties</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of custom document properties in the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ICustomViews.html" title="interface in com.grapecity.documents.excel">ICustomViews</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getCustomViews()">getCustomViews</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the custom views of the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ICustomXmlPartCollection.html" title="interface in com.grapecity.documents.excel">ICustomXmlPartCollection</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getCustomXmlParts()">getCustomXmlParts</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of Custom XML parts in the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getDefaultTableStyle()">getDefaultTableStyle</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the table style name applied by default to newly created tables in the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getDeferUpdateDirtyState()">getDeferUpdateDirtyState</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets whether updates to the dirty states of dependent formulas affected by cell value  changes are deferred.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getEnableCalculation()">getEnableCalculation</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets whether the calculation engine is enabled for the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getExcelLinkSources()">getExcelLinkSources</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the names of the linked Excel documents in the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getFullName()">getFullName</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the workbook name, including its full path.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="IGraphicsInfo.html" title="interface in com.grapecity.documents.excel">IGraphicsInfo</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getGraphicsInfo()">getGraphicsInfo</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the graphics information used by the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IIconSets.html" title="interface in com.grapecity.documents.excel">IIconSets</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getIconSets()">getIconSets</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of icon sets available in the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getName()">getName</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the name of the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="INames.html" title="interface in com.grapecity.documents.excel">INames</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getNames()">getNames</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of workbook-defined names.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#getNames(java.io.InputStream)">getNames</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Gets the collection of workbook-defined names.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#getNames(java.lang.String)">getNames</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Gets the collection of workbook-defined names.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="SheetEventArgs.html" title="class in com.grapecity.documents.excel">SheetEventArgs</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getNewSheetEvent()">getNewSheetEvent</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs when a new sheet is created in the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="EventArgs.html" title="class in com.grapecity.documents.excel">EventArgs</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getOpenedEvent()">getOpenedEvent</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs when the workbook is opened.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IExcelOptions.html" title="interface in com.grapecity.documents.excel">IExcelOptions</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getOptions()">getOptions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the workbook options.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getPath()">getPath</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the path of the workbook file represented by this workbook object.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IPivotCaches.html" title="interface in com.grapecity.documents.excel">IPivotCaches</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getPivotCaches()">getPivotCaches</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the  <a href="IPivotCaches.html" title="interface in com.grapecity.documents.excel"><code>IPivotCaches</code></a> collection that contains all <a href="IPivotTable.html" title="interface in com.grapecity.documents.excel"><code>IPivotTable</code></a> caches in the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getProtectStructure()">getProtectStructure</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets a value indicating whether the workbook structure is protected.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getProtectWindows()">getProtectWindows</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets a value indicating whether the workbook windows are protected.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ReferenceStyle.html" title="enum class in com.grapecity.documents.excel">ReferenceStyle</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getReferenceStyle()">getReferenceStyle</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the reference style used by the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getResetAdjacentRangeBorder()">getResetAdjacentRangeBorder</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets whether adjacent range borders are reset when a border is applied to a range.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="IWorksheets.html" title="interface in com.grapecity.documents.excel">IWorksheets</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSelectedSheets()">getSelectedSheets</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of selected worksheets in the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="SheetEventArgs.html" title="class in com.grapecity.documents.excel">SheetEventArgs</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSheetActivateEvent()">getSheetActivateEvent</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs when a sheet is activated.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="SheetEventArgs.html" title="class in com.grapecity.documents.excel">SheetEventArgs</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSheetBeforeDeleteEvent()">getSheetBeforeDeleteEvent</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs before a sheet is deleted.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="RangeEventArgs.html" title="class in com.grapecity.documents.excel">RangeEventArgs</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSheetChangeEvent()">getSheetChangeEvent</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs when something changes in the cells of a sheet.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="SheetEventArgs.html" title="class in com.grapecity.documents.excel">SheetEventArgs</a>&gt;&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSheetDeactivateEvent()">getSheetDeactivateEvent</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs when a sheet is deactivated.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="RangeEventArgs.html" title="class in com.grapecity.documents.excel">RangeEventArgs</a>&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSheetSelectionChange()">getSheetSelectionChange</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Occurs when the selection changes on a sheet.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ISheetTabs.html" title="interface in com.grapecity.documents.excel">ISheetTabs</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSheetTabs()">getSheetTabs</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of sheet tabs contained in the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getShowPivotTableFieldList()">getShowPivotTableFieldList</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets a value indicating whether the PivotTable field list can be shown.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ISignatureSet.html" title="interface in com.grapecity.documents.excel">ISignatureSet</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSignatures()">getSignatures</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of digital signatures attached to the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ISlicerCaches.html" title="interface in com.grapecity.documents.excel">ISlicerCaches</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getSlicerCaches()">getSlicerCaches</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the  <a href="ISlicerCaches.html" title="interface in com.grapecity.documents.excel"><code>ISlicerCaches</code></a> collection associated with the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IStyleCollection.html" title="interface in com.grapecity.documents.excel">IStyleCollection</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getStyles()">getStyles</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the collection of styles in the current workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ITableStyleCollection.html" title="interface in com.grapecity.documents.excel">ITableStyleCollection</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getTableStyles()">getTableStyles</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the  <a href="ITableStyleCollection.html" title="interface in com.grapecity.documents.excel"><code>ITableStyleCollection</code></a> for the current workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel">IJsonSerializer</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#getTagJsonSerializer()">getTagJsonSerializer</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Gets the JSON serializer used for tag custom types in JSON import and export.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="ITheme.html" title="interface in com.grapecity.documents.excel">ITheme</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getTheme()">getTheme</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the theme associated with the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="FontInfo.html" title="class in com.grapecity.documents.excel">FontInfo</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getUsedFonts()">getUsedFonts</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets all font information used in the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel">IJsonSerializer</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#getValueJsonSerializer()">getValueJsonSerializer</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Gets the JSON serializer used for custom values in from/to JSON operations.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel">IWebRequestHandler</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#getWebRequestHandler()">getWebRequestHandler</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Gets the singleton  <a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel"><code>IWebRequestHandler</code></a> instance that is used to handle web requests.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="IWorksheets.html" title="interface in com.grapecity.documents.excel">IWorksheets</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getWorksheets()">getWorksheets</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the  <a href="IWorksheets.html" title="interface in com.grapecity.documents.excel"><code>IWorksheets</code></a> collection that represents all worksheets in the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="WriteProtection.html" title="class in com.grapecity.documents.excel">WriteProtection</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#getWriteProtection()">getWriteProtection</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the workbook write protection options.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>[][]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#importData(java.io.InputStream,java.lang.String)">importData</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;sourceName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Imports all data from the specified source in a workbook stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>[][]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#importData(java.io.InputStream,java.lang.String,int,int,int,int)">importData</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;worksheetName,
 int&nbsp;row,
 int&nbsp;column,
 int&nbsp;rowCount,
 int&nbsp;columnCount)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Imports data from a specified range in a workbook stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>[][]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#importData(java.lang.String,java.lang.String)">importData</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;sourceName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Imports all data from the specified source in a workbook file.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>[][]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#importData(java.lang.String,java.lang.String,int,int,int,int)">importData</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;worksheetName,
 int&nbsp;row,
 int&nbsp;column,
 int&nbsp;rowCount,
 int&nbsp;columnCount)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Imports data from a specified range in a workbook file.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#isEncryptedFile(java.io.InputStream)">isEncryptedFile</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determines whether the specified file stream is password protected.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#isEncryptedFile(java.lang.String)">isEncryptedFile</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determines whether the specified file is password protected.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#open(java.io.InputStream)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Opens the specified Excel file stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#open(java.io.InputStream,com.grapecity.documents.excel.OpenFileFormat)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a href="OpenFileFormat.html" title="enum class in com.grapecity.documents.excel">OpenFileFormat</a>&nbsp;fileFormat)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Opens the specified Excel file stream using the specified file format.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#open(java.io.InputStream,com.grapecity.documents.excel.OpenOptionsBase)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a href="OpenOptionsBase.html" title="class in com.grapecity.documents.excel">OpenOptionsBase</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Opens the stream with the specified options.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a class="member-name-link" href="#open(java.io.InputStream,java.lang.String)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#open(java.io.InputStream,com.grapecity.documents.excel.OpenOptionsBase)"><code>open(InputStream,OpenOptionsBase)</code></a> instead.</div>
</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#open(java.lang.String)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Opens a workbook file.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#open(java.lang.String,com.grapecity.documents.excel.DeserializationOptions)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel">DeserializationOptions</a>&nbsp;deserializationOptions)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Opens the specified JSON file.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#open(java.lang.String,com.grapecity.documents.excel.OpenFileFormat)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="OpenFileFormat.html" title="enum class in com.grapecity.documents.excel">OpenFileFormat</a>&nbsp;fileFormat)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Opens a file using the specified file format.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#open(java.lang.String,com.grapecity.documents.excel.OpenOptionsBase)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="OpenOptionsBase.html" title="class in com.grapecity.documents.excel">OpenOptionsBase</a>&nbsp;options)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Opens a file with the specified open options.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a class="member-name-link" href="#open(java.lang.String,java.lang.String)">open</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#open(java.lang.String,com.grapecity.documents.excel.OpenOptionsBase)"><code>open(String,OpenOptionsBase)</code></a> instead.</div>
</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#processTemplate()">processTemplate</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Processes the workbook as a template by evaluating template fields and replacing them  with data from the workbook's data sources.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#processTemplate(com.grapecity.documents.excel.CancellationToken)">processTemplate</a><wbr>(<a href="CancellationToken.html" title="class in com.grapecity.documents.excel">CancellationToken</a>&nbsp;cancellationToken)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Processes the workbook as a template and observes cancellation requests through  the specified cancellation token.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#protect()">protect</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Protects the workbook structure without a password.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#protect(boolean)">protect</a><wbr>(boolean&nbsp;structure)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Protects a workbook so that it cannot be modified.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#protect(boolean,boolean)">protect</a><wbr>(boolean&nbsp;structure,
 boolean&nbsp;windows)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Protects the workbook from modification based on the specified structure and window settings.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#protect(java.lang.String)">protect</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Protects the workbook with a password so that it cannot be modified.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#protect(java.lang.String,boolean)">protect</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password,
 boolean&nbsp;structure)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Protects the workbook so that it cannot be modified.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#protect(java.lang.String,boolean,boolean)">protect</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password,
 boolean&nbsp;structure,
 boolean&nbsp;windows)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Protects a workbook so that it cannot be modified.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#save(java.io.OutputStream)">save</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;outputStream)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Saves the workbook to the specified stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#save(java.io.OutputStream,com.grapecity.documents.excel.SaveFileFormat)">save</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;fileStream,
 <a href="SaveFileFormat.html" title="enum class in com.grapecity.documents.excel">SaveFileFormat</a>&nbsp;fileFormat)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Saves the workbook to the specified stream in the specified file format.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#save(java.io.OutputStream,com.grapecity.documents.excel.SaveOptionsBase)">save</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;fileStream,
 <a href="SaveOptionsBase.html" title="class in com.grapecity.documents.excel">SaveOptionsBase</a>&nbsp;options)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Saves the workbook to a stream with the specified save options.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a class="member-name-link" href="#save(java.io.OutputStream,java.lang.String)">save</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;outputStream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#save(java.io.OutputStream,com.grapecity.documents.excel.SaveOptionsBase)"><code>save(OutputStream,SaveOptionsBase)</code></a> instead.</div>
</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#save(java.lang.String)">save</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Saves the workbook to disk.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#save(java.lang.String,com.grapecity.documents.excel.SaveFileFormat)">save</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="SaveFileFormat.html" title="enum class in com.grapecity.documents.excel">SaveFileFormat</a>&nbsp;fileFormat)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Saves the workbook to the specified file in the specified format.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#save(java.lang.String,com.grapecity.documents.excel.SaveOptionsBase)">save</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="SaveOptionsBase.html" title="class in com.grapecity.documents.excel">SaveOptionsBase</a>&nbsp;options)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Saves the workbook to a file with the specified save options.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a class="member-name-link" href="#save(java.lang.String,java.lang.String)">save</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#save(java.lang.String,com.grapecity.documents.excel.SaveOptionsBase)"><code>save(String,SaveOptionsBase)</code></a> instead.</div>
</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#setAIModelRequestHandler(com.grapecity.documents.excel.IAIModelRequestHandler)">setAIModelRequestHandler</a><wbr>(<a href="IAIModelRequestHandler.html" title="interface in com.grapecity.documents.excel">IAIModelRequestHandler</a>&nbsp;modelRequestHandler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Sets the global AI model request handler for processing AI-related operations.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a class="member-name-link" href="#setAllowDynamicArray(boolean)">setAllowDynamicArray</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">This method is obsolete.</div>
</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setAuthor(java.lang.String)">setAuthor</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the author of the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setAutoParse(boolean)">setAutoParse</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets whether string values are automatically parsed when assigned to a range.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setAutoRoundValue(boolean)">setAutoRoundValue</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets whether numeric values are rounded to 15 significant digits when they are retrieved.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setCulture(java.util.Locale)">setCulture</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html" title="class or interface in java.util">Locale</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the culture for the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setDefaultTableStyle(java.lang.String)">setDefaultTableStyle</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the table style name applied by default to newly created tables in the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setDeferUpdateDirtyState(boolean)">setDeferUpdateDirtyState</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets whether updates to the dirty states of dependent formulas affected by cell value  changes are deferred.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setEnableCalculation(boolean)">setEnableCalculation</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets whether the calculation engine is enabled for the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setGraphicsInfo(com.grapecity.documents.excel.IGraphicsInfo)">setGraphicsInfo</a><wbr>(<a href="IGraphicsInfo.html" title="interface in com.grapecity.documents.excel">IGraphicsInfo</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the graphics information used by the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a class="member-name-link" href="#SetLicenseFile(java.lang.String)">SetLicenseFile</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;licenseFilePath)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">This method has been deprecated since version 9.0.</div>
</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#SetLicenseKey(java.lang.String)">SetLicenseKey</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;key)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Sets license for all workbook instances.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setName(java.lang.String)">setName</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the name of the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setPath(java.lang.String)">setPath</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;path)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the path of the workbook file represented by this workbook object.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setReferenceStyle(com.grapecity.documents.excel.ReferenceStyle)">setReferenceStyle</a><wbr>(<a href="ReferenceStyle.html" title="enum class in com.grapecity.documents.excel">ReferenceStyle</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the reference style used for cell references in the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setResetAdjacentRangeBorder(boolean)">setResetAdjacentRangeBorder</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets whether adjacent range borders are reset when a border is applied to a range.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setShowPivotTableFieldList(boolean)">setShowPivotTableFieldList</a><wbr>(boolean&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets a value indicating whether the PivotTable field list can be shown.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#setTagJsonSerializer(com.grapecity.documents.excel.IJsonSerializer)">setTagJsonSerializer</a><wbr>(<a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel">IJsonSerializer</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Sets the JSON serializer used for tag custom types in JSON import and export.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#setTheme(com.grapecity.documents.excel.ITheme)">setTheme</a><wbr>(<a href="ITheme.html" title="interface in com.grapecity.documents.excel">ITheme</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the theme applied to the current workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#setValueJsonSerializer(com.grapecity.documents.excel.IJsonSerializer)">setValueJsonSerializer</a><wbr>(<a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel">IJsonSerializer</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Sets the JSON serializer used for custom cell values in JSON import and export.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a class="member-name-link" href="#setWebRequestHandler(com.grapecity.documents.excel.IWebRequestHandler)">setWebRequestHandler</a><wbr>(<a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel">IWebRequestHandler</a>&nbsp;webRequestHandler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Sets the global  <a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel"><code>IWebRequestHandler</code></a> instance that is used to handle web requests.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#toJson()">toJson</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a JSON string from the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#toJson(com.grapecity.documents.excel.SerializationOptions)">toJson</a><wbr>(<a href="SerializationOptions.html" title="class in com.grapecity.documents.excel">SerializationOptions</a>&nbsp;serializationOptions)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a JSON string from the workbook using the specified serialization options.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#toJson(java.io.OutputStream)">toJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a JSON stream from the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#toJson(java.io.OutputStream,com.grapecity.documents.excel.SerializationOptions)">toJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a href="SerializationOptions.html" title="class in com.grapecity.documents.excel">SerializationOptions</a>&nbsp;serializationOptions)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a JSON stream from the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#toSjsJson()">toSjsJson</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a single JSON payload that represents the workbook in SpreadJS .sjs format.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#toSjsJson(com.grapecity.documents.excel.SjsSaveOptions)">toSjsJson</a><wbr>(<a href="SjsSaveOptions.html" title="class in com.grapecity.documents.excel">SjsSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Generates a single JSON payload that represents the workbook in SpreadJS .sjs format, using the specified save options.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#toSjsJson(java.io.OutputStream)">toSjsJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Integrates all JSON files from the SpreadJS .sjs file into a single string, then put the string into the stream.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#toSjsJson(java.io.OutputStream,com.grapecity.documents.excel.SjsSaveOptions)">toSjsJson</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a href="SjsSaveOptions.html" title="class in com.grapecity.documents.excel">SjsSaveOptions</a>&nbsp;options)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Integrates all JSON files from the SpreadJS .sjs file into a single string, then put the string into the stream.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#unprotect()">unprotect</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes protection from the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#unprotect(java.lang.String)">unprotect</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes protection from the workbook.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#updateExcelLink(java.lang.String)">updateExcelLink</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Updates the Excel link with the specified name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#updateExcelLink(java.lang.String,com.grapecity.documents.excel.IWorkbook)">updateExcelLink</a><wbr>(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name,
 <a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&nbsp;sourceWorkbook)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Updates the Excel link with the specified name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#updateExcelLinks()">updateExcelLinks</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Updates all Excel links in the workbook.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a class="member-name-link" href="#waitForCalculationToFinish()">waitForCalculationToFinish</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Waits for all calculations in the workbook to finish.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a></h3>
<code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</a>, <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="FontsFolderPath">
<h3>FontsFolderPath</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">FontsFolderPath</span></div>
<div class="block">Gets or sets the path to the directory that contains font files.  These fonts are utilized for rendering and measurement in PDF, HTML, and image export, as well as AutoFit functionality.
 <pre><code data-language="Java">
 Workbook.FontsFolderPath = java.nio.file.Paths.get("Resources", "Fonts").toString();
 String fontsFolderPath = Workbook.FontsFolderPath;
 </code></pre></div>
</section>
</li>
<li>
<section class="detail" id="FontProvider">
<h3>FontProvider</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IFontProvider.html" title="interface in com.grapecity.documents.excel">IFontProvider</a></span>&nbsp;<span class="element-name">FontProvider</span></div>
<div class="block">Gets or sets the font provider that supplies font files as streams for AutoFit, PDF export, and image export.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="<init>()">
<h3>Workbook</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Workbook</span>()</div>
<div class="block">Creates the workbook.</div>
</section>
</li>
<li>
<section class="detail" id="<init>(com.grapecity.documents.excel.WorkbookOptions)">
<h3>Workbook</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Workbook</span><wbr><span class="parameters">(<a href="WorkbookOptions.html" title="class in com.grapecity.documents.excel">WorkbookOptions</a>&nbsp;options)</span></div>
<div class="block">Creates the workbook.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>options</code> - The workbook options.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="<init>(java.lang.String)">
<h3>Workbook</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Workbook</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;licenseKey)</span></div>
<div class="block">Creates a workbook and applies the specified license. <p> Important: For licenses of the Chinese market, use  <code>SetLicenseFile</code> or set the license in the  <code>GCEXCEL_JAVA_DEPLOY_LICENSE_V7</code> environment variable instead.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>licenseKey</code> - The license key.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="<init>(java.lang.String,com.grapecity.documents.excel.WorkbookOptions)">
<h3>Workbook</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Workbook</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;licenseKey,
 <a href="WorkbookOptions.html" title="class in com.grapecity.documents.excel">WorkbookOptions</a>&nbsp;options)</span></div>
<div class="block">Creates a workbook and applies the specified license. <p> Important: For licenses of the Chinese market, use  <code>SetLicenseFile</code> or set the license in the  <code>GCEXCEL_JAVA_DEPLOY_LICENSE_V7</code> environment variable instead.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>licenseKey</code> - The license key.</dd>
<dd><code>options</code> - The workbook options.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getAllowDynamicArray()">
<h3>getAllowDynamicArray</h3>
<div class="member-signature"><span class="annotations"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getAllowDynamicArray</span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">This method is obsolete. Use <a href="IRange.html#setFormula2(java.lang.String)"><code>IRange.setFormula2(String)</code></a> to set a dynamic array formula.</div>
</div>
<div class="block">Gets whether dynamic array formulas are allowed for compatibility with  <a href="IRange.html#setFormula(java.lang.String)"><code>IRange.setFormula(String)</code></a>. <p>This method is obsolete. Dynamic array formulas should be defined by using  <a href="IRange.html#setFormula2(java.lang.String)"><code>IRange.setFormula2(String)</code></a> instead. This property is retained for compatibility with earlier versions that enabled dynamic array behavior together with  <a href="IRange.html#setFormula(java.lang.String)"><code>IRange.setFormula(String)</code></a>.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getAllowDynamicArray()">getAllowDynamicArray</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if dynamic array formulas are allowed for compatibility with <a href="IRange.html#setFormula(java.lang.String)"><code>IRange.setFormula(String)</code></a>; otherwise,  <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setAllowDynamicArray(boolean)">
<h3>setAllowDynamicArray</h3>
<div class="member-signature"><span class="annotations"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setAllowDynamicArray</span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">This method is obsolete. Use <a href="IRange.html#setFormula2(java.lang.String)"><code>IRange.setFormula2(String)</code></a> to set a dynamic array formula.</div>
</div>
<div class="block">Sets whether dynamic array formulas are allowed for compatibility with  <a href="IRange.html#setFormula(java.lang.String)"><code>IRange.setFormula(String)</code></a>. <p>This method is obsolete. Dynamic array formulas should be defined by using  <a href="IRange.html#setFormula2(java.lang.String)"><code>IRange.setFormula2(String)</code></a> instead. This property is retained for compatibility with earlier versions that enabled dynamic array behavior together with  <a href="IRange.html#setFormula(java.lang.String)"><code>IRange.setFormula(String)</code></a>.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setAllowDynamicArray(boolean)">setAllowDynamicArray</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - <code>true</code> if dynamic array formulas are allowed for compatibility with <a href="IRange.html#setFormula(java.lang.String)"><code>IRange.setFormula(String)</code></a>; otherwise,  <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDeferUpdateDirtyState()">
<h3>getDeferUpdateDirtyState</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getDeferUpdateDirtyState</span>()</div>
<div class="block">Gets whether updates to the dirty states of dependent formulas affected by cell value  changes are deferred. <p>When a cell value changes, dirty-state propagation normally runs immediately along the  formula dependency chain. In scenarios with complex dependencies and frequent bulk value  updates, this repeated propagation can introduce additional performance overhead.</p> <p>When this property is  <code>true</code>, value changes are queued and the dirty states of  dependent formulas are not updated immediately. When this property is set back to  <code>false</code>, the workbook processes the queued changes and updates the affected dirty  states in a batch. Therefore,  <code>true</code> and <code>false</code> must be used in pairs: each time this property is set to  <code>true</code>, it must be set back to  <code>false</code> after bulk updates are complete. Otherwise, objects that rely on cached or delayed refresh results,  such as charts, might still return stale values before the queued changes are processed.</p> <p>This property is intended for bulk cell value updates and can improve performance by  reducing repeated dependency analysis and dirty-state propagation. It is not recommended  when  <code>getValue</code> and <code>setValue</code> operations are interleaved.</p>
<pre><code data-language="Java">
 worksheet.getRange("B1").setFormula("=SUM(A:A)");
 workbook.setDeferUpdateDirtyState(true);
 boolean deferred;
 try {
     deferred = workbook.getDeferUpdateDirtyState();
     for (int i = 0; i &lt; 1000; i++) {
         worksheet.getRange(i, 0).setValue(i);
     }
 } finally {
     workbook.setDeferUpdateDirtyState(false);
 }
 Object value = worksheet.getRange("B1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getDeferUpdateDirtyState()">getDeferUpdateDirtyState</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if updates to the dirty states of dependent formulas affected by cell value changes are deferred; otherwise,  <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setDeferUpdateDirtyState(boolean)">
<h3>setDeferUpdateDirtyState</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setDeferUpdateDirtyState</span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block">Sets whether updates to the dirty states of dependent formulas affected by cell value  changes are deferred. <p>When a cell value changes, dirty-state propagation normally runs immediately along the  formula dependency chain. In scenarios with complex dependencies and frequent bulk value  updates, this repeated propagation can introduce additional performance overhead.</p> <p>When this property is  <code>true</code>, value changes are queued and the dirty states of  dependent formulas are not updated immediately. When this property is set back to  <code>false</code>, the workbook processes the queued changes and updates the affected dirty  states in a batch. Therefore,  <code>true</code> and <code>false</code> must be used in pairs: each time this property is set to  <code>true</code>, it must be set back to  <code>false</code> after bulk updates are complete. Otherwise, objects that rely on cached or delayed refresh results,  such as charts, might still return stale values before the queued changes are processed.</p> <p>This property is intended for bulk cell value updates and can improve performance by  reducing repeated dependency analysis and dirty-state propagation. It is not recommended  when  <code>getValue</code> and <code>setValue</code> operations are interleaved.</p>
<pre><code data-language="Java">
 worksheet.getRange("B1").setFormula("=SUM(A:A)");
 workbook.setDeferUpdateDirtyState(true);
 try {
     for (int i = 0; i &lt; 1000; i++) {
         worksheet.getRange(i, 0).setValue(i);
     }
 } finally {
     workbook.setDeferUpdateDirtyState(false);
 }
 Object value = worksheet.getRange("B1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setDeferUpdateDirtyState(boolean)">setDeferUpdateDirtyState</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - <code>true</code> if updates to the dirty states of dependent formulas affected by cell value changes are deferred; otherwise,  <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">Gets the name of the workbook. <p>This method returns the workbook name without the file path. To get the  workbook name together with its path, use  <a href="#getFullName()"><code>getFullName()</code></a>.</p>
<pre><code data-language="Java">
 String filePath = java.nio.file.Paths.get(System.getProperty("user.dir")).toString();
 workbook.setPath(filePath);
 workbook.setName("QuarterlyReport.xlsx");
 String name = workbook.getName();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getName()">getName</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The name of the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setName(java.lang.String)">
<h3>setName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setName</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name)</span></div>
<div class="block">Sets the name of the workbook. <p>This method sets the workbook name without the file path. To get the  workbook name together with its path, use  <a href="#getFullName()"><code>getFullName()</code></a>.</p>
<pre><code data-language="Java">
 String filePath = java.nio.file.Paths.get(System.getProperty("user.dir")).toString();
 workbook.setPath(filePath);
 workbook.setName("QuarterlyReport.xlsx");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setName(java.lang.String)">setName</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>name</code> - The name of the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFullName()">
<h3>getFullName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getFullName</span>()</div>
<div class="block">Gets the workbook name, including its full path. <p>This method returns the full workbook name composed from the workbook name and  path information associated with this workbook.</p>
<pre><code data-language="Java">
 String filePath = java.nio.file.Paths.get(System.getProperty("user.dir")).toString();
 workbook.setPath(filePath);
 workbook.setName("QuarterlyReport.xlsx");
 String fullName = workbook.getFullName();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getFullName()">getFullName</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The workbook name including its full path.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPath()">
<h3>getPath</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getPath</span>()</div>
<div class="block">Gets the path of the workbook file represented by this workbook object. <p>Use this method to retrieve the path information associated with the current workbook.  To get the workbook name together with its path, use  <a href="#getFullName()"><code>getFullName()</code></a>.</p>
<pre><code data-language="Java">
 String directoryPath = java.nio.file.Paths.get(System.getProperty("user.dir"), "Documents").toString();
 workbook.setPath(directoryPath);
 workbook.setName("Report.xlsx");
 String path = workbook.getPath();
 String fullName = workbook.getFullName();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getPath()">getPath</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The path of the workbook file represented by this workbook object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setPath(java.lang.String)">
<h3>setPath</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setPath</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;path)</span></div>
<div class="block">Sets the path of the workbook file represented by this workbook object. <p>Use this method to set the path information associated with the current workbook.  To set the workbook file name, use  <a href="#setName(java.lang.String)"><code>setName(String)</code></a>. To get the workbook name  together with its path, use  <a href="#getFullName()"><code>getFullName()</code></a>.</p>
<pre><code data-language="Java">
 String directoryPath = java.nio.file.Paths.get(System.getProperty("user.dir"), "Documents").toString();
 workbook.setPath(directoryPath);
 workbook.setName("Report.xlsx");
 String fullName = workbook.getFullName();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setPath(java.lang.String)">setPath</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>path</code> - The path of the workbook file represented by this workbook object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.lang.String)">
<h3>open</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName)</span></div>
<div class="block">Opens a workbook file. <p>This method opens the specified file by using the default open options.  The file type is inferred from the file name extension.</p> <p>The  <code>fileName</code> value is used directly as a file system path. Pass only validated paths from trusted sources.</p>
<pre><code data-language="Java">
 String filePath = java.nio.file.Paths.get(System.getProperty("user.dir"), "QuarterlyReport.xlsx").toString();
 workbook.open(filePath);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.lang.String)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path and name of the workbook file to open. Must not be <code>null</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.lang.String,com.grapecity.documents.excel.DeserializationOptions)">
<h3>open</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel">DeserializationOptions</a>&nbsp;deserializationOptions)</span></div>
<div class="block">Opens the specified JSON file. <p>Uses the provided  <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel"><code>DeserializationOptions</code></a> to control how the JSON content is deserialized into the workbook.</p>
<pre><code data-language="Java">
 DeserializationOptions options = new DeserializationOptions();
 options.setIgnoreStyle(true);
 List&lt;JsonError&gt; errors = workbook.open("spread_js_exported.json", options);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.lang.String,com.grapecity.documents.excel.DeserializationOptions)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The JSON file to open.</dd>
<dd><code>deserializationOptions</code> - The options that control JSON deserialization.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects generated while opening the JSON file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.lang.String,java.lang.String)">
<h3>open</h3>
<div class="member-signature"><span class="annotations"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#open(java.lang.String,com.grapecity.documents.excel.OpenOptionsBase)"><code>open(String,OpenOptionsBase)</code></a> instead.</div>
</div>
<div class="block">Opens the specified Excel file with a password. <p>This method opens a password-protected workbook from the specified file path.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.lang.String,java.lang.String)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path and name of the Excel file to open. Must not be <code>null</code>.</dd>
<dd><code>password</code> - The password for the file. Use the password required by the workbook; <code>null</code> if no password is needed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.lang.String,com.grapecity.documents.excel.OpenFileFormat)">
<h3>open</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="OpenFileFormat.html" title="enum class in com.grapecity.documents.excel">OpenFileFormat</a>&nbsp;fileFormat)</span></div>
<div class="block">Opens a file using the specified file format. <p>Use this overload when the file format should be provided explicitly  instead of being inferred from the file name.</p>
<pre><code data-language="Java">
 workbook.open("Template.sjs", OpenFileFormat.Sjs);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.lang.String,com.grapecity.documents.excel.OpenFileFormat)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The file to open.</dd>
<dd><code>fileFormat</code> - The format of the file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.lang.String,com.grapecity.documents.excel.OpenOptionsBase)">
<h3>open</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="OpenOptionsBase.html" title="class in com.grapecity.documents.excel">OpenOptionsBase</a>&nbsp;options)</span></div>
<div class="block">Opens a file with the specified open options. <p>Use this overload to control how the workbook is loaded for supported file formats.  The  <code>options</code> argument can be an instance of <a href="CsvOpenOptions.html" title="class in com.grapecity.documents.excel"><code>CsvOpenOptions</code></a>,  <a href="SjsOpenOptions.html" title="class in com.grapecity.documents.excel"><code>SjsOpenOptions</code></a>,  <a href="XlsmOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XlsmOpenOptions</code></a>,  <a href="XlsxOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XlsxOpenOptions</code></a>, or  <a href="XltxOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XltxOpenOptions</code></a>.</p>
<pre><code data-language="Java">
 XlsxOpenOptions options = new XlsxOpenOptions();
 options.setDoNotRecalculateAfterOpened(true);
 String fileName = java.nio.file.Paths.get(System.getProperty("user.dir"), "OpenWorkbookWithOptions.xlsx").toString();
 workbook.open(fileName, options);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.lang.String,com.grapecity.documents.excel.OpenOptionsBase)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The file to open.</dd>
<dd><code>options</code> - The open options for the file. Must be compatible with the file format; <code>null</code> uses no explicit open options.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.io.InputStream)">
<h3>open</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream)</span></div>
<div class="block">Opens the specified Excel file stream. <p>Use this method to load workbook data from an  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io"><code>InputStream</code></a>.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Name");
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 workbook.save(stream, SaveFileFormat.Xlsx);
 InputStream fileStream = new ByteArrayInputStream(stream.toByteArray());
 workbook.open(fileStream);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.io.InputStream)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The stream that contains the Excel file data. Must not be <code>null</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.io.InputStream,java.lang.String)">
<h3>open</h3>
<div class="member-signature"><span class="annotations"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#open(java.io.InputStream,com.grapecity.documents.excel.OpenOptionsBase)"><code>open(InputStream,OpenOptionsBase)</code></a> instead.</div>
</div>
<div class="block">Opens the specified Excel file stream with a password. <p>Use this method to load a password-protected workbook from an  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io"><code>InputStream</code></a>.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.io.InputStream,java.lang.String)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The file stream to open. Must not be <code>null</code>.</dd>
<dd><code>password</code> - The password for the file. Use an empty string if the file has no password.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.io.InputStream,com.grapecity.documents.excel.OpenFileFormat)">
<h3>open</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a href="OpenFileFormat.html" title="enum class in com.grapecity.documents.excel">OpenFileFormat</a>&nbsp;fileFormat)</span></div>
<div class="block">Opens the specified Excel file stream using the specified file format. <p>Use this overload when the stream content format should be provided explicitly  instead of being inferred from the stream data.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Name");
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 workbook.save(stream, SaveFileFormat.Xlsx);
 InputStream fileStream = new ByteArrayInputStream(stream.toByteArray());
 workbook.open(fileStream, OpenFileFormat.Xlsx);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.io.InputStream,com.grapecity.documents.excel.OpenFileFormat)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The specified file stream.</dd>
<dd><code>fileFormat</code> - The format of the file stream.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="open(java.io.InputStream,com.grapecity.documents.excel.OpenOptionsBase)">
<h3>open</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">open</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a href="OpenOptionsBase.html" title="class in com.grapecity.documents.excel">OpenOptionsBase</a>&nbsp;options)</span></div>
<div class="block">Opens the stream with the specified options. <p>Use this overload to control how the workbook is loaded for supported stream formats.  The  <code>options</code> argument supports <a href="CsvOpenOptions.html" title="class in com.grapecity.documents.excel"><code>CsvOpenOptions</code></a>,  <a href="SjsOpenOptions.html" title="class in com.grapecity.documents.excel"><code>SjsOpenOptions</code></a>,  <a href="XlsmOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XlsmOpenOptions</code></a>,  <a href="XlsxOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XlsxOpenOptions</code></a>, or  <a href="XltxOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XltxOpenOptions</code></a>.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Name");
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 workbook.save(stream, SaveFileFormat.Xlsx);
 InputStream fileStream = new ByteArrayInputStream(stream.toByteArray());
 XlsxOpenOptions options = new XlsxOpenOptions();
 options.setDoNotRecalculateAfterOpened(true);
 workbook.open(fileStream, options);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#open(java.io.InputStream,com.grapecity.documents.excel.OpenOptionsBase)">open</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The file stream.</dd>
<dd><code>options</code> - The options used to open the file stream. Possible types:<ul> <li> <a href="CsvOpenOptions.html" title="class in com.grapecity.documents.excel"><code>CsvOpenOptions</code></a> </li><li> <a href="SjsOpenOptions.html" title="class in com.grapecity.documents.excel"><code>SjsOpenOptions</code></a> </li><li> <a href="XlsmOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XlsmOpenOptions</code></a> </li><li> <a href="XlsxOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XlsxOpenOptions</code></a> </li><li> <a href="XltxOpenOptions.html" title="class in com.grapecity.documents.excel"><code>XltxOpenOptions</code></a> </li></ul></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.lang.String)">
<h3>save</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName)</span></div>
<div class="block">Saves the workbook to disk.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 String filePath = java.nio.file.Paths.get(System.getProperty("user.dir"), "SalesReport.xlsx").toString();
 workbook.save(filePath);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#save(java.lang.String)">save</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path of the destination file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.lang.String,java.lang.String)">
<h3>save</h3>
<div class="member-signature"><span class="annotations"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#save(java.lang.String,com.grapecity.documents.excel.SaveOptionsBase)"><code>save(String,SaveOptionsBase)</code></a> instead.</div>
</div>
<div class="block">Saves the workbook to the specified Excel file with a password. <p>Use this method to write the current workbook to disk and apply password protection  to the saved file.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#save(java.lang.String,java.lang.String)">save</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path of the destination file.</dd>
<dd><code>password</code> - The password used to protect the saved file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.lang.String,com.grapecity.documents.excel.SaveOptionsBase)">
<h3>save</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="SaveOptionsBase.html" title="class in com.grapecity.documents.excel">SaveOptionsBase</a>&nbsp;options)</span></div>
<div class="block">Saves the workbook to a file with the specified save options. <p>Use this method to control how the workbook is written by providing a  <a href="SaveOptionsBase.html" title="class in com.grapecity.documents.excel"><code>SaveOptionsBase</code></a> implementation for the target file type.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 PdfSaveOptions options = new PdfSaveOptions();
 workbook.save("report.pdf", options);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#save(java.lang.String,com.grapecity.documents.excel.SaveOptionsBase)">save</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path of the destination file.</dd>
<dd><code>options</code> - The save options that determine how the file is written. Supported types include <a href="CsvSaveOptions.html" title="class in com.grapecity.documents.excel"><code>CsvSaveOptions</code></a>,  <a href="drawing/HtmlSaveOptions.html" title="class in com.grapecity.documents.excel.drawing"><code>HtmlSaveOptions</code></a>,  <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel"><code>PdfSaveOptions</code></a>,  <a href="SjsSaveOptions.html" title="class in com.grapecity.documents.excel"><code>SjsSaveOptions</code></a>,  <a href="XlsmSaveOptions.html" title="class in com.grapecity.documents.excel"><code>XlsmSaveOptions</code></a>,  <a href="XlsxSaveOptions.html" title="class in com.grapecity.documents.excel"><code>XlsxSaveOptions</code></a>, and  <a href="XltxSaveOptions.html" title="class in com.grapecity.documents.excel"><code>XltxSaveOptions</code></a>.  <code>null</code> behavior is not specified.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.lang.String,com.grapecity.documents.excel.SaveFileFormat)">
<h3>save</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a href="SaveFileFormat.html" title="enum class in com.grapecity.documents.excel">SaveFileFormat</a>&nbsp;fileFormat)</span></div>
<div class="block">Saves the workbook to the specified file in the specified format. <p>Use this method when the target file format needs to be specified explicitly  instead of being inferred from the file name.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 String filePath = java.nio.file.Paths.get(System.getProperty("user.dir"), "SalesReport.xlsx").toString();
 workbook.save(filePath, SaveFileFormat.Xlsx);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#save(java.lang.String,com.grapecity.documents.excel.SaveFileFormat)">save</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path of the destination file.</dd>
<dd><code>fileFormat</code> - The file format to use when saving the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.io.OutputStream)">
<h3>save</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;outputStream)</span></div>
<div class="block">Saves the workbook to the specified stream. <p>Use this method to write the current workbook data to an  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io"><code>OutputStream</code></a>.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
     workbook.save(outputStream);
     byte[] bytes = outputStream.toByteArray();
 } catch (IOException e) {
 }
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#save(java.io.OutputStream)">save</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>outputStream</code> - The output stream to which the workbook is saved. Must not be <code>null</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.io.OutputStream,java.lang.String)">
<h3>save</h3>
<div class="member-signature"><span class="annotations"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;outputStream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">Use <a href="#save(java.io.OutputStream,com.grapecity.documents.excel.SaveOptionsBase)"><code>save(OutputStream,SaveOptionsBase)</code></a> instead.</div>
</div>
<div class="block">Saves the workbook to the specified stream.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#save(java.io.OutputStream,java.lang.String)">save</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>outputStream</code> - The output stream to which the workbook is saved.</dd>
<dd><code>password</code> - The password of the file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.io.OutputStream,com.grapecity.documents.excel.SaveOptionsBase)">
<h3>save</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;fileStream,
 <a href="SaveOptionsBase.html" title="class in com.grapecity.documents.excel">SaveOptionsBase</a>&nbsp;options)</span></div>
<div class="block">Saves the workbook to a stream with the specified save options. <p>Use this method to write workbook data to an  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io"><code>OutputStream</code></a> and control the output by providing a  <a href="SaveOptionsBase.html" title="class in com.grapecity.documents.excel"><code>SaveOptionsBase</code></a> implementation. Supported option types include  <a href="CsvSaveOptions.html" title="class in com.grapecity.documents.excel"><code>CsvSaveOptions</code></a>,  <a href="drawing/HtmlSaveOptions.html" title="class in com.grapecity.documents.excel.drawing"><code>HtmlSaveOptions</code></a>,  <a href="PdfSaveOptions.html" title="class in com.grapecity.documents.excel"><code>PdfSaveOptions</code></a>,  <a href="SjsSaveOptions.html" title="class in com.grapecity.documents.excel"><code>SjsSaveOptions</code></a>,  <a href="XlsmSaveOptions.html" title="class in com.grapecity.documents.excel"><code>XlsmSaveOptions</code></a>,  <a href="XlsxSaveOptions.html" title="class in com.grapecity.documents.excel"><code>XlsxSaveOptions</code></a>, and  <a href="XltxSaveOptions.html" title="class in com.grapecity.documents.excel"><code>XltxSaveOptions</code></a>.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 XlsxSaveOptions options = new XlsxSaveOptions();
 options.setIncludeAutoMergedCells(true);
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 workbook.save(stream, options);
 byte[] bytes = stream.toByteArray();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#save(java.io.OutputStream,com.grapecity.documents.excel.SaveOptionsBase)">save</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The destination stream to receive the saved workbook data.</dd>
<dd><code>options</code> - The save options that control how the workbook is written. This parameter should be an instance of a supported  <a href="SaveOptionsBase.html" title="class in com.grapecity.documents.excel"><code>SaveOptionsBase</code></a> derived type.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="save(java.io.OutputStream,com.grapecity.documents.excel.SaveFileFormat)">
<h3>save</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">save</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;fileStream,
 <a href="SaveFileFormat.html" title="enum class in com.grapecity.documents.excel">SaveFileFormat</a>&nbsp;fileFormat)</span></div>
<div class="block">Saves the workbook to the specified stream in the specified file format. <p>Use this method to write the current workbook content to an  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io"><code>OutputStream</code></a> when the target format must be specified explicitly.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
     workbook.save(outputStream, SaveFileFormat.Xlsx);
     byte[] bytes = outputStream.toByteArray();
 } catch (Exception e) {
     // Handle exception
 }
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#save(java.io.OutputStream,com.grapecity.documents.excel.SaveFileFormat)">save</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The destination stream to receive the saved workbook data. Must not be <code>null</code>.</dd>
<dd><code>fileFormat</code> - The format used to save the workbook to the stream.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAfterSaveEvent()">
<h3>getAfterSaveEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="EventArgs.html" title="class in com.grapecity.documents.excel">EventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getAfterSaveEvent</span>()</div>
<div class="block">Occurs after the workbook is saved.
 <pre><code data-language="Java">
 final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 final boolean[] afterSaveHandled = {false};
 Event&lt;EventHandler&lt;EventArgs&gt;&gt; afterSaveEvent = workbook.getAfterSaveEvent();
 afterSaveEvent.addListener(new EventHandler&lt;EventArgs&gt;() {
     public void invoke(Object sender, EventArgs e) {
         afterSaveHandled[0] = outputStream.size() &gt; 0;
     }
 });
 workbook.getActiveSheet().getRange("A1").setValue("Ready");
 workbook.save(outputStream);
 boolean saved = afterSaveHandled[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getAfterSaveEvent()">getAfterSaveEvent</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs after the workbook is saved.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBeforeSaveEvent()">
<h3>getBeforeSaveEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="EventArgs.html" title="class in com.grapecity.documents.excel">EventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getBeforeSaveEvent</span>()</div>
<div class="block">Occurs before the workbook is saved.
 <pre><code data-language="Java">
 final boolean[] beforeSaveHandled = {false};
 Event&lt;EventHandler&lt;EventArgs&gt;&gt; beforeSaveEvent = workbook.getBeforeSaveEvent();
 beforeSaveEvent.addListener(new EventHandler&lt;EventArgs&gt;() {
     public void invoke(Object sender, EventArgs e) {
         beforeSaveHandled[0] = "Ready".equals(workbook.getActiveSheet().getRange("A1").getValue());
     }
 });
 workbook.getActiveSheet().getRange("A1").setValue("Ready");
 workbook.save(new ByteArrayOutputStream());
 boolean saving = beforeSaveHandled[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getBeforeSaveEvent()">getBeforeSaveEvent</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs before the workbook is saved.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNewSheetEvent()">
<h3>getNewSheetEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="SheetEventArgs.html" title="class in com.grapecity.documents.excel">SheetEventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getNewSheetEvent</span>()</div>
<div class="block">Occurs when a new sheet is created in the workbook.
 <pre><code data-language="Java">
 final IWorksheet[] sheetFromEvent = {null};
 Event&lt;EventHandler&lt;SheetEventArgs&gt;&gt; newSheetEvent = workbook.getNewSheetEvent();
 newSheetEvent.addListener(new EventHandler&lt;SheetEventArgs&gt;() {
     public void invoke(Object sender, SheetEventArgs e) {
         sheetFromEvent[0] = e.getSheet();
     }
 });
 workbook.getWorksheets().add();
 IWorksheet newSheet = sheetFromEvent[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getNewSheetEvent()">getNewSheetEvent</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs when a new sheet is created in the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getOpenedEvent()">
<h3>getOpenedEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="EventArgs.html" title="class in com.grapecity.documents.excel">EventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getOpenedEvent</span>()</div>
<div class="block">Occurs when the workbook is opened.
 <pre><code data-language="Java">
 ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 workbook.getActiveSheet().getRange("A1").setValue("Opened");
 workbook.save(outputStream);
 Workbook openedWorkbook = new Workbook();
 final boolean[] openedHandled = {false};
 Event&lt;EventHandler&lt;EventArgs&gt;&gt; openedEvent = openedWorkbook.getOpenedEvent();
 openedEvent.addListener(new EventHandler&lt;EventArgs&gt;() {
     public void invoke(Object sender, EventArgs e) {
         openedHandled[0] = true;
     }
 });
 openedWorkbook.open(new ByteArrayInputStream(outputStream.toByteArray()));
 boolean opened = openedHandled[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getOpenedEvent()">getOpenedEvent</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs when the workbook is opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSheetActivateEvent()">
<h3>getSheetActivateEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="SheetEventArgs.html" title="class in com.grapecity.documents.excel">SheetEventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getSheetActivateEvent</span>()</div>
<div class="block">Occurs when a sheet is activated.
 <pre><code data-language="Java">
 IWorksheet detailSheet = workbook.getWorksheets().add();
 final IWorksheet[] sheetFromEvent = {null};
 Event&lt;EventHandler&lt;SheetEventArgs&gt;&gt; sheetActivateEvent = workbook.getSheetActivateEvent();
 sheetActivateEvent.addListener(new EventHandler&lt;SheetEventArgs&gt;() {
     public void invoke(Object sender, SheetEventArgs e) {
         sheetFromEvent[0] = e.getSheet();
     }
 });
 detailSheet.activate();
 IWorksheet activeSheet = sheetFromEvent[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSheetActivateEvent()">getSheetActivateEvent</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs when a sheet is activated.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSheetBeforeDeleteEvent()">
<h3>getSheetBeforeDeleteEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="SheetEventArgs.html" title="class in com.grapecity.documents.excel">SheetEventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getSheetBeforeDeleteEvent</span>()</div>
<div class="block">Occurs before a sheet is deleted.
 <pre><code data-language="Java">
 IWorksheet sheetToDelete = workbook.getWorksheets().add();
 final IWorksheet[] sheetFromEvent = {null};
 Event&lt;EventHandler&lt;SheetEventArgs&gt;&gt; sheetBeforeDeleteEvent = workbook.getSheetBeforeDeleteEvent();
 sheetBeforeDeleteEvent.addListener(new EventHandler&lt;SheetEventArgs&gt;() {
     public void invoke(Object sender, SheetEventArgs e) {
         sheetFromEvent[0] = e.getSheet();
     }
 });
 sheetToDelete.delete();
 IWorksheet deletedSheet = sheetFromEvent[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSheetBeforeDeleteEvent()">getSheetBeforeDeleteEvent</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs before a sheet is deleted.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSheetChangeEvent()">
<h3>getSheetChangeEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="RangeEventArgs.html" title="class in com.grapecity.documents.excel">RangeEventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getSheetChangeEvent</span>()</div>
<div class="block">Occurs when something changes in the cells of a sheet.
 <pre><code data-language="Java">
 final IRange[] rangeFromEvent = {null};
 Event&lt;EventHandler&lt;RangeEventArgs&gt;&gt; sheetChangeEvent = workbook.getSheetChangeEvent();
 sheetChangeEvent.addListener(new EventHandler&lt;RangeEventArgs&gt;() {
     public void invoke(Object sender, RangeEventArgs e) {
         rangeFromEvent[0] = e.getRange();
     }
 });
 workbook.getActiveSheet().getRange("A1").setValue("Updated");
 IRange changedRange = rangeFromEvent[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSheetChangeEvent()">getSheetChangeEvent</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs when something changes in the cells of a sheet.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSheetDeactivateEvent()">
<h3>getSheetDeactivateEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="SheetEventArgs.html" title="class in com.grapecity.documents.excel">SheetEventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getSheetDeactivateEvent</span>()</div>
<div class="block">Occurs when a sheet is deactivated.
 <pre><code data-language="Java">
 IWorksheet summarySheet = workbook.getWorksheets().add();
 final IWorksheet[] sheetFromEvent = {null};
 Event&lt;EventHandler&lt;SheetEventArgs&gt;&gt; sheetDeactivateEvent = workbook.getSheetDeactivateEvent();
 sheetDeactivateEvent.addListener(new EventHandler&lt;SheetEventArgs&gt;() {
     public void invoke(Object sender, SheetEventArgs e) {
         sheetFromEvent[0] = e.getSheet();
     }
 });
 summarySheet.activate();
 IWorksheet deactivatedSheet = sheetFromEvent[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSheetDeactivateEvent()">getSheetDeactivateEvent</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs when a sheet is deactivated.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSheetSelectionChange()">
<h3>getSheetSelectionChange</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Event.html" title="class in com.grapecity.documents.excel">Event</a>&lt;<a href="EventHandler.html" title="interface in com.grapecity.documents.excel">EventHandler</a>&lt;<a href="RangeEventArgs.html" title="class in com.grapecity.documents.excel">RangeEventArgs</a>&gt;&gt;</span>&nbsp;<span class="element-name">getSheetSelectionChange</span>()</div>
<div class="block">Occurs when the selection changes on a sheet.
 <pre><code data-language="Java">
 final IRange[] rangeFromEvent = {null};
 Event&lt;EventHandler&lt;RangeEventArgs&gt;&gt; sheetSelectionChangeEvent = workbook.getSheetSelectionChange();
 sheetSelectionChangeEvent.addListener(new EventHandler&lt;RangeEventArgs&gt;() {
     public void invoke(Object sender, RangeEventArgs e) {
         rangeFromEvent[0] = e.getRange();
     }
 });
 workbook.getActiveSheet().getRange("B2").select();
 IRange selectedRange = rangeFromEvent[0];
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSheetSelectionChange()">getSheetSelectionChange</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The event that occurs when the selection changes on a sheet.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getOptions()">
<h3>getOptions</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IExcelOptions.html" title="interface in com.grapecity.documents.excel">IExcelOptions</a></span>&nbsp;<span class="element-name">getOptions</span>()</div>
<div class="block">Gets the workbook options. <p>Returns the  <a href="IExcelOptions.html" title="interface in com.grapecity.documents.excel"><code>IExcelOptions</code></a> object that contains settings used to control workbook behavior, such as formula-related options and data-related options.</p>
<pre><code data-language="Java">
 IExcelOptions options = workbook.getOptions();
 workbook.getActiveSheet().getRange("A1").setFormula("SUM(1, 2)");
 options.getFormulas().setCalculationMode(CalculationMode.Manual);
 workbook.save("path/to/manual-mode.xlsx");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getOptions()">getOptions</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="IExcelOptions.html" title="interface in com.grapecity.documents.excel"><code>IExcelOptions</code></a> object that contains workbook option settings.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBuiltInDocumentProperties()">
<h3>getBuiltInDocumentProperties</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IBuiltInDocumentPropertyCollection.html" title="interface in com.grapecity.documents.excel">IBuiltInDocumentPropertyCollection</a></span>&nbsp;<span class="element-name">getBuiltInDocumentProperties</span>()</div>
<div class="block">Gets the collection of built-in document properties in the workbook. <p>The returned  <a href="IBuiltInDocumentPropertyCollection.html" title="interface in com.grapecity.documents.excel"><code>IBuiltInDocumentPropertyCollection</code></a> provides access to built-in metadata such as author, title, subject, company, and other standard  document properties.</p>
<pre><code data-language="Java">
 workbook.getBuiltInDocumentProperties().setAuthor("Beryl");
 workbook.getBuiltInDocumentProperties().setCompany("Example");
 IBuiltInDocumentPropertyCollection properties = workbook.getBuiltInDocumentProperties();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getBuiltInDocumentProperties()">getBuiltInDocumentProperties</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The collection that represents all built-in document properties of the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCustomDocumentProperties()">
<h3>getCustomDocumentProperties</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ICustomDocumentPropertyCollection.html" title="interface in com.grapecity.documents.excel">ICustomDocumentPropertyCollection</a></span>&nbsp;<span class="element-name">getCustomDocumentProperties</span>()</div>
<div class="block">Gets the collection of custom document properties in the workbook. <p>Use the returned  <a href="ICustomDocumentPropertyCollection.html" title="interface in com.grapecity.documents.excel"><code>ICustomDocumentPropertyCollection</code></a> to add, remove, and retrieve workbook metadata defined by the application, such as string,  numeric, Boolean, date, or linked-content properties.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Quarterly Report");
 workbook.getNames().add("ReportTitle", "=Sheet1!$A$1");
 ICustomDocumentPropertyCollection properties = workbook.getCustomDocumentProperties();
 properties.add("Department", "Finance");
 properties.addLinkToContent("TitleProperty", "ReportTitle");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getCustomDocumentProperties()">getCustomDocumentProperties</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The collection that represents all custom document properties of the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCustomXmlParts()">
<h3>getCustomXmlParts</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ICustomXmlPartCollection.html" title="interface in com.grapecity.documents.excel">ICustomXmlPartCollection</a></span>&nbsp;<span class="element-name">getCustomXmlParts</span>()</div>
<div class="block">Gets the collection of Custom XML parts in the workbook. <p>Use the returned  <a href="ICustomXmlPartCollection.html" title="interface in com.grapecity.documents.excel"><code>ICustomXmlPartCollection</code></a> to add, retrieve, enumerate, or remove workbook-level Custom XML parts. Custom XML parts are stored in the OpenXML package as raw XML  payloads and are preserved when saving to OpenXML workbook formats such as XLSX and XLSM.</p> <p>This API stores and returns the XML bytes only. It does not validate the XML against a schema.</p>
<pre><code data-language="Java">
 Workbook workbook = new Workbook();
 ICustomXmlPart customXmlPart = workbook.getCustomXmlParts().add();
 customXmlPart.setData("&lt;payload&gt;&lt;customer id=\"42\"/&gt;&lt;/payload&gt;"
         .getBytes(java.nio.charset.StandardCharsets.UTF_8));
 String customXmlPartId = customXmlPart.getId();
 workbook.save("customXmlWorkbook.xlsm");

 Workbook uploadedWorkbook = new Workbook();
 uploadedWorkbook.open("customXmlWorkbook.xlsm");
 ICustomXmlPart uploadedPart = uploadedWorkbook.getCustomXmlParts().get(customXmlPartId);
 byte[] uploadedXmlData = uploadedPart.getData();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getCustomXmlParts()">getCustomXmlParts</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The collection that represents all Custom XML parts in the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCustomViews()">
<h3>getCustomViews</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ICustomViews.html" title="interface in com.grapecity.documents.excel">ICustomViews</a></span>&nbsp;<span class="element-name">getCustomViews</span>()</div>
<div class="block">Gets the custom views of the workbook. <p>The returned  <a href="ICustomViews.html" title="interface in com.grapecity.documents.excel"><code>ICustomViews</code></a> collection contains the custom views stored in the workbook. Each custom view is represented by an  <a href="ICustomView.html" title="interface in com.grapecity.documents.excel"><code>ICustomView</code></a> object and stores the view state of all worksheets in the current workbook.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Name");
 ICustomViews customViews = workbook.getCustomViews();
 customViews.add("Normal", true, true);
 ICustomView customView = workbook.getCustomViews().get("Normal");
 customView.show();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getCustomViews()">getCustomViews</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="ICustomViews.html" title="interface in com.grapecity.documents.excel"><code>ICustomViews</code></a> collection that contains the workbook's custom views.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getWriteProtection()">
<h3>getWriteProtection</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="WriteProtection.html" title="class in com.grapecity.documents.excel">WriteProtection</a></span>&nbsp;<span class="element-name">getWriteProtection</span>()</div>
<div class="block">Gets the workbook write protection options. <p>The returned  <a href="WriteProtection.html" title="class in com.grapecity.documents.excel"><code>WriteProtection</code></a> object provides access to settings that control write protection behavior when the workbook is opened in an Excel application, such as  recommending read-only mode and setting a password required for modification.</p>
<pre><code data-language="Java">
 WriteProtection protection = workbook.getWriteProtection();
 protection.setWriteReservedBy("Eric");
 protection.setReadOnlyRecommended(true);
 // Get the password from user input via getPasswordFromSecureSource().
 String password = getPasswordFromSecureSource();
 protection.setWritePassword(password);
 boolean writeReserved = protection.getWriteReserved();
 boolean passwordMatches = protection.validatePassword(password);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getWriteProtection()">getWriteProtection</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="WriteProtection.html" title="class in com.grapecity.documents.excel"><code>WriteProtection</code></a> object for the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSignatures()">
<h3>getSignatures</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ISignatureSet.html" title="interface in com.grapecity.documents.excel">ISignatureSet</a></span>&nbsp;<span class="element-name">getSignatures</span>()</div>
<div class="block">Gets the collection of digital signatures attached to the workbook. <p>The returned  <a href="ISignatureSet.html" title="interface in com.grapecity.documents.excel"><code>ISignatureSet</code></a> provides access to the signatures in the document, including signature lines and non-visible signatures.</p>
<pre><code data-language="Java">
 workbook.getSignatures().addSignatureLine(worksheet, 100.0, 50.0);
 ISignatureSet signatures = workbook.getSignatures();
 ISignature signature = signatures.get(0);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSignatures()">getSignatures</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The collection of digital signatures attached to the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTagJsonSerializer()">
<h3>getTagJsonSerializer</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel">IJsonSerializer</a></span>&nbsp;<span class="element-name">getTagJsonSerializer</span>()</div>
<div class="block">Gets the JSON serializer used for tag custom types in JSON import and export. <p>Use this method to retrieve the serializer previously assigned through  <a href="#setTagJsonSerializer(com.grapecity.documents.excel.IJsonSerializer)"><code>setTagJsonSerializer(IJsonSerializer)</code></a>. If no serializer has been set,  this method returns  <code>null</code>.</p>
<pre><code data-language="Java">
 class TagSerializer implements IJsonSerializer {
     public String serialize(Object value) {
         return "\"" + value.toString() + "\"";
     }

     public Object deserialize(String json) {
         return json.substring(1, json.length() - 1);
     }
 }

 IJsonSerializer serializer = new TagSerializer();
 Workbook.setTagJsonSerializer(serializer);
 IJsonSerializer currentSerializer = Workbook.getTagJsonSerializer();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The JSON serializer for tag custom types, or <code>null</code> if no serializer has been set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setTagJsonSerializer(com.grapecity.documents.excel.IJsonSerializer)">
<h3>setTagJsonSerializer</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setTagJsonSerializer</span><wbr><span class="parameters">(<a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel">IJsonSerializer</a>&nbsp;value)</span></div>
<div class="block">Sets the JSON serializer used for tag custom types in JSON import and export. <p>Use this method to register a custom  <a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel"><code>IJsonSerializer</code></a> for serializing and deserializing tag values when a workbook is converted to or from JSON.  Set this parameter to  <code>null</code> to clear the current serializer.</p>
<pre><code data-language="Java">
 class TagSerializer implements IJsonSerializer {
     public String serialize(Object value) {
         return "\"" + value.toString() + "\"";
     }

     public Object deserialize(String json) {
         return json.substring(1, json.length() - 1);
     }
 }

 IJsonSerializer serializer = new TagSerializer();
 Workbook.setTagJsonSerializer(serializer);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The JSON serializer for tag custom types. Specify <code>null</code> to remove the current serializer.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getValueJsonSerializer()">
<h3>getValueJsonSerializer</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel">IJsonSerializer</a></span>&nbsp;<span class="element-name">getValueJsonSerializer</span>()</div>
<div class="block">Gets the JSON serializer used for custom values in from/to JSON operations. <p>Use this method to retrieve the current serializer configured by  <a href="#setValueJsonSerializer(com.grapecity.documents.excel.IJsonSerializer)"><code>setValueJsonSerializer(IJsonSerializer)</code></a> for custom value types when a workbook is converted to or from JSON.</p>
<pre><code data-language="Java">
 class ValueWithUnit {
     public double amount;
     public String unit;
 }

 class ValueSerializer implements IJsonSerializer {
     public String serialize(Object value) {
         ValueWithUnit data = (ValueWithUnit) value;
         return "{\"amount\":" + data.amount + ",\"unit\":\"" + data.unit + "\"}";
     }

     public Object deserialize(String json) {
         JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
         ValueWithUnit data = new ValueWithUnit();
         data.amount = jsonObject.get("amount").getAsDouble();
         data.unit = jsonObject.get("unit").getAsString();
         return data;
     }
 }

 IJsonSerializer serializer = new ValueSerializer();
 Workbook.setValueJsonSerializer(serializer);
 IJsonSerializer currentSerializer = Workbook.getValueJsonSerializer();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The current JSON serializer for custom value types, or <code>null</code> if no custom serializer is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValueJsonSerializer(com.grapecity.documents.excel.IJsonSerializer)">
<h3>setValueJsonSerializer</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValueJsonSerializer</span><wbr><span class="parameters">(<a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel">IJsonSerializer</a>&nbsp;value)</span></div>
<div class="block">Sets the JSON serializer used for custom cell values in JSON import and export. <p>Use this method to register an  <a href="IJsonSerializer.html" title="interface in com.grapecity.documents.excel"><code>IJsonSerializer</code></a> that converts custom value objects when the workbook is converted to or from JSON. Set this parameter  to  <code>null</code> to clear the current custom value serializer.</p>
<pre><code data-language="Java">
 class ValueWithUnit {
     public double amount;
     public String unit;
 }

 class ValueSerializer implements IJsonSerializer {
     public String serialize(Object value) {
         ValueWithUnit data = (ValueWithUnit) value;
         return "{\"amount\":" + data.amount + ",\"unit\":\"" + data.unit + "\"}";
     }

     public Object deserialize(String json) {
         JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
         ValueWithUnit data = new ValueWithUnit();
         data.amount = jsonObject.get("amount").getAsDouble();
         data.unit = jsonObject.get("unit").getAsString();
         return data;
     }
 }

 IJsonSerializer serializer = new ValueSerializer();
 Workbook.setValueJsonSerializer(serializer);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The JSON serializer for custom cell values. <code>null</code> clears the current serializer.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAutoParse()">
<h3>getAutoParse</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getAutoParse</span>()</div>
<div class="block">Gets whether string values are automatically parsed when assigned to a range. <p>When this property is  <code>true</code>, string values assigned with  <a href="IRange.html#setValue(java.lang.Object)"><code>IRange.setValue(Object)</code></a> may be interpreted as numbers, date/time values, boolean values, error values, or empty cell values instead of being kept as plain text.</p>
<pre><code data-language="Java">
 workbook.setAutoParse(true);
 worksheet.getRange("A1").setValue("123");
 Object value = worksheet.getRange("A1").getValue();
 boolean autoParse = workbook.getAutoParse();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getAutoParse()">getAutoParse</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if string values are automatically parsed when assigned to a range; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setAutoParse(boolean)">
<h3>setAutoParse</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setAutoParse</span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block">Sets whether string values are automatically parsed when assigned to a range. <p>When this property is  <code>true</code>, string values assigned with  <a href="IRange.html#setValue(java.lang.Object)"><code>IRange.setValue(Object)</code></a> may be interpreted as numbers, date/time values, boolean values, error values, or empty cell values instead of being kept as plain text.</p>
<pre><code data-language="Java">
 workbook.setAutoParse(true);
 worksheet.getRange("A1").setValue("123");
 Object value = worksheet.getRange("A1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setAutoParse(boolean)">setAutoParse</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - <code>true</code> if string values are automatically parsed when assigned to a range; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAutoRoundValue()">
<h3>getAutoRoundValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getAutoRoundValue</span>()</div>
<div class="block">Gets whether numeric values are rounded to 15 significant digits when they are retrieved. <p>Use this property to determine whether the workbook applies automatic rounding  when reading numeric cell values.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue(1.2345678901234567d);
 workbook.setAutoRoundValue(true);
 boolean autoRoundValue = workbook.getAutoRoundValue();
 Object value = worksheet.getRange("A1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getAutoRoundValue()">getAutoRoundValue</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if numeric values are rounded to 15 significant digits when retrieved; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setAutoRoundValue(boolean)">
<h3>setAutoRoundValue</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setAutoRoundValue</span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block">Sets whether numeric values are rounded to 15 significant digits when they are retrieved. <p>Use this property to set whether the workbook applies automatic rounding when reading numeric cell values.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue(1.2345678901234567d);
 workbook.setAutoRoundValue(true);
 Object value = worksheet.getRange("A1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setAutoRoundValue(boolean)">setAutoRoundValue</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - <code>true</code> if numeric values are rounded to 15 significant digits when retrieved; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getBookView()">
<h3>getBookView</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IWorkbookView.html" title="interface in com.grapecity.documents.excel">IWorkbookView</a></span>&nbsp;<span class="element-name">getBookView</span>()</div>
<div class="block">Gets the view settings of this workbook. <p>Use the returned  <a href="IWorkbookView.html" title="interface in com.grapecity.documents.excel"><code>IWorkbookView</code></a> object to configure workbook-level display options such as workbook tabs, scroll bars, and tab ratio.</p>
<pre><code data-language="Java">
 IWorkbookView bookView = workbook.getBookView();
 bookView.setDisplayWorkbookTabs(true);
 bookView.setDisplayVerticalScrollBar(false);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getBookView()">getBookView</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="IWorkbookView.html" title="interface in com.grapecity.documents.excel"><code>IWorkbookView</code></a> object that represents the view settings of this workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getProtectStructure()">
<h3>getProtectStructure</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getProtectStructure</span>()</div>
<div class="block">Gets a value indicating whether the workbook structure is protected. <p>When the workbook structure is protected, the order of worksheets cannot be changed  until the protection is removed by using  <a href="#unprotect()"><code>unprotect()</code></a>.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Quarterly Report");
 workbook.protect(true);
 boolean protectStructure = workbook.getProtectStructure();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getProtectStructure()">getProtectStructure</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if the order of the sheets in the workbook is protected; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getProtectWindows()">
<h3>getProtectWindows</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getProtectWindows</span>()</div>
<div class="block">Gets a value indicating whether the workbook windows are protected. <p>This property reflects the workbook window protection state set by  <a href="#protect(boolean,boolean)"><code>protect(boolean,boolean)</code></a>. When workbook windows are protected,  the window layout cannot be modified until the protection is removed.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Quarterly Report");
 workbook.protect(true, true);
 boolean protectWindows = workbook.getProtectWindows();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getProtectWindows()">getProtectWindows</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if the workbook windows are protected; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getReferenceStyle()">
<h3>getReferenceStyle</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ReferenceStyle.html" title="enum class in com.grapecity.documents.excel">ReferenceStyle</a></span>&nbsp;<span class="element-name">getReferenceStyle</span>()</div>
<div class="block">Gets the reference style used by the workbook. <p>The reference style determines how cell references are represented in formulas  and addresses, such as  <a href="ReferenceStyle.html#A1"><code>ReferenceStyle.A1</code></a> style references like <code>A1</code> or <a href="ReferenceStyle.html#R1C1"><code>ReferenceStyle.R1C1</code></a> style references like <code>R1C1</code>.</p>
<pre><code data-language="Java">
 worksheet.getRange("B1").setValue(100);
 worksheet.getRange("C1").setValue(200);
 workbook.setReferenceStyle(ReferenceStyle.R1C1);
 ReferenceStyle style = workbook.getReferenceStyle();
 worksheet.getRange("A1").setFormula("=RC[1]+RC[2]");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getReferenceStyle()">getReferenceStyle</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The current reference style. The returned value is <a href="ReferenceStyle.html#A1"><code>ReferenceStyle.A1</code></a> or <a href="ReferenceStyle.html#R1C1"><code>ReferenceStyle.R1C1</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setReferenceStyle(com.grapecity.documents.excel.ReferenceStyle)">
<h3>setReferenceStyle</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setReferenceStyle</span><wbr><span class="parameters">(<a href="ReferenceStyle.html" title="enum class in com.grapecity.documents.excel">ReferenceStyle</a>&nbsp;value)</span></div>
<div class="block">Sets the reference style used for cell references in the workbook. <p>Use this method to switch between  <a href="ReferenceStyle.html#A1"><code>ReferenceStyle.A1</code></a> references such as <code>A1</code> and <a href="ReferenceStyle.html#R1C1"><code>ReferenceStyle.R1C1</code></a> references such as <code>R1C1</code> or <code>R[0]C[1]</code>.</p>
<pre><code data-language="Java">
 worksheet.getRange("B1").setValue(100);
 worksheet.getRange("C1").setValue(200);
 workbook.setReferenceStyle(ReferenceStyle.R1C1);
 worksheet.getRange("A1").setFormula("=RC[1]+RC[2]");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setReferenceStyle(com.grapecity.documents.excel.ReferenceStyle)">setReferenceStyle</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The reference style to use for cell references. Use <a href="ReferenceStyle.html#A1"><code>ReferenceStyle.A1</code></a> for A1-style references or <a href="ReferenceStyle.html#R1C1"><code>ReferenceStyle.R1C1</code></a> for R1C1-style references. If <code>null</code>,  A1-style references are used.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getWorksheets()">
<h3>getWorksheets</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IWorksheets.html" title="interface in com.grapecity.documents.excel">IWorksheets</a></span>&nbsp;<span class="element-name">getWorksheets</span>()</div>
<div class="block">Gets the  <a href="IWorksheets.html" title="interface in com.grapecity.documents.excel"><code>IWorksheets</code></a> collection that represents all worksheets in the workbook.<p>This method returns the workbook-level worksheets collection. Use the  returned collection to access worksheets by index or name, and to manage  worksheets in the workbook.</p>
<pre><code data-language="Java">
 worksheet.setName("Summary");
 IWorksheets sheets = workbook.getWorksheets();
 IWorksheet firstSheet = sheets.get(0);
 IWorksheet summarySheet = sheets.get("Summary");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getWorksheets()">getWorksheets</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="IWorksheets.html" title="interface in com.grapecity.documents.excel"><code>IWorksheets</code></a> collection that represents all worksheets in the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSheetTabs()">
<h3>getSheetTabs</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ISheetTabs.html" title="interface in com.grapecity.documents.excel">ISheetTabs</a></span>&nbsp;<span class="element-name">getSheetTabs</span>()</div>
<div class="block">Gets the collection of sheet tabs contained in the workbook. <p>Use the returned  <a href="ISheetTabs.html" title="interface in com.grapecity.documents.excel"><code>ISheetTabs</code></a> object to access sheet tab information such as the number of tabs or a specific tab by index or name.</p>
<pre><code data-language="Java">
 workbook.open("import.sjs");
 ISheetTabs sheetTabs = workbook.getSheetTabs();
 if (sheetTabs.getCount() &gt; 0) {
     ISheetTab firstTab = sheetTabs.get(0);
     String tabName = firstTab.getName();
 }
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSheetTabs()">getSheetTabs</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>An <a href="ISheetTabs.html" title="interface in com.grapecity.documents.excel"><code>ISheetTabs</code></a> object that represents the sheet tabs in the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getActiveSheet()">
<h3>getActiveSheet</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a></span>&nbsp;<span class="element-name">getActiveSheet</span>()</div>
<div class="block">Gets the active worksheet in the workbook. <p>Returns the worksheet that is currently active in the workbook.  Returns  <code>null</code> if no worksheet is active.</p>
<pre><code data-language="Java">
 IWorksheet detailSheet = workbook.getWorksheets().add();
 detailSheet.activate();
 IWorksheet activeSheet = workbook.getActiveSheet();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getActiveSheet()">getActiveSheet</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The active <a href="IWorksheet.html" title="interface in com.grapecity.documents.excel"><code>IWorksheet</code></a>, or  <code>null</code> if no worksheet is active.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTheme()">
<h3>getTheme</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ITheme.html" title="interface in com.grapecity.documents.excel">ITheme</a></span>&nbsp;<span class="element-name">getTheme</span>()</div>
<div class="block">Gets the theme associated with the workbook. <p>Use this method to access the current  <a href="ITheme.html" title="interface in com.grapecity.documents.excel"><code>ITheme</code></a> applied to the workbook. The returned theme can be inspected or reused with  <a href="#setTheme(com.grapecity.documents.excel.ITheme)"><code>setTheme(ITheme)</code></a>.</p>
<pre><code data-language="Java">
 ITheme theme = Themes.GetFacet();
 workbook.setTheme(theme);
 String themeName = theme.getName();
 ITheme currentTheme = workbook.getTheme();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getTheme()">getTheme</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="ITheme.html" title="interface in com.grapecity.documents.excel"><code>ITheme</code></a> instance associated with the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setTheme(com.grapecity.documents.excel.ITheme)">
<h3>setTheme</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setTheme</span><wbr><span class="parameters">(<a href="ITheme.html" title="interface in com.grapecity.documents.excel">ITheme</a>&nbsp;value)</span></div>
<div class="block">Sets the theme applied to the current workbook. <p>The specified theme becomes the workbook's active theme and is used to update  theme-based formatting in the workbook.</p>
<pre><code data-language="Java">
 ITheme theme = Themes.GetFacet();
 workbook.setTheme(theme);
 String themeName = theme.getName();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setTheme(com.grapecity.documents.excel.ITheme)">setTheme</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The theme to apply to the workbook. Must not be <code>null</code>.</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</a></code> - if <code>value</code> is <code>null</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIconSets()">
<h3>getIconSets</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IIconSets.html" title="interface in com.grapecity.documents.excel">IIconSets</a></span>&nbsp;<span class="element-name">getIconSets</span>()</div>
<div class="block">Gets the collection of icon sets available in the workbook. <p>The returned  <a href="IIconSets.html" title="interface in com.grapecity.documents.excel"><code>IIconSets</code></a> object can be used to retrieve built-in icon sets for icon set conditional formatting and icon-based filtering.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:A3").setValue(new Object[][] {
     {"Score"},
     {30},
     {90}
 });
 IIconSetCondition condition = worksheet.getRange("A2:A3").getFormatConditions().addIconSetCondition();
 condition.setIconSet(workbook.getIconSets().get(IconSetType.Icon3TrafficLights1));
 IIconSets iconSets = workbook.getIconSets();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getIconSets()">getIconSets</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The collection of icon sets available in the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDefaultTableStyle()">
<h3>getDefaultTableStyle</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getDefaultTableStyle</span>()</div>
<div class="block">Gets the table style name applied by default to newly created tables in the workbook. <p>Use this method to retrieve the table style name that new tables use by default in the workbook.</p>
<pre><code data-language="Java">
 workbook.setDefaultTableStyle("TableStyleMedium3");
 worksheet.getRange("A1:B2").setValue(new Object[][]{
         {"Product", "Sales"},
         {"Tablet", 1200}
 });
 ITable table = worksheet.getTables().add(worksheet.getRange("A1:B2"), true);
 ITableStyle tableStyle = table.getTableStyle();
 String tableStyleName = tableStyle.getName();
 String defaultTableStyle = workbook.getDefaultTableStyle();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getDefaultTableStyle()">getDefaultTableStyle</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The name of the default table style.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setDefaultTableStyle(java.lang.String)">
<h3>setDefaultTableStyle</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setDefaultTableStyle</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;value)</span></div>
<div class="block">Sets the table style name applied by default to newly created tables in the workbook. <p>Use this method to set the table style name that new tables use by default in the workbook.</p>
<pre><code data-language="Java">
 workbook.setDefaultTableStyle("TableStyleMedium3");
 worksheet.getRange("A1:B2").setValue(new Object[][]{
         {"Product", "Sales"},
         {"Tablet", 1200}
 });
 ITable table = worksheet.getTables().add(worksheet.getRange("A1:B2"), true);
 ITableStyle tableStyle = table.getTableStyle();
 String tableStyleName = tableStyle.getName();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setDefaultTableStyle(java.lang.String)">setDefaultTableStyle</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The name of the default table style.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCulture()">
<h3>getCulture</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html" title="class or interface in java.util">Locale</a></span>&nbsp;<span class="element-name">getCulture</span>()</div>
<div class="block">Gets the culture information of the workbook. <p>The returned culture affects culture-related features such as localized  formatting and formula behavior. If no culture has been explicitly set,  the default value is  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html#getDefault()" title="class or interface in java.util"><code>Locale.getDefault()</code></a>.</p>
<pre><code data-language="Java">
 workbook.setCulture(Locale.US);
 worksheet.getRange("A1").setValue(43245.5922);
 worksheet.getRange("A1").setNumberFormat("[$-x-sysdate]dddd, mmmm dd, yyyy");
 String text = worksheet.getRange("A1").getText();
 Locale culture = workbook.getCulture();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getCulture()">getCulture</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The culture information of the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setCulture(java.util.Locale)">
<h3>setCulture</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setCulture</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html" title="class or interface in java.util">Locale</a>&nbsp;value)</span></div>
<div class="block">Sets the culture for the workbook. <p>This setting affects culture-sensitive features such as localized  formulas and culture-dependent date and time formats.</p> <p>The locale should include both language and country or region, such as  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html#CHINA" title="class or interface in java.util"><code>Locale.CHINA</code></a>,  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html#KOREA" title="class or interface in java.util"><code>Locale.KOREA</code></a>, or  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html#US" title="class or interface in java.util"><code>Locale.US</code></a>.</p>
<pre><code data-language="Java">
 workbook.setCulture(Locale.US);
 worksheet.getRange("A1").setValue(43245.5922);
 worksheet.getRange("A1").setNumberFormat("[$-x-sysdate]dddd, mmmm dd, yyyy");
 String text = worksheet.getRange("A1").getText();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setCulture(java.util.Locale)">setCulture</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The locale to apply to the workbook. Use a locale that includes both language and country or region.</dd>
<dt>API Note:</dt>
<dd>The culture is init-only. It must be set in the initialization code of the workbook instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getEnableCalculation()">
<h3>getEnableCalculation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getEnableCalculation</span>()</div>
<div class="block">Gets whether the calculation engine is enabled for the workbook. <p>When this property is  <code>false</code>, formulas in the current workbook are no longer  recalculated. If formula results are retrieved while calculation is disabled, the last  calculated results from before calculation was disabled are returned.</p> <p>This property is intended for large batch updates of values or formulas when updated  calculation results are not needed until the batch is complete. Set this property to  <code>false</code> before the batch to improve performance, and set it back to <code>true</code> when you need to calculate the workbook again.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue(1);
 worksheet.getRange("B1").setFormula("=A1*2");
 workbook.calculate();
 workbook.setEnableCalculation(false);
 worksheet.getRange("A1").setValue(10);
 workbook.calculate();
 Object value = worksheet.getRange("B1").getValue();
 boolean enabled = workbook.getEnableCalculation();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getEnableCalculation()">getEnableCalculation</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if the calculation engine is enabled; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setEnableCalculation(boolean)">
<h3>setEnableCalculation</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setEnableCalculation</span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block">Sets whether the calculation engine is enabled for the workbook. <p>When this property is  <code>false</code>, formulas in the current workbook are no longer  recalculated. If formula results are retrieved while calculation is disabled, the last  calculated results from before calculation was disabled are returned.</p> <p>This property is intended for large batch updates of values or formulas when updated  calculation results are not needed until the batch is complete. Set this property to  <code>false</code> before the batch to improve performance, and set it back to <code>true</code> when you need to calculate the workbook again.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue(1);
 worksheet.getRange("B1").setFormula("=A1*2");
 workbook.calculate();
 workbook.setEnableCalculation(false);
 worksheet.getRange("A1").setValue(10);
 workbook.calculate();
 Object value = worksheet.getRange("B1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setEnableCalculation(boolean)">setEnableCalculation</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - <code>true</code> if the calculation engine is enabled; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="AddCustomFunction(com.grapecity.documents.excel.CustomFunction)">
<h3>AddCustomFunction</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">AddCustomFunction</span><wbr><span class="parameters">(<a href="CustomFunction.html" title="class in com.grapecity.documents.excel">CustomFunction</a>&nbsp;func)</span></div>
<div class="block">Add custom function into the function set.
 <pre><code data-language="Java">
 class MyAddFunction extends CustomFunction {
     public MyAddFunction() {
         super("WORKBOOK_API_MYADD", FunctionValueType.Number, new Parameter[] {
             new Parameter(FunctionValueType.Number, 0d),
             new Parameter(FunctionValueType.Number, 0d)
         });
     }

     @Override
     public Object evaluate(Object[] arguments, ICalcContext context) {
         return (double) arguments[0] + (double) arguments[1];
     }
 }

 Workbook.AddCustomFunction(new MyAddFunction());
 worksheet.getRange("A1").setFormula("=WORKBOOK_API_MYADD(1,2)");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>func</code> - the custom function instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="AddCustomFunction(com.grapecity.documents.excel.CustomFunction,boolean)">
<h3>AddCustomFunction</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">AddCustomFunction</span><wbr><span class="parameters">(<a href="CustomFunction.html" title="class in com.grapecity.documents.excel">CustomFunction</a>&nbsp;func,
 boolean&nbsp;canOverride)</span></div>
<div class="block">Add custom function into the function set.
 <pre><code data-language="Java">
 class MyAddFunction extends CustomFunction {
     public MyAddFunction() {
         super("MYADD_OVERRIDE", FunctionValueType.Number, new Parameter[] {
             new Parameter(FunctionValueType.Number, 0d),
             new Parameter(FunctionValueType.Number, 0d)
         });
     }

     @Override
     public Object evaluate(Object[] arguments, ICalcContext context) {
         return (double) arguments[0] + (double) arguments[1];
     }
 }

 Workbook.AddCustomFunction(new MyAddFunction(), true);
 worksheet.getRange("A1").setFormula("=MYADD_OVERRIDE(1,2)");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>func</code> - the custom function instance.</dd>
<dd><code>canOverride</code> - override the exist function.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPivotCaches()">
<h3>getPivotCaches</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IPivotCaches.html" title="interface in com.grapecity.documents.excel">IPivotCaches</a></span>&nbsp;<span class="element-name">getPivotCaches</span>()</div>
<div class="block">Gets the  <a href="IPivotCaches.html" title="interface in com.grapecity.documents.excel"><code>IPivotCaches</code></a> collection that contains all <a href="IPivotTable.html" title="interface in com.grapecity.documents.excel"><code>IPivotTable</code></a> caches in the workbook.<p>Use this method to access existing PivotTable caches or create a new cache from source data before adding a PivotTable.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Product", "Sales"},
     {"Apple", 100},
     {"Pear", 200},
     {"Orange", 150}
 });
 IPivotCaches pivotCaches = workbook.getPivotCaches();
 IPivotCache pivotCache = pivotCaches.create(worksheet.getRange("A1:B4"));
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getPivotCaches()">getPivotCaches</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="IPivotCaches.html" title="interface in com.grapecity.documents.excel"><code>IPivotCaches</code></a> collection for the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSlicerCaches()">
<h3>getSlicerCaches</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ISlicerCaches.html" title="interface in com.grapecity.documents.excel">ISlicerCaches</a></span>&nbsp;<span class="element-name">getSlicerCaches</span>()</div>
<div class="block">Gets the  <a href="ISlicerCaches.html" title="interface in com.grapecity.documents.excel"><code>ISlicerCaches</code></a> collection associated with the workbook.<p>Use this collection to access existing slicer caches in the workbook or to add new ones for supported data sources such as tables and PivotTables.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B3").setValue(new Object[][]{
     {"Category", "Amount"},
     {"Fruit", 100},
     {"Vegetable", 200}
 });
 ITable table = worksheet.getTables().add(worksheet.getRange("A1:B3"), true);
 ISlicerCaches slicerCaches = workbook.getSlicerCaches();
 ISlicerCache slicerCache = slicerCaches.add(table, "Category");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSlicerCaches()">getSlicerCaches</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="ISlicerCaches.html" title="interface in com.grapecity.documents.excel"><code>ISlicerCaches</code></a> collection associated with the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getUsedFonts()">
<h3>getUsedFonts</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="FontInfo.html" title="class in com.grapecity.documents.excel">FontInfo</a>&gt;</span>&nbsp;<span class="element-name">getUsedFonts</span>()</div>
<div class="block">Gets all font information used in the workbook. <p>This method returns a collection of  <a href="FontInfo.html" title="class in com.grapecity.documents.excel"><code>FontInfo</code></a> objects that describe the fonts currently used by workbook content and styles.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Title");
 worksheet.getRange("A1").getFont().setName("Wide Latin");
 worksheet.getRange("B1").setValue("Body");
 worksheet.getRange("B1").getFont().setName("Calibri");
 List&lt;FontInfo&gt; fonts = workbook.getUsedFonts();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getUsedFonts()">getUsedFonts</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>A list of <a href="FontInfo.html" title="class in com.grapecity.documents.excel"><code>FontInfo</code></a> objects that represent the fonts used in the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="calculate()">
<h3>calculate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">calculate</span>()</div>
<div class="block">Calculates formulas in the workbook as needed.
 <pre><code data-language="Java">
 worksheet.getRange("A1").setValue(100);
 worksheet.getRange("B1").setFormula("=A1*2");
 workbook.calculate();
 Object value = worksheet.getRange("B1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#calculate()">calculate</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="dirty()">
<h3>dirty</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">dirty</span>()</div>
<div class="block">Marks all formulas in the workbook as dirty so they are recalculated the next time calculation runs. <p>After calling this method, invoke  <a href="#calculate()"><code>calculate()</code></a>, or retrieve formula results  while calculation is enabled, to trigger recalculation.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue(1);
 worksheet.getRange("A2").setFormula("=A1*2");
 workbook.dirty();
 workbook.calculate();
 Object value = worksheet.getRange("A2").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#dirty()">dirty</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getStyles()">
<h3>getStyles</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IStyleCollection.html" title="interface in com.grapecity.documents.excel">IStyleCollection</a></span>&nbsp;<span class="element-name">getStyles</span>()</div>
<div class="block">Gets the collection of styles in the current workbook. <p>This method returns an  <a href="IStyleCollection.html" title="interface in com.grapecity.documents.excel"><code>IStyleCollection</code></a> that provides access to the built-in and custom styles available in the workbook.</p>
<pre><code data-language="Java">
 IStyleCollection styles = workbook.getStyles();
 IStyle style = styles.add("DataStyle");
 style.getFont().setBold(true);
 worksheet.getRange("A1").setStyle(style);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getStyles()">getStyles</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="IStyleCollection.html" title="interface in com.grapecity.documents.excel"><code>IStyleCollection</code></a> that represents all styles in the current workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTableStyles()">
<h3>getTableStyles</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="ITableStyleCollection.html" title="interface in com.grapecity.documents.excel">ITableStyleCollection</a></span>&nbsp;<span class="element-name">getTableStyles</span>()</div>
<div class="block">Gets the  <a href="ITableStyleCollection.html" title="interface in com.grapecity.documents.excel"><code>ITableStyleCollection</code></a> for the current workbook.<p>This collection contains the table styles available in the workbook,  including built-in styles and any custom table styles added to it.</p>
<pre><code data-language="Java">
 ITableStyleCollection tableStyles = workbook.getTableStyles();
 ITableStyle customStyle = tableStyles.add("SalesStyle");
 ITableStyle builtInStyle = tableStyles.get("TableStyleMedium3");
 worksheet.getTables().add(worksheet.getRange("A1:B3"), true).setTableStyle(builtInStyle);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getTableStyles()">getTableStyles</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="ITableStyleCollection.html" title="interface in com.grapecity.documents.excel"><code>ITableStyleCollection</code></a> that represents the table styles in the current workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNames()">
<h3>getNames</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="INames.html" title="interface in com.grapecity.documents.excel">INames</a></span>&nbsp;<span class="element-name">getNames</span>()</div>
<div class="block">Gets the collection of workbook-defined names. <p>Use the returned  <a href="INames.html" title="interface in com.grapecity.documents.excel"><code>INames</code></a> collection to add, retrieve, and manage names defined at the workbook level.</p>
<pre><code data-language="Java">
 workbook.getNames().add("SalesTotal", "=Sheet1!$A$1:$A$3");
 INames names = workbook.getNames();
 IName name = names.get("SalesTotal");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getNames()">getNames</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The <a href="INames.html" title="interface in com.grapecity.documents.excel"><code>INames</code></a> collection that represents the workbook-specified names.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAuthor()">
<h3>getAuthor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">getAuthor</span>()</div>
<div class="block">Gets the author of the workbook. <p>Use  <a href="#setAuthor(java.lang.String)"><code>setAuthor(String)</code></a> to assign the author metadata before retrieving it.</p>
<pre><code data-language="Java">
 workbook.setAuthor("Author");
 String author = workbook.getAuthor();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getAuthor()">getAuthor</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The author of the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setAuthor(java.lang.String)">
<h3>setAuthor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setAuthor</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;value)</span></div>
<div class="block">Sets the author of the workbook.
 <pre><code data-language="Java">
 workbook.setAuthor("Author");
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setAuthor(java.lang.String)">setAuthor</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The author of the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isEncryptedFile(java.lang.String)">
<h3>isEncryptedFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isEncryptedFile</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName)</span></div>
<div class="block">Determines whether the specified file is password protected. <p>Use this method to check whether a workbook file requires a password before  opening it. If the file is encrypted, open it with  <a href="#open(java.lang.String,java.lang.String)"><code>open(String,String)</code></a>.</p>
<pre><code data-language="Java">
 String fileName = java.nio.file.Paths.get("Users", "DefaultApps", "Documents", "EncryptedWorkbook.xlsx").toString();
 boolean isEncrypted = workbook.isEncryptedFile(fileName);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#isEncryptedFile(java.lang.String)">isEncryptedFile</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileName</code> - The name or path of the file to check. Must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if the specified file is password protected; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isEncryptedFile(java.io.InputStream)">
<h3>isEncryptedFile</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isEncryptedFile</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream)</span></div>
<div class="block">Determines whether the specified file stream is password protected. <p>Use this method before opening a workbook stream to decide whether a password  should be supplied to  <a href="#open(java.io.InputStream,java.lang.String)"><code>open(InputStream,String)</code></a>.</p>
<pre><code data-language="Java">
 boolean encrypted = workbook.isEncryptedFile(fileStream);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#isEncryptedFile(java.io.InputStream)">isEncryptedFile</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The input file stream to inspect.</dd>
<dt>Returns:</dt>
<dd><code>true</code> if the specified file stream is password protected; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toJson()">
<h3>toJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">toJson</span>()</div>
<div class="block">Generates a JSON string from the workbook. <p>Use this method to serialize the current workbook content to JSON.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 String json = workbook.toJson();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#toJson()">toJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The JSON string that represents the current workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toJson(com.grapecity.documents.excel.SerializationOptions)">
<h3>toJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">toJson</span><wbr><span class="parameters">(<a href="SerializationOptions.html" title="class in com.grapecity.documents.excel">SerializationOptions</a>&nbsp;serializationOptions)</span></div>
<div class="block">Generates a JSON string from the workbook using the specified serialization options. <p>Use  <a href="SerializationOptions.html" title="class in com.grapecity.documents.excel"><code>SerializationOptions</code></a> to control how workbook content is serialized, such as whether styles or formulas are included in the generated JSON.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 SerializationOptions options = new SerializationOptions();
 options.setIgnoreStyle(true);
 String json = workbook.toJson(options);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#toJson(com.grapecity.documents.excel.SerializationOptions)">toJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>serializationOptions</code> - The <a href="SerializationOptions.html" title="class in com.grapecity.documents.excel"><code>SerializationOptions</code></a> object that specifies how the workbook is serialized to JSON.</dd>
<dt>Returns:</dt>
<dd>The JSON string that represents the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toJson(java.io.OutputStream)">
<h3>toJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">toJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream)</span></div>
<div class="block">Generates a JSON stream from the workbook. <p>This method writes the workbook content to the specified output stream in JSON format.  The current implementation forwards to  <a href="#toJson(java.io.OutputStream,com.grapecity.documents.excel.SerializationOptions)"><code>toJson(OutputStream,SerializationOptions)</code></a> with <code>null</code> for the serialization options.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 workbook.toJson(outputStream);
 String json = new String(outputStream.toByteArray(), java.nio.charset.StandardCharsets.UTF_8);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#toJson(java.io.OutputStream)">toJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>stream</code> - The output stream that receives the generated JSON data.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toJson(java.io.OutputStream,com.grapecity.documents.excel.SerializationOptions)">
<h3>toJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">toJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a href="SerializationOptions.html" title="class in com.grapecity.documents.excel">SerializationOptions</a>&nbsp;serializationOptions)</span></div>
<div class="block">Generates a JSON stream from the workbook. <p>Use  <a href="SerializationOptions.html" title="class in com.grapecity.documents.excel"><code>SerializationOptions</code></a> to control how workbook content is serialized, such as whether styles or formulas are included in the generated JSON.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 SerializationOptions serializationOptions = new SerializationOptions();
 serializationOptions.setIgnoreStyle(true);
 workbook.toJson(stream, serializationOptions);
 String json = new String(stream.toByteArray(), java.nio.charset.StandardCharsets.UTF_8);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#toJson(java.io.OutputStream,com.grapecity.documents.excel.SerializationOptions)">toJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>stream</code> - The output stream that receives the generated JSON content.</dd>
<dd><code>serializationOptions</code> - The <a href="SerializationOptions.html" title="class in com.grapecity.documents.excel"><code>SerializationOptions</code></a> object that specifies how the workbook is serialized to JSON.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fromJson(java.lang.String)">
<h3>fromJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</span>&nbsp;<span class="element-name">fromJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;json)</span></div>
<div class="block">Loads workbook content from a SpreadJS JSON (SSJSON) string into this workbook. <p>The returned list contains any  <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects found during deserialization.</p>
<pre><code data-language="Java">
 String json = "{\"version\":\"7.0.0\",\"sheets\":{\"Sheet1\":{\"data\":{\"dataTable\":{\"0\":{\"0\":{\"value\":\"Name\"},\"1\":{\"value\":\"Test\"}}}}}}}";
 List&lt;JsonError&gt; errors = workbook.fromJson(json);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#fromJson(java.lang.String)">fromJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>json</code> - The SpreadJS JSON (SSJSON) string to load into this workbook. Must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects found during deserialization.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fromJson(java.lang.String,com.grapecity.documents.excel.DeserializationOptions)">
<h3>fromJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</span>&nbsp;<span class="element-name">fromJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;json,
 <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel">DeserializationOptions</a>&nbsp;deserializationOptions)</span></div>
<div class="block">Loads workbook content from a SpreadJS JSON (SSJSON) string into this workbook. <p>Use this method to control deserialization behavior with a  <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel"><code>DeserializationOptions</code></a> instance. The returned list contains any <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects found during deserialization.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Name");
 worksheet.getRange("B1").setValue("Test");
 String json = workbook.toJson();
 DeserializationOptions options = new DeserializationOptions();
 List&lt;JsonError&gt; errors = workbook.fromJson(json, options);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#fromJson(java.lang.String,com.grapecity.documents.excel.DeserializationOptions)">fromJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>json</code> - The SpreadJS JSON (SSJSON) string to load into this workbook. Must not be <code>null</code>.</dd>
<dd><code>deserializationOptions</code> - The <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel"><code>DeserializationOptions</code></a> object that controls how the JSON content is deserialized. If <code>null</code>, default deserialization options are used.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects found during deserialization.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fromJson(java.io.InputStream)">
<h3>fromJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</span>&nbsp;<span class="element-name">fromJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;stream)</span></div>
<div class="block">Loads workbook content from a SpreadJS JSON (SSJSON) stream into this workbook. <p>The returned list contains any  <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects found during deserialization.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Name");
 String json = workbook.toJson();
 DeserializationOptions options = new DeserializationOptions();
 options.setDoNotRecalculateAfterLoad(true);
 List&lt;JsonError&gt; errors = workbook.fromJson(
     new ByteArrayInputStream(json.getBytes())
 );
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#fromJson(java.io.InputStream)">fromJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>stream</code> - The input stream that provides the SpreadJS JSON (SSJSON) content to load. Must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects found during deserialization.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fromJson(java.io.InputStream,com.grapecity.documents.excel.DeserializationOptions)">
<h3>fromJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a href="JsonError.html" title="class in com.grapecity.documents.excel">JsonError</a>&gt;</span>&nbsp;<span class="element-name">fromJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;stream,
 <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel">DeserializationOptions</a>&nbsp;deserializationOptions)</span></div>
<div class="block">Loads workbook content from a SpreadJS JSON (SSJSON) stream into this workbook. <p>Use this method to control deserialization behavior with a  <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel"><code>DeserializationOptions</code></a> instance. The returned list contains any <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects found during deserialization.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Name");
 String json = workbook.toJson();
 DeserializationOptions options = new DeserializationOptions();
 options.setDoNotRecalculateAfterLoad(true);
 List&lt;JsonError&gt; errors = workbook.fromJson(
     new ByteArrayInputStream(json.getBytes()),
     options
 );
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#fromJson(java.io.InputStream,com.grapecity.documents.excel.DeserializationOptions)">fromJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>stream</code> - The input stream that provides the SpreadJS JSON (SSJSON) content to load. Must not be <code>null</code>.</dd>
<dd><code>deserializationOptions</code> - The <a href="DeserializationOptions.html" title="class in com.grapecity.documents.excel"><code>DeserializationOptions</code></a> object that controls how the JSON content is deserialized. If <code>null</code>, default deserialization options are used.</dd>
<dt>Returns:</dt>
<dd>A list of <a href="JsonError.html" title="class in com.grapecity.documents.excel"><code>JsonError</code></a> objects found during deserialization.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fromSjsJson(java.lang.String)">
<h3>fromSjsJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">fromSjsJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;json)</span></div>
<div class="block">Generates a workbook from a JSON string containing the contents of .sjs file format.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 String json = workbook.toSjsJson();
 workbook.fromSjsJson(json);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#fromSjsJson(java.lang.String)">fromSjsJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>json</code> - The JSON string.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fromSjsJson(java.lang.String,com.grapecity.documents.excel.SjsOpenOptions)">
<h3>fromSjsJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">fromSjsJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;json,
 <a href="SjsOpenOptions.html" title="class in com.grapecity.documents.excel">SjsOpenOptions</a>&nbsp;openOptions)</span></div>
<div class="block">Generates a workbook from a JSON string containing the contents of .sjs file format.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 String json = workbook.toSjsJson();
 SjsOpenOptions openOptions = new SjsOpenOptions();
 workbook.fromSjsJson(json, openOptions);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#fromSjsJson(java.lang.String,com.grapecity.documents.excel.SjsOpenOptions)">fromSjsJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>json</code> - The JSON string.</dd>
<dd><code>openOptions</code> - The open options for opening SpreadJS .sjs file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fromSjsJson(java.io.InputStream)">
<h3>fromSjsJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">fromSjsJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;stream)</span></div>
<div class="block">Generates a workbook from a JSON stream containing the contents of .sjs file format.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 String json = workbook.toSjsJson();
 workbook.fromSjsJson(new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)));
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#fromSjsJson(java.io.InputStream)">fromSjsJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>stream</code> - The JSON stream.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="waitForCalculationToFinish()">
<h3>waitForCalculationToFinish</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">waitForCalculationToFinish</span>()</div>
<div class="block">Waits for all calculations in the workbook to finish. <p>This method blocks the current thread until all pending calculations,  including asynchronous calculations, have completed. Call this method before  performing operations that depend on calculated results.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setFormula("=IMAGE(\"https://example.com/logo.jpg\")");
 workbook.calculate();
 workbook.waitForCalculationToFinish();
 CellPicture picture = worksheet.getRange("A1").getCellPicture();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#waitForCalculationToFinish()">waitForCalculationToFinish</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getWebRequestHandler()">
<h3>getWebRequestHandler</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel">IWebRequestHandler</a></span>&nbsp;<span class="element-name">getWebRequestHandler</span>()</div>
<div class="block">Gets the singleton  <a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel"><code>IWebRequestHandler</code></a> instance that is used to handle web requests.<p>This method provides centralized access to the application-level web request handler.  The returned handler is the same instance that was previously assigned by  <a href="#setWebRequestHandler(com.grapecity.documents.excel.IWebRequestHandler)"><code>setWebRequestHandler(IWebRequestHandler)</code></a>. It is used by workbook features that need  to retrieve remote content, such as the  <code>IMAGE()</code> function when the image source is a web URL.</p>
<pre><code data-language="Java">
 class WebHandler implements IWebRequestHandler {
     public CompletableFuture&lt;WebRequestResult&gt; getAsync(String requestUri) {
         return CompletableFuture.completedFuture(new WebRequestResult());
     }
 }

 IWebRequestHandler handler = new WebHandler();
 Workbook.setWebRequestHandler(handler);
 IWebRequestHandler currentHandler = Workbook.getWebRequestHandler();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The singleton <a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel"><code>IWebRequestHandler</code></a> instance, or <code>null</code> if no handler has been set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setWebRequestHandler(com.grapecity.documents.excel.IWebRequestHandler)">
<h3>setWebRequestHandler</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setWebRequestHandler</span><wbr><span class="parameters">(<a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel">IWebRequestHandler</a>&nbsp;webRequestHandler)</span></div>
<div class="block">Sets the global  <a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel"><code>IWebRequestHandler</code></a> instance that is used to handle web requests.<p>Use this method to register the application-level handler that workbook features use  when a web request handler is required. Typical scenarios include features that need to  retrieve remote content, such as the  <code>IMAGE()</code> function when the image source is a web URL. Pass  <code>null</code> to clear the current handler.</p>
<pre><code data-language="Java">
 class WebHandler implements IWebRequestHandler {
     public CompletableFuture&lt;WebRequestResult&gt; getAsync(String requestUri) {
         return CompletableFuture.completedFuture(new WebRequestResult());
     }
 }

 IWebRequestHandler handler = new WebHandler();
 Workbook.setWebRequestHandler(handler);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>webRequestHandler</code> - The <a href="IWebRequestHandler.html" title="interface in com.grapecity.documents.excel"><code>IWebRequestHandler</code></a> instance to use for web requests, or <code>null</code> to clear the current handler.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setAIModelRequestHandler(com.grapecity.documents.excel.IAIModelRequestHandler)">
<h3>setAIModelRequestHandler</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setAIModelRequestHandler</span><wbr><span class="parameters">(<a href="IAIModelRequestHandler.html" title="interface in com.grapecity.documents.excel">IAIModelRequestHandler</a>&nbsp;modelRequestHandler)</span></div>
<div class="block">Sets the global AI model request handler for processing AI-related operations.
 <pre><code data-language="Java">
 IAIModelRequestHandler handler = new IAIModelRequestHandler() {
     @Override
     public CompletableFuture&lt;AIModelResponse&gt; sendRequestAsync(AIModelRequest request) {
         return CompletableFuture.completedFuture(new AIModelResponse(true, "[[\"Accepted\"]]"));
     }
 };
 Workbook.setAIModelRequestHandler(handler);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>modelRequestHandler</code> - The handler to process AI model requests, or null to clear the current handler.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAIModelRequestHandler()">
<h3>getAIModelRequestHandler</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="IAIModelRequestHandler.html" title="interface in com.grapecity.documents.excel">IAIModelRequestHandler</a></span>&nbsp;<span class="element-name">getAIModelRequestHandler</span>()</div>
<div class="block">Gets the global AI model request handler for processing AI-related operations.
 <pre><code data-language="Java">
 IAIModelRequestHandler handler = new IAIModelRequestHandler() {
     @Override
     public CompletableFuture&lt;AIModelResponse&gt; sendRequestAsync(AIModelRequest request) {
         return CompletableFuture.completedFuture(new AIModelResponse(true, "[[\"Accepted\"]]"));
     }
 };
 Workbook.setAIModelRequestHandler(handler);
 IAIModelRequestHandler currentHandler = Workbook.getAIModelRequestHandler();
 </code></pre></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The handler to process AI model requests, or null if no handler is set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fromSjsJson(java.io.InputStream,com.grapecity.documents.excel.SjsOpenOptions)">
<h3>fromSjsJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">fromSjsJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;stream,
 <a href="SjsOpenOptions.html" title="class in com.grapecity.documents.excel">SjsOpenOptions</a>&nbsp;openOptions)</span></div>
<div class="block">Generates a workbook from a JSON stream containing the contents of .sjs file format.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 String json = workbook.toSjsJson();
 SjsOpenOptions openOptions = new SjsOpenOptions();
 workbook.fromSjsJson(
     new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)),
     openOptions
 );
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#fromSjsJson(java.io.InputStream,com.grapecity.documents.excel.SjsOpenOptions)">fromSjsJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>stream</code> - The JSON stream.</dd>
<dd><code>openOptions</code> - The open options for opening SpreadJS .sjs file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="protect()">
<h3>protect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">protect</span>()</div>
<div class="block">Protects the workbook structure without a password. <p>The default call protects the workbook structure with  <code>structure</code> set to <code>true</code> and leaves workbook window protection disabled because <code>windows</code> is <code>false</code>. This protection restricts workbook structure operations, such as  adding, moving, deleting, hiding, unhiding, or renaming worksheets, in supported  spreadsheet applications. It does not encrypt the workbook, provide content access  control, or prevent changes made through the object model before saving.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Quarterly Report");
 worksheet.setVisible(false);
 workbook.protect();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#protect()">protect</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="protect(boolean)">
<h3>protect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">protect</span><wbr><span class="parameters">(boolean&nbsp;structure)</span></div>
<div class="block">Protects a workbook so that it cannot be modified. <p>If  <code>structure</code> is <code>true</code>, workbook structure is protected to prevent  other users from viewing hidden worksheets, adding, moving, deleting, or hiding  worksheets, and renaming worksheets.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Quarterly Report");
 workbook.protect(true);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#protect(boolean)">protect</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>structure</code> - <code>true</code> to protect the workbook structure; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="protect(boolean,boolean)">
<h3>protect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">protect</span><wbr><span class="parameters">(boolean&nbsp;structure,
 boolean&nbsp;windows)</span></div>
<div class="block">Protects the workbook from modification based on the specified structure and window settings. <p>Set  <code>structure</code> to <code>true</code> to prevent users from viewing hidden worksheets, adding, moving, deleting, hiding, or renaming worksheets. Set  <code>windows</code> to <code>true</code> to prevent users from moving, resizing, or closing the workbook window, or hiding and unhiding windows. The window protection option is available only in Excel 2007, Excel 2010,  Excel for Mac 2011, and Excel 2016 for Mac.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Quarterly Report");
 workbook.protect(true, true);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#protect(boolean,boolean)">protect</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>structure</code> - <code>true</code> to protect the workbook structure; otherwise, <code>false</code>.</dd>
<dd><code>windows</code> - <code>true</code> to protect the workbook windows; otherwise, <code>false</code>. This option  is available only in Excel 2007, Excel 2010, Excel for Mac 2011, and Excel 2016 for Mac.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="protect(java.lang.String)">
<h3>protect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">protect</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</span></div>
<div class="block">Protects the workbook with a password so that it cannot be modified. <p>Use this method to apply workbook protection with a password. Protected workbooks  prevent users from modifying the workbook when it is opened in a supported spreadsheet application.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Quarterly Report");
 // Get the password from user input via getPasswordFromSecureSource().
 String password = getPasswordFromSecureSource();
 workbook.protect(password);
 workbook.unprotect(password);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#protect(java.lang.String)">protect</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>password</code> - The password used to protect the workbook. If <code>null</code> or empty, the workbook is still protected without a password.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="protect(java.lang.String,boolean)">
<h3>protect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">protect</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password,
 boolean&nbsp;structure)</span></div>
<div class="block">Protects the workbook so that it cannot be modified. <p>If  <code>structure</code> is <code>true</code>, workbook structure is protected to prevent  other users from viewing hidden worksheets, adding, moving, deleting, or hiding  worksheets, and renaming worksheets.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 // Get the password from user input via getPasswordFromSecureSource().
 String password = getPasswordFromSecureSource();
 workbook.protect(password, true);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#protect(java.lang.String,boolean)">protect</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>password</code> - The password used to protect the workbook.</dd>
<dd><code>structure</code> - <code>true</code> to protect the workbook structure; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="protect(java.lang.String,boolean,boolean)">
<h3>protect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">protect</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password,
 boolean&nbsp;structure,
 boolean&nbsp;windows)</span></div>
<div class="block">Protects a workbook so that it cannot be modified. <p>Use this overload to protect both workbook structure and workbook windows with a password.  Set  <code>structure</code> to <code>true</code> to prevent users from viewing hidden worksheets, adding, moving, deleting, hiding, or renaming worksheets. Set  <code>windows</code> to <code>true</code> to prevent users from moving, resizing, or closing the workbook window, or hiding and unhiding windows.</p> <p>This protection only restricts workbook structure and window operations in supported  spreadsheet applications. It does not encrypt workbook contents and should not be used  as a confidentiality or access-control mechanism. To protect sensitive data, use  file encryption such as password-protected  <a href="XlsxSaveOptions.html" title="class in com.grapecity.documents.excel"><code>XlsxSaveOptions</code></a> or other access-control measures, and avoid storing unencrypted sensitive data in hidden worksheets.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Quarterly Report");
 // Get the password from user input via getPasswordFromSecureSource().
 String password = getPasswordFromSecureSource();
 workbook.protect(password, true, true);
 workbook.unprotect(password);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#protect(java.lang.String,boolean,boolean)">protect</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>password</code> - Password to protect the workbook.</dd>
<dd><code>structure</code> - True to protect the structure of the workbook (To prevent other users from viewing hidden worksheets, adding, moving, deleting, or hiding worksheets, and renaming worksheets).</dd>
<dd><code>windows</code> - True to prevent users from moving, resizing, or closing the workbook window, or hide/unhide windows. This option is available only in Excel 2007, Excel 2010, Excel for Mac 2011, and Excel 2016 for Mac.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unprotect()">
<h3>unprotect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">unprotect</span>()</div>
<div class="block">Removes protection from the workbook. <p>Use this method to remove protection that was applied with  <a href="#protect()"><code>protect()</code></a> or another non-password overload of  <code>protect</code>. If the workbook was protected with  a password, use  <a href="#unprotect(java.lang.String)"><code>unprotect(String)</code></a> with the correct password instead.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Confidential");
 workbook.protect();
 workbook.unprotect();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#unprotect()">unprotect</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unprotect(java.lang.String)">
<h3>unprotect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">unprotect</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;password)</span></div>
<div class="block">Removes protection from the workbook. <p>Use this method to remove protection that was applied with  <a href="#protect()"><code>protect()</code></a> or another non-password overload of  <code>protect</code>. If the workbook was protected with  a password, use  <a href="#unprotect(java.lang.String)"><code>unprotect(String)</code></a> with the correct password instead.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Confidential");
 workbook.protect();
 workbook.unprotect();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#unprotect(java.lang.String)">unprotect</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>password</code> - The password used to unprotect the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addDataSource(java.lang.String,java.lang.Object)">
<h3>addDataSource</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addDataSource</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>&nbsp;dataSource)</span></div>
<div class="block">Adds a named data source for template processing. <p>Use this method to register an alias that can be referenced by binding fields in a template.  For example, after adding a data source with the alias  <code>title</code>, the template can use   {{title}}} in its binding fields.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("{{title}}");
 String reportTitle = "Sales Report";
 workbook.addDataSource("title", reportTitle);
 workbook.processTemplate();
 Object value = worksheet.getRange("A1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#addDataSource(java.lang.String,java.lang.Object)">addDataSource</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>name</code> - The alias name of the data source used by template binding fields.</dd>
<dd><code>dataSource</code> - The data source to register. Common choices include a <a href="template/DataSource/JsonDataSource.html" title="class in com.grapecity.documents.excel.template.DataSource"><code>JsonDataSource</code></a>, a  <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.sql/java/sql/ResultSet.html" title="class or interface in java.sql"><code>ResultSet</code></a>, an  <a href="ITableDataSource.html" title="interface in com.grapecity.documents.excel"><code>ITableDataSource</code></a>, a custom object or object collection, or a scalar value such as a string, number, or date.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="processTemplate()">
<h3>processTemplate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">processTemplate</span>()</div>
<div class="block">Processes the workbook as a template by evaluating template fields and replacing them  with data from the workbook's data sources. <p>Call this method after adding one or more data sources with  <a href="#addDataSource(java.lang.String,java.lang.Object)"><code>addDataSource(String,Object)</code></a>.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("{{ds.name}}");
 String json = "[{\"name\":\"jack\",\"age\":12,\"height\":160},{\"name\":\"alice\",\"age\":25,\"height\":165},{\"name\":\"peter\",\"age\":21,\"height\":180}]";
 workbook.addDataSource("ds", new JsonDataSource(json));
 workbook.processTemplate();
 Object value = worksheet.getRange("A1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#processTemplate()">processTemplate</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="processTemplate(com.grapecity.documents.excel.CancellationToken)">
<h3>processTemplate</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">processTemplate</span><wbr><span class="parameters">(<a href="CancellationToken.html" title="class in com.grapecity.documents.excel">CancellationToken</a>&nbsp;cancellationToken)</span></div>
<div class="block">Processes the workbook as a template and observes cancellation requests through  the specified cancellation token. <p>Use this method to process template data in the current workbook while allowing  the operation to be canceled through a  <a href="CancellationToken.html" title="class in com.grapecity.documents.excel"><code>CancellationToken</code></a>. If cancellation  occurs, the workbook can remain in a partially processed state.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("{{ds.name}}");
 String json = "[{\"name\":\"jack\",\"age\":12,\"height\":160},{\"name\":\"alice\",\"age\":25,\"height\":165},{\"name\":\"peter\",\"age\":21,\"height\":180}]";
 workbook.addDataSource("ds", new JsonDataSource(json));
 try (CancellationTokenSource cancellation = new CancellationTokenSource()) {
     workbook.processTemplate(cancellation.getToken());
 } catch (Exception e) {
     // Handle exception
 }
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#processTemplate(com.grapecity.documents.excel.CancellationToken)">processTemplate</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>cancellationToken</code> - A token used to monitor cancellation requests. Pass <code>null</code> if cancellation is not required.</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/CancellationException.html" title="class or interface in java.util.concurrent">CancellationException</a></code> - if the specified <a href="CancellationToken.html" title="class in com.grapecity.documents.excel"><code>CancellationToken</code></a> is canceled while template processing is in progress.</dd>
<dt>API Note:</dt>
<dd>The caller must decide whether to keep the partially processed workbook or restore the previous state. If restoration is required, serialize the workbook before calling this method and deserialize it after the operation is canceled.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="generateReport()">
<h3>generateReport</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></span>&nbsp;<span class="element-name">generateReport</span>()</div>
<div class="block">Process the template and return the instance of report workbook.
 <pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Class: {{className}}");
 workbook.addDataSource("className", "Class 3");
 IWorkbook report = workbook.generateReport();
 Object value = report.getWorksheets().get(0).getRange("A1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#generateReport()">generateReport</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The new <a href="Workbook.html" title="class in com.grapecity.documents.excel"><code>Workbook</code></a> object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="generateReport(com.grapecity.documents.excel.IWorksheet...)">
<h3>generateReport</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></span>&nbsp;<span class="element-name">generateReport</span><wbr><span class="parameters">(<a href="IWorksheet.html" title="interface in com.grapecity.documents.excel">IWorksheet</a>...&nbsp;worksheets)</span></div>
<div class="block">Processes the template and returns a new report workbook that includes only the specified worksheets.
 <pre><code data-language="Java">
 worksheet.getRange("A1").setValue("{{name}}");
 workbook.addDataSource("name", "Quarterly Report");
 IWorkbook report = workbook.generateReport(worksheet);
 Object value = report.getWorksheets().get(0).getRange("A1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#generateReport(com.grapecity.documents.excel.IWorksheet...)">generateReport</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>worksheets</code> - The worksheets to process.</dd>
<dt>Returns:</dt>
<dd>A new <a href="Workbook.html" title="class in com.grapecity.documents.excel"><code>Workbook</code></a> object that contains the generated report.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getResetAdjacentRangeBorder()">
<h3>getResetAdjacentRangeBorder</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getResetAdjacentRangeBorder</span>()</div>
<div class="block">Gets whether adjacent range borders are reset when a border is applied to a range. <p>The default value is  <code>true</code>.</p>
<pre><code data-language="Java">
 worksheet.getRange("D2:D3").getBorders().get(BordersIndex.EdgeLeft).setLineStyle(BorderLineStyle.Thick);
 workbook.setResetAdjacentRangeBorder(true);
 boolean resetAdjacentBorder = workbook.getResetAdjacentRangeBorder();
 worksheet.getRange("B2:C3").getBorders().get(BordersIndex.EdgeRight).setLineStyle(BorderLineStyle.Thin);
 BorderLineStyle adjacentLeftBorder = worksheet.getRange("D2:D3").getBorders().get(BordersIndex.EdgeLeft).getLineStyle();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getResetAdjacentRangeBorder()">getResetAdjacentRangeBorder</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if borders of adjacent ranges are reset when setting a border for a range; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setResetAdjacentRangeBorder(boolean)">
<h3>setResetAdjacentRangeBorder</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setResetAdjacentRangeBorder</span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block">Sets whether adjacent range borders are reset when a border is applied to a range. <p>The default value is  <code>true</code>.</p>
<pre><code data-language="Java">
 worksheet.getRange("D2:D3").getBorders().get(BordersIndex.EdgeLeft).setLineStyle(BorderLineStyle.Thick);
 workbook.setResetAdjacentRangeBorder(true);
 worksheet.getRange("B2:C3").getBorders().get(BordersIndex.EdgeRight).setLineStyle(BorderLineStyle.Thin);
 BorderLineStyle adjacentLeftBorder = worksheet.getRange("D2:D3").getBorders().get(BordersIndex.EdgeLeft).getLineStyle();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setResetAdjacentRangeBorder(boolean)">setResetAdjacentRangeBorder</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - <code>true</code> if borders of adjacent ranges are reset when setting a border for a range; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="SetLicenseKey(java.lang.String)">
<h3>SetLicenseKey</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">SetLicenseKey</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;key)</span></div>
<div class="block">Sets license for all workbook instances.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>key</code> - The license key.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="SetLicenseFile(java.lang.String)">
<h3>SetLicenseFile</h3>
<div class="member-signature"><span class="annotations"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</a>
</span><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">SetLicenseFile</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;licenseFilePath)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">This method has been deprecated since version 9.0. Use <a href="#SetLicenseKey(java.lang.String)"><code>SetLicenseKey(String)</code></a> instead.</div>
</div>
<div class="block">For licenses of the Chinese market, apply deployment license or unlimited dev license from file. <p> This method shouldn't be called if your license was purchased from other markets. </p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>licenseFilePath</code> - The file that contains license key</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getGraphicsInfo()">
<h3>getGraphicsInfo</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="IGraphicsInfo.html" title="interface in com.grapecity.documents.excel">IGraphicsInfo</a></span>&nbsp;<span class="element-name">getGraphicsInfo</span>()</div>
<div class="block">Gets the graphics information used by the workbook. <p>If no graphics information has been assigned, the workbook uses built-in graphics information.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("12345");
 class CustomGraphicsInfo implements IGraphicsInfo {
     @Override
     public double getDigitWidth(TextFormatInfo textFormat) {
         if ("Calibri".equals(textFormat.getFontFamily())) {
             return 8 * textFormat.getFontSize() / 11;
         }
         return 7 * textFormat.getFontSize() / 11;
     }
 }
 IGraphicsInfo graphicsInfo = new CustomGraphicsInfo();
 workbook.setGraphicsInfo(graphicsInfo);
 IGraphicsInfo currentGraphicsInfo = workbook.getGraphicsInfo();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getGraphicsInfo()">getGraphicsInfo</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>The graphics information used by the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setGraphicsInfo(com.grapecity.documents.excel.IGraphicsInfo)">
<h3>setGraphicsInfo</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setGraphicsInfo</span><wbr><span class="parameters">(<a href="IGraphicsInfo.html" title="interface in com.grapecity.documents.excel">IGraphicsInfo</a>&nbsp;value)</span></div>
<div class="block">Sets the graphics information used by the workbook. <p>Use this property to provide custom digit-width measurement logic for workbook  rendering and layout calculations. If  <code>value</code> is <code>null</code>, the workbook  uses built-in graphics information.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1").setValue("12345");
 class CustomGraphicsInfo implements IGraphicsInfo {
     @Override
     public double getDigitWidth(TextFormatInfo textFormat) {
         if ("Calibri".equals(textFormat.getFontFamily())) {
             return 8 * textFormat.getFontSize() / 11;
         }
         return 7 * textFormat.getFontSize() / 11;
     }
 }
 IGraphicsInfo graphicsInfo = new CustomGraphicsInfo();
 workbook.setGraphicsInfo(graphicsInfo);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setGraphicsInfo(com.grapecity.documents.excel.IGraphicsInfo)">setGraphicsInfo</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - The graphics information to use for digit-width measurement and related layout calculations. Set to  <code>null</code> to use the built-in graphics information.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSelectedSheets()">
<h3>getSelectedSheets</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="IWorksheets.html" title="interface in com.grapecity.documents.excel">IWorksheets</a></span>&nbsp;<span class="element-name">getSelectedSheets</span>()</div>
<div class="block">Gets the collection of selected worksheets in the workbook. <p>The returned  <a href="IWorksheets.html" title="interface in com.grapecity.documents.excel"><code>IWorksheets</code></a> object represents all worksheets that are currently selected.</p>
<pre><code data-language="Java">
 IWorksheet sheet2 = workbook.getWorksheets().add();
 workbook.getWorksheets().get(new String[] {worksheet.getName(), sheet2.getName()}).select();
 IWorksheets selectedSheets = workbook.getSelectedSheets();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getSelectedSheets()">getSelectedSheets</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>An <a href="IWorksheets.html" title="interface in com.grapecity.documents.excel"><code>IWorksheets</code></a> collection that represents all selected worksheets in the workbook.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getExcelLinkSources()">
<h3>getExcelLinkSources</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util">List</a>&lt;<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&gt;</span>&nbsp;<span class="element-name">getExcelLinkSources</span>()</div>
<div class="block">Gets the names of the linked Excel documents in the workbook. <p>Use this method to retrieve the external workbook names referenced by cross-workbook formulas  before calling  <a href="#updateExcelLink(java.lang.String)"><code>updateExcelLink(String)</code></a> or <a href="#updateExcelLink(java.lang.String,com.grapecity.documents.excel.IWorkbook)"><code>updateExcelLink(String,IWorkbook)</code></a> to refresh linked data.</p>
<pre><code data-language="Java">
 worksheet.getRange("B1").setFormula("='[SourceIWorkbook.xlsx]Sheet1'!A1");
 List&lt;String&gt; linkSources = workbook.getExcelLinkSources();
 String linkName = linkSources.get(0);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getExcelLinkSources()">getExcelLinkSources</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>A list of linked Excel document names.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateExcelLinks()">
<h3>updateExcelLinks</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateExcelLinks</span>()</div>
<div class="block">Updates all Excel links in the workbook. <p>Use this method to refresh the caches of external workbook links used by  cross-workbook formulas.</p>
<pre><code data-language="Java">
 String sourceFileName = "SourceWorkbook.xlsx";
 IWorkbook sourceWorkbook = new Workbook();
 sourceWorkbook.getWorksheets().get(0).getRange("A1").setValue("Updated value");
 sourceWorkbook.save(sourceFileName);
 worksheet.getRange("B1").setFormula("='[" + sourceFileName + "]Sheet1'!A1");
 List&lt;String&gt; linkSources = workbook.getExcelLinkSources();
 workbook.updateExcelLinks();
 Object updatedValue = worksheet.getRange("B1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#updateExcelLinks()">updateExcelLinks</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateExcelLink(java.lang.String)">
<h3>updateExcelLink</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateExcelLink</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name)</span></div>
<div class="block">Updates the Excel link with the specified name. <p>Use this method to refresh a linked workbook reference identified by name.  To obtain available link names, use  <a href="#getExcelLinkSources()"><code>getExcelLinkSources()</code></a>.</p>
<pre><code data-language="Java">
 String sourceFileName = "SourceWorkbook.xlsx";
 IWorkbook sourceWorkbook = new Workbook();
 sourceWorkbook.getWorksheets().get(0).getRange("A1").setValue("Updated value");
 sourceWorkbook.save(sourceFileName);
 worksheet.getRange("B1").setFormula("='[" + sourceFileName + "]Sheet1'!A1");
 for (String linkSource : workbook.getExcelLinkSources()) {
     workbook.updateExcelLink(linkSource);
 }
 Object updatedValue = worksheet.getRange("B1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#updateExcelLink(java.lang.String)">updateExcelLink</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>name</code> - The name of the Excel link to update. This value should match one of the linked workbook names; <code>null</code> behavior is undefined.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="updateExcelLink(java.lang.String,com.grapecity.documents.excel.IWorkbook)">
<h3>updateExcelLink</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateExcelLink</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;name,
 <a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a>&nbsp;sourceWorkbook)</span></div>
<div class="block">Updates the Excel link with the specified name. <p>Use this method to refresh a linked workbook reference identified by name.  To obtain available link names, use  <a href="#getExcelLinkSources()"><code>getExcelLinkSources()</code></a>.</p>
<pre><code data-language="Java">
 worksheet.getRange("B1").setFormula("='[SourceWorkbook.xlsx]Sheet1'!A1");
 IWorkbook sourceWorkbook = new Workbook();
 sourceWorkbook.getWorksheets().get(0).getRange("A1").setValue("Hello");
 workbook.updateExcelLink("SourceWorkbook.xlsx", sourceWorkbook);
 Object updatedValue = worksheet.getRange("B1").getValue();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#updateExcelLink(java.lang.String,com.grapecity.documents.excel.IWorkbook)">updateExcelLink</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>name</code> - The name of the Excel link to update. This value should match one of the linked workbook names; <code>null</code> behavior is undefined.</dd>
<dd><code>sourceWorkbook</code> - The workbook that provides the source data for the specified link.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNames(java.lang.String)">
<h3>getNames</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>[]</span>&nbsp;<span class="element-name">getNames</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName)</span></div>
<div class="block">Gets the collection of workbook-defined names. <p>Use the returned  <a href="INames.html" title="interface in com.grapecity.documents.excel"><code>INames</code></a> collection to add, retrieve, and manage names defined at the workbook level.</p>
<pre><code data-language="Java">
 workbook.getNames().add("SalesTotal", "=Sheet1!$A$1:$A$3");
 INames names = workbook.getNames();
 IName name = names.get("SalesTotal");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path of the workbook file from which to get defined names.</dd>
<dt>Returns:</dt>
<dd>The <a href="INames.html" title="interface in com.grapecity.documents.excel"><code>INames</code></a> collection that represents the workbook-specified names.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNames(java.io.InputStream)">
<h3>getNames</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>[]</span>&nbsp;<span class="element-name">getNames</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream)</span></div>
<div class="block">Gets the collection of workbook-defined names. <p>Use the returned  <a href="INames.html" title="interface in com.grapecity.documents.excel"><code>INames</code></a> collection to add, retrieve, and manage names defined at the workbook level.</p>
<pre><code data-language="Java">
 workbook.getNames().add("SalesTotal", "=Sheet1!$A$1:$A$3");
 INames names = workbook.getNames();
 IName name = names.get("SalesTotal");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The workbook file stream from which to get defined names.</dd>
<dt>Returns:</dt>
<dd>The <a href="INames.html" title="interface in com.grapecity.documents.excel"><code>INames</code></a> collection that represents the workbook-specified names.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="importData(java.lang.String,java.lang.String)">
<h3>importData</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>[][]</span>&nbsp;<span class="element-name">importData</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;sourceName)</span></div>
<div class="block">Imports all data from the specified source in a workbook file. <p>The source is identified by  <code>sourceName</code>. It can specify a worksheet,  a table, or a range, such as  <code>"Sheet1"</code>,  <code>"Sheet1!Table1"</code>, or  <code>"Sheet1!A1:C5"</code>.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:C5").setValue(new Object[][] {
     {"Name", "Q1", "Q2"},
     {"North", 1200, 1500},
     {"South", 900, 1100},
     {"East", 1000, 1300},
     {"West", 950, 1250}
 });
 String filePath = java.nio.file.Paths.get("Users", "DefaultApps", "Documents", "input.xlsx").toString();
 workbook.save(filePath);
 Object[][] data = Workbook.importData(filePath, "Sheet1!A1:C5");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path and name of the workbook file. Must be a valid file path.</dd>
<dd><code>sourceName</code> - The name of the source data. This can be a worksheet name, a table reference, or a range reference; must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd>A two-dimensional array that contains the imported data, or <code>null</code> if <code>sourceName</code> cannot be resolved to a supported source.</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</a></code> - if <code>fileName</code> is not a valid path.</dd>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</a></code> - if an I/O error occurs while opening or reading the file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="importData(java.lang.String,java.lang.String,int,int,int,int)">
<h3>importData</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>[][]</span>&nbsp;<span class="element-name">importData</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;fileName,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;worksheetName,
 int&nbsp;row,
 int&nbsp;column,
 int&nbsp;rowCount,
 int&nbsp;columnCount)</span></div>
<div class="block">Imports data from a specified range in a workbook file. <p>This method opens the workbook file identified by  <code>fileName</code> and imports the data from the range specified by  <code>worksheetName</code>,  <code>row</code>,  <code>column</code>,  <code>rowCount</code>, and  <code>columnCount</code>.</p> <p>If the imported range contains a single cell value, the result is still returned  as a two-dimensional array with one row and one column.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B3").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100},
     {"Hello", 200}
 });
 String filePath = java.nio.file.Paths.get("Users", "DefaultApps", "Documents", "input.xlsx").toString();
 workbook.save(filePath);
 Object[][] data = Workbook.importData(filePath, "Sheet1", 0, 0, 3, 2);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileName</code> - The path and name of the workbook file. Must be a valid file path.</dd>
<dd><code>worksheetName</code> - The name of the worksheet that contains the range to import.</dd>
<dd><code>row</code> - The first row of the range to import.</dd>
<dd><code>column</code> - The first column of the range to import.</dd>
<dd><code>rowCount</code> - The number of rows to import.</dd>
<dd><code>columnCount</code> - The number of columns to import.</dd>
<dt>Returns:</dt>
<dd>A two-dimensional array that contains the imported data.</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</a></code> - if <code>fileName</code> is not a valid path, or if the specified worksheet does not exist.</dd>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</a></code> - if an I/O error occurs while opening or reading the file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="importData(java.io.InputStream,java.lang.String)">
<h3>importData</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>[][]</span>&nbsp;<span class="element-name">importData</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;sourceName)</span></div>
<div class="block">Imports all data from the specified source in a workbook stream. <p>The source is identified by  <code>sourceName</code>. It can specify a worksheet,  a table, or a range, such as  <code>"Sheet1"</code>,  <code>"Sheet1!Table1"</code>, or  <code>"Sheet1!A1:C5"</code>.</p> <p>If  <code>sourceName</code> does not contain <code>'!'</code>, this method imports data  from the worksheet identified by that name. If  <code>sourceName</code> is parsed as a range reference, this method imports the referenced range. If  <code>sourceName</code> is parsed as a named item reference, this method imports the referenced table data.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 workbook.save(outputStream, SaveFileFormat.Xlsx);
 Object[][] data = Workbook.importData(new ByteArrayInputStream(outputStream.toByteArray()), "Sheet1!A1:B2");
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The input stream that contains workbook data. Must not be <code>null</code>.</dd>
<dd><code>sourceName</code> - The name of the source data. This can be a worksheet name, a table reference, or a range reference; must not be <code>null</code>.</dd>
<dt>Returns:</dt>
<dd>A two-dimensional array that contains the imported data, or <code>null</code> if <code>sourceName</code> cannot be resolved to a supported source or the specified worksheet is a chart sheet.</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the specified worksheet does not exist, or if the stream content cannot be parsed for the requested source.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="importData(java.io.InputStream,java.lang.String,int,int,int,int)">
<h3>importData</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a>[][]</span>&nbsp;<span class="element-name">importData</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/InputStream.html" title="class or interface in java.io">InputStream</a>&nbsp;fileStream,
 <a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a>&nbsp;worksheetName,
 int&nbsp;row,
 int&nbsp;column,
 int&nbsp;rowCount,
 int&nbsp;columnCount)</span></div>
<div class="block">Imports data from a specified range in a workbook stream. <p>This method reads the range identified by  <code>worksheetName</code>,  <code>row</code>,  <code>column</code>,  <code>rowCount</code>, and  <code>columnCount</code> from the workbook data in  <code>fileStream</code>.</p> <p>If the imported range contains a single cell value, the result is still returned  as a two-dimensional array with one row and one column.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B3").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100},
     {"Hello", 200}
 });
 ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
 workbook.save(outputStream, SaveFileFormat.Xlsx);
 Object[][] data = Workbook.importData(
     new ByteArrayInputStream(outputStream.toByteArray()), "Sheet1", 0, 0, 3, 2);
 </code></pre></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fileStream</code> - The input stream that contains workbook data. Must not be <code>null</code>.</dd>
<dd><code>worksheetName</code> - The name of the worksheet that contains the range to import.</dd>
<dd><code>row</code> - The zero-based row index of the first row in the range.</dd>
<dd><code>column</code> - The zero-based column index of the first column in the range.</dd>
<dd><code>rowCount</code> - The number of rows to import.</dd>
<dd><code>columnCount</code> - The number of columns to import.</dd>
<dt>Returns:</dt>
<dd>A two-dimensional array that contains the imported data.</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the specified worksheet does not exist.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toSjsJson(java.io.OutputStream)">
<h3>toSjsJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">toSjsJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream)</span></div>
<div class="block">Integrates all JSON files from the SpreadJS .sjs file into a single string, then put the string into the stream.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 workbook.toSjsJson(stream);
 String sjsJson = new String(stream.toByteArray(), java.nio.charset.StandardCharsets.UTF_8);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#toSjsJson(java.io.OutputStream)">toSjsJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>stream</code> - The specified file stream.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toSjsJson(java.io.OutputStream,com.grapecity.documents.excel.SjsSaveOptions)">
<h3>toSjsJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">toSjsJson</span><wbr><span class="parameters">(<a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
 <a href="SjsSaveOptions.html" title="class in com.grapecity.documents.excel">SjsSaveOptions</a>&nbsp;options)</span></div>
<div class="block">Integrates all JSON files from the SpreadJS .sjs file into a single string, then put the string into the stream.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 SjsSaveOptions options = new SjsSaveOptions();
 options.setIncludeFormulas(true);
 ByteArrayOutputStream stream = new ByteArrayOutputStream();
 workbook.toSjsJson(stream, options);
 String sjsJson = new String(stream.toByteArray(), java.nio.charset.StandardCharsets.UTF_8);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#toSjsJson(java.io.OutputStream,com.grapecity.documents.excel.SjsSaveOptions)">toSjsJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>stream</code> - The specified file stream.</dd>
<dd><code>options</code> - Option for opening SpreadJS .sjs file.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toSjsJson()">
<h3>toSjsJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">toSjsJson</span>()</div>
<div class="block">Generates a single JSON payload that represents the workbook in SpreadJS .sjs format.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 String sjsJson = workbook.toSjsJson();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#toSjsJson()">toSjsJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd>A JSON string that contains the workbook content in SpreadJS .sjs format.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toSjsJson(com.grapecity.documents.excel.SjsSaveOptions)">
<h3>toSjsJson</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang">String</a></span>&nbsp;<span class="element-name">toSjsJson</span><wbr><span class="parameters">(<a href="SjsSaveOptions.html" title="class in com.grapecity.documents.excel">SjsSaveOptions</a>&nbsp;options)</span></div>
<div class="block">Generates a single JSON payload that represents the workbook in SpreadJS .sjs format, using the specified save options.
 <pre><code data-language="Java">
 worksheet.getRange("A1:B2").setValue(new Object[][] {
     {"Name", "Value"},
     {"Test", 100}
 });
 SjsSaveOptions options = new SjsSaveOptions();
 options.setIncludeEmptyRegionCells(false);
 String sjsJson = workbook.toSjsJson(options);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#toSjsJson(com.grapecity.documents.excel.SjsSaveOptions)">toSjsJson</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>options</code> - The save options used to generate the SJS JSON content.</dd>
<dt>Returns:</dt>
<dd>A JSON string that contains the workbook content in SpreadJS .sjs format.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="convertBarcodeToPicture()">
<h3>convertBarcodeToPicture</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">convertBarcodeToPicture</span>()</div>
<div class="block">Convert the calculated barcodes to pictures and place them in their respective positions. <br> The original barcode formulas will be cleared. <br> The  <a href="drawing/ImageType.html" title="enum class in com.grapecity.documents.excel.drawing"><code>ImageType</code></a> of converted image is <a href="drawing/ImageType.html#SVG"><code>ImageType.SVG</code></a>.
 <pre><code data-language="Java">
 worksheet.getRange("B2").setValue("Policy:411");
 worksheet.getRange("C2").setFormula("=BC_QRCODE(B2)");
 workbook.calculate();
 workbook.convertBarcodeToPicture();
 int pictureCount = worksheet.getShapes().getCount();
 String fileName = "BarcodeReport.xlsx";
 workbook.save(fileName);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#convertBarcodeToPicture()">convertBarcodeToPicture</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="convertBarcodeToPicture(com.grapecity.documents.excel.drawing.ImageType)">
<h3>convertBarcodeToPicture</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">convertBarcodeToPicture</span><wbr><span class="parameters">(<a href="drawing/ImageType.html" title="enum class in com.grapecity.documents.excel.drawing">ImageType</a>&nbsp;imageType)</span></div>
<div class="block">Convert the calculated barcodes to pictures and place them in their respective positions. <br> The original barcode formulas will be cleared. <br> Not support  <a href="drawing/ImageType.html#EMF"><code>ImageType.EMF</code></a> and <a href="drawing/ImageType.html#WMF"><code>ImageType.WMF</code></a> image types.
 <pre><code data-language="Java">
 worksheet.getRange("A1").setValue("Policy:411");
 worksheet.getRange("B1").setFormula("=BC_QRCODE(A1)");
 workbook.convertBarcodeToPicture(ImageType.JPG);
 int pictureCount = worksheet.getShapes().getCount();
 String fileName = "BarcodeReportJpg.xlsx";
 workbook.save(fileName);
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#convertBarcodeToPicture(com.grapecity.documents.excel.drawing.ImageType)">convertBarcodeToPicture</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>imageType</code> - Specify the <a href="drawing/ImageType.html" title="enum class in com.grapecity.documents.excel.drawing"><code>ImageType</code></a> of converted image.</dd>
<dt>Throws:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</a></code> - If convert to <a href="drawing/ImageType.html#EMF"><code>ImageType.EMF</code></a> or <a href="drawing/ImageType.html#WMF"><code>ImageType.WMF</code></a> image type.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getShowPivotTableFieldList()">
<h3>getShowPivotTableFieldList</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">getShowPivotTableFieldList</span>()</div>
<div class="block">Gets a value indicating whether the PivotTable field list can be shown. <p>Use this property to determine whether users can display the PivotTable field list for PivotTables in the workbook.  The default value is  <code>true</code>.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Product", "Sales"},
     {"Laptop", 1200},
     {"Tablet", 900},
     {"Laptop", 700}
 });
 IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
 IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "SalesPivot");
 pivotTable.getPivotFields().get("Product").setOrientation(PivotFieldOrientation.RowField);
 pivotTable.addDataField(pivotTable.getPivotFields().get("Sales"), "Sum of Sales", ConsolidationFunction.Sum);
 workbook.setShowPivotTableFieldList(false);
 boolean canShowFieldList = workbook.getShowPivotTableFieldList();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#getShowPivotTableFieldList()">getShowPivotTableFieldList</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if the PivotTable field list can be shown; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setShowPivotTableFieldList(boolean)">
<h3>setShowPivotTableFieldList</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setShowPivotTableFieldList</span><wbr><span class="parameters">(boolean&nbsp;value)</span></div>
<div class="block">Sets a value indicating whether the PivotTable field list can be shown. <p>Use this property to set whether users can display the PivotTable field list for PivotTables in the workbook.</p>
<pre><code data-language="Java">
 worksheet.getRange("A1:B4").setValue(new Object[][] {
     {"Product", "Sales"},
     {"Laptop", 1200},
     {"Tablet", 900},
     {"Laptop", 700}
 });
 IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:B4"));
 IPivotTable pivotTable = worksheet.getPivotTables().add(pivotCache, worksheet.getRange("D1"), "SalesPivot");
 pivotTable.getPivotFields().get("Product").setOrientation(PivotFieldOrientation.RowField);
 pivotTable.addDataField(pivotTable.getPivotFields().get("Sales"), "Sum of Sales", ConsolidationFunction.Sum);
 workbook.setShowPivotTableFieldList(false);
 boolean canShowFieldList = workbook.getShowPivotTableFieldList();
 </code></pre></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#setShowPivotTableFieldList(boolean)">setShowPivotTableFieldList</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Parameters:</dt>
<dd><code>value</code> - <code>true</code> if the PivotTable field list can be shown; otherwise, <code>false</code>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clone()">
<h3>clone</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Workbook.html" title="class in com.grapecity.documents.excel">Workbook</a></span>&nbsp;<span class="element-name">clone</span>()</div>
<div class="block">Clones the current workbook and returns a new instance of the workbook.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="IWorkbook.html#clone()">clone</a></code>&nbsp;in interface&nbsp;<code><a href="IWorkbook.html" title="interface in com.grapecity.documents.excel">IWorkbook</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</a></code>&nbsp;in class&nbsp;<code><a class="external-link" href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang">Object</a></code></dd>
<dt>Returns:</dt>
<dd>A new workbook instance that is an exact copy of the current workbook.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
<script>var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";

function show(tableId, selected, columns) {
    if (tableId !== selected) {
        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
            .forEach(function (elem) {
                elem.style.display = 'none';
            });
    }
    document.querySelectorAll('div.' + selected)
        .forEach(function (elem, index) {
            elem.style.display = '';
            var isEvenRow = index % (columns * 2) < columns;
            elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
            elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
        });
    updateTabs(tableId, selected);
}

function updateTabs(tableId, selected) {
    document.querySelector('div#' + tableId + ' .summary-table')
        .setAttribute('aria-labelledby', selected);
    document.querySelectorAll('button[id^="' + tableId + '"]')
        .forEach(function (tab, index) {
            if (selected === tab.id || (tableId === selected && index === 0)) {
                tab.className = activeTableTab;
                tab.setAttribute('aria-selected', true);
                tab.setAttribute('tabindex', 0);
            } else {
                tab.className = tableTab;
                tab.setAttribute('aria-selected', false);
                tab.setAttribute('tabindex', -1);
            }
        });
}

function switchTab(e) {
    var selected = document.querySelector('[aria-selected=true]');
    if (selected) {
        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
            // left or up arrow key pressed: move focus to previous tab
            selected.previousSibling.click();
            selected.previousSibling.focus();
            e.preventDefault();
        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
            // right or down arrow key pressed: move focus to next tab
            selected.nextSibling.click();
            selected.nextSibling.focus();
            e.preventDefault();
        }
    }
}
</script></div>