blob: 6df1cb9ecd65b25b6effc32b0d9b21004a3636de [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>ExcelServiceImpl :: Apache Isis</title>
<link rel="canonical" href="https://isis.apache.org/refguide/2.0.0-M6/subdomains/index/excel/applib/dom/util/ExcelServiceImpl.html">
<meta name="generator" content="Antora 2.3.4">
<link rel="stylesheet" href="../../../../../../../../_/css/site.css">
<link rel="stylesheet" href="../../../../../../../../_/css/site-custom.css">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
<link rel="home" href="https://isis.apache.org" title="Apache Isis">
</head>
<body class="article">
<header class="header">
<nav class="navbar">
<div class="navbar-brand">
<a class="navbar-item" href="https://isis.apache.org">
<span class="icon">
<img src="../../../../../../../../_/img/isis-logo-48x48.png"></img>
</span>
<span>Apache Isis</span>
</a>
<button class="navbar-burger" data-target="topbar-nav">
<span></span>
<span></span>
<span></span>
</button>
</div>
<div id="topbar-nav" class="navbar-menu">
<a class="navbar-end">
<div class="navbar-item hide-for-print">
<span>
<input id="algolia-search-input" placeholder="Search"></span>
</span>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Quick Start</a>
<div class="navbar-dropdown">
<span class="navbar-item navbar-heading">Starter Apps</span>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/starters/helloworld.html">Hello World</a>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/starters/simpleapp.html">Simple App</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Demos &amp; Tutorials</span>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/demo/about.html">Demo App</a>
<a class="navbar-item" href="https://danhaywood.gitlab.io/isis-petclinic-tutorial-docs/petclinic/1.16.2/intro.html">Petclinic (tutorial)</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Resources</span>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/resources/cheatsheet.html">Cheatsheet</a>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/resources/icons.html">Icons</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Guides</a>
<div class="navbar-dropdown">
<span class="navbar-item navbar-heading">Development</span>
<a class="navbar-item" href="../../../../../../../../setupguide/2.0.0-M6/about.html">Setup Guide</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Core</span>
<a class="navbar-item" href="../../../../../../../../userguide/2.0.0-M6/about.html">User Guide</a>
<a class="navbar-item" href="../../../../../../../../refguide/2.0.0-M6/about.html">Reference Guide</a>
<a class="navbar-item" href="../../../../../../../../testing/2.0.0-M6/about.html">Testing Guide</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Components</a>
<div class="navbar-dropdown">
<span class="navbar-item navbar-heading">Viewers</span>
<a class="navbar-item" href="../../../../../../../../vw/2.0.0-M6/about.html">Web UI (Wicket)</a>
<a class="navbar-item" href="../../../../../../../../vro/2.0.0-M6/about.html">REST API (Restful Objects)</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Persistence</span>
<a class="navbar-item" href="../../../../../../../../pjpa/2.0.0-M6/about.html">JPA (EclipseLink)</a>
<a class="navbar-item" href="../../../../../../../../pjdo/2.0.0-M6/about.html">JDO (DataNucleus)</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Security</span>
<a class="navbar-item" href="../../../../../../../../security/2.0.0-M6/about.html">Security Guide</a>
<hr class="navbar-divider"/>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Libraries</a>
<div class="navbar-dropdown">
<span class="navbar-item navbar-heading">For Use in Apps</span>
<a class="navbar-item" href="../../../../../../../../subdomains/2.0.0-M6/about.html">Subdomain Libraries</a>
<a class="navbar-item" href="../../../../../../../../valuetypes/2.0.0-M6/about.html">Value Type Catalog</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Integrate between Apps</span>
<a class="navbar-item" href="../../../../../../../../mappings/2.0.0-M6/about.html">Bounded Context Mapping Libraries</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Extending the framework itself</span>
<a class="navbar-item" href="../../../../../../../../extensions/2.0.0-M6/about.html">Extensions Catalog</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">Support</a>
<div class="navbar-dropdown">
<span class="navbar-item navbar-heading">Contact</span>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/support/slack-channel.html">Slack</a>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/support/mailing-list.html">Mailing Lists</a>
<a class="navbar-item" href="https://issues.apache.org/jira/browse/ISIS">JIRA</a>
<a class="navbar-item" href="https://stackoverflow.com/questions/tagged/isis">Stack Overflow</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Releases</span>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/downloads/how-to.html">Downloads</a>
<a class="navbar-item" href="../../../../../../../../relnotes/2.0.0-M6/about.html">Release Notes</a>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/archive/1-x.html">Archive (1.x)</a>
<hr class="navbar-divider"/>
<span class="navbar-item navbar-heading">Framework</span>
<a class="navbar-item" href="../../../../../../../../conguide/2.0.0-M6/about.html">Contributors' Guide</a>
<a class="navbar-item" href="../../../../../../../../comguide/2.0.0-M6/about.html">Committers' Guide</a>
<a class="navbar-item" href="../../../../../../../../core/2.0.0-M6/about.html">Core Design</a>
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="#">ASF</a>
<div class="navbar-dropdown">
<a class="navbar-item" href="http://www.apache.org/">Apache Homepage</a>
<a class="navbar-item" href="https://www.apache.org/events/current-event">Events</a>
<a class="navbar-item" href="https://www.apache.org/licenses/">Licenses</a>
<a class="navbar-item" href="https://www.apache.org/security/">Security</a>
<a class="navbar-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
<a class="navbar-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
<hr class="navbar-divider"/>
<a class="navbar-item" href="https://whimsy.apache.org/board/minutes/Isis.html">PMC board minutes</a>
</div>
</div>
<a class="navbar-item" href="../../../../../../../../docs/2.0.0-M6/about.html">
<span class="icon">
<img src="../../../../../../../../_/img/home.png"></img>
</span>
</a>
</div>
</div>
</nav>
</header>
<div class="body ">
<div class="nav-container" data-component="refguide" data-version="2.0.0-M6">
<aside class="nav">
<div class="panels">
<div class="nav-panel-pagination">
<a class="page-previous disabled" rel="prev" href="" title=""><span></span></a>
<a class="page-next disabled" rel="next"
href="" title=""><span></span></a>
<!--
page.parent doesn't seem to be set...
<a class="page-parent disabled" rel="prev" href="" title=""><span></span></a>
-->
</div>
<div class="nav-panel-menu is-active" data-panel="menu">
<nav class="nav-menu">
<h3 class="title"><a href="../../../../../../about.html">Reference Guide</a></h3>
<ul class="nav-list">
<li class="nav-item" data-depth="0">
<ul class="nav-list">
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../applib-svc/about.html">Domain Services</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/acceptheader/AcceptHeaderService.html">AcceptHeaderService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/appfeat/ApplicationFeatureRepository.html">ApplicationFeatureRepository</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/bookmark/BookmarkService.html">BookmarkService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/bookmarkui/BookmarkUiService.html">BookmarkUiService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/clock/ClockService.html">ClockService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/commanddto/processor/spi/CommandDtoProcessorService.html">CommandDtoProcessorService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/command/CommandExecutorService.html">CommandExecutorService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/publishing/spi/CommandSubscriber.html">CommandSubscriber</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/confview/ConfigurationMenu.html">ConfigurationMenu</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/confview/ConfigurationViewService.html">ConfigurationViewService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/conmap/ContentMappingService.html">ContentMappingService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/linking/DeepLinkService.html">DeepLinkService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/userreg/EmailNotificationService.html">EmailNotificationService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/email/EmailService.html">EmailService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/publishing/spi/EntityChangesSubscriber.html">EntityChangesSubscriber</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/publishing/spi/EntityPropertyChangeSubscriber.html">EntityPropertyChangeSubscriber</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/error/ErrorReportingService.html">ErrorReportingService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/eventbus/EventBusService.html">EventBusService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/exceprecog/ExceptionRecognizerService.html">ExceptionRecognizerService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/factory/FactoryService.html">FactoryService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/grid/GridLoaderService.html">GridLoaderService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/grid/GridService.html">GridService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/grid/GridSystemService.html">GridSystemService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/health/HealthCheckService.html">HealthCheckService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/hint/HintStore.html">HintStore</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/homepage/HomePageResolverService.html">HomePageResolverService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/user/ImpersonateMenu.html">ImpersonateMenu</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/user/ImpersonateMenuAdvisor.html">ImpersonateMenuAdvisor</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/user/ImpersonatedUserHolder.html">ImpersonatedUserHolder</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="#refguide:applib:index/services/iactn/InteractionContext.adoc">InteractionContext</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/jaxb/JaxbService.html">JaxbService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/layout/LayoutService.html">LayoutService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/layout/LayoutServiceMenu.html">LayoutServiceMenu</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/i18n/LocaleProvider.html">LocaleProvider</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/menu/MenuBarsLoaderService.html">MenuBarsLoaderService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/menu/MenuBarsService.html">MenuBarsService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/message/MessageService.html">MessageService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/metamodel/MetaModelService.html">MetamodelService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/metamodel/MetaModelServiceMenu.html">MetamodelServiceMenu</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/metrics/MetricsService.html">MetricsService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/publishing/spi/ExecutionSubscriber.html">ExecutionSubscriber</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/queryresultscache/QueryResultsCache.html">QueryResultsCache</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/repository/RepositoryService.html">RepositoryService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/routing/RoutingService.html">RoutingService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/scratchpad/Scratchpad.html">Scratchpad</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/inject/ServiceInjector.html">ServiceInjector</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/registry/ServiceRegistry.html">ServiceRegistry</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/session/SessionLoggingService.html">SessionLoggingService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/sudo/SudoService.html">SudoService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/swagger/SwaggerService.html">SwaggerService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/tablecol/TableColumnOrderService.html">TableColumnOrderService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/title/TitleService.html">TitleService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/i18n/TranslationService.html">TranslationService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/i18n/TranslationsResolver.html">TranslationsResolver</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/xactn/TransactionalProcessor.html">TransactionProcessor</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/xactn/TransactionService.html">TransactionService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/urlencoding/UrlEncodingService.html">UrlEncodingService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/userreg/UserRegistrationService.html">UserRegistrationService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/user/UserService.html">UserService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/wrapper/WrapperFactory.html">WrapperFactory</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/xml/XmlService.html">XmlService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/services/xmlsnapshot/XmlSnapshotService.html">XmlSnapshotService</a>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<span class="nav-text">Viewer (Common Applib)</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../viewer/index/common/applib/services/userprof/UserProfileUiModelProvider.html">UserProfileUiModelProvider</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../applib-ant/about.html">Annotations</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Action.html">@Action</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/ActionLayout.html">@ActionLayout</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Collection.html">@Collection</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/CollectionLayout.html">@CollectionLayout</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/DomainObject.html">@DomainObject</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/DomainObjectLayout.html">@DomainObjectLayout</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/DomainService.html">@DomainService</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/DomainServiceLayout.html">@DomainServiceLayout</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Facets.html">@Facets</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/HomePage.html">@HomePage</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/InteractionScope.html">@InteractionScope</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/MemberSupport.html">@MemberSupport</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/MinLength.html">@MinLength</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Module.html">@Module</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Parameter.html">@Parameter</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/ParameterLayout.html">@ParameterLayout</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Programmatic.html">@Programmatic</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Property.html">@Property</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/PropertyLayout.html">@PropertyLayout</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Title.html">@Title</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib/index/annotation/Value.html">@Value</a>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<span class="nav-text">javax.validation</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/Digits.html">@Digits</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/Nullable.html">@Nullable</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/Pattern.html">@Pattern</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<span class="nav-text">JAXB</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/XmlJavaTypeAdapter.html">@XmlJavaTypeAdapter</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/XmlRootElement.html">@XmlRootElement</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<span class="nav-text">JDO</span>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/Column.html">@Column</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/Discriminator.html">@Discriminator</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/NotPersistent.html">@NotPersistent</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/PersistenceCapable.html">@PersistenceCapable</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib-ant/PrimaryKey.html">@PrimaryKey</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../applib-methods/about.html">Methods</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib-methods/prefixes.html">Supporting Methods</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib-methods/ui-hints.html">UI Hint Methods</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib-methods/lifecycle.html">Lifecycle Methods</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../applib-classes/about.html">Classes</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib-classes/events.html">Events</a>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../applib-classes/non-persisted-objects.html">Non-persisted objects</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/ViewModel.html">ViewModel</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/RecreatableDomainObject.html">RecreatableDomainObject</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib-classes/layout.html">Layout</a>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../applib-classes/value-types.html">Value Types</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/value/Blob.html">Blob</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/value/Clob.html">Clob</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/value/Markup.html">Markup</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/value/LocalResourcePath.html">LocalResourcePath</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/value/Password.html">Password</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../applib-classes/utility.html">Utility Classes</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/util/Enums.html">Enums</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/util/JaxbUtil.html">JaxbUtil</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/util/ObjectContracts.html">ObjectContracts</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/util/Reasons.html">Reasons</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/util/ReasonBuffer.html">ReasonBuffer</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/util/ReasonBuffer2.html">ReasonBuffer2</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/util/TitleBuffer.html">TitleBuffer</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../applib-classes/mixees-and-mixins.html">Mixees and Mixins</a>
<ul class="nav-list">
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/layout/Object_downloadLayoutXml.html">Object_downloadLayoutXml</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/metamodel/Object_downloadMetamodelXml.html">Object_downloadMetamodelXml</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/metamodel/Object_rebuildMetamodel.html">Object_rebuildMetamodel</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/metamodel/Object_logicalTypeName.html">Object_logicalTypeName</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/metamodel/Object_objectIdentifier.html">Object_objectIdentifier</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../viewer/index/wicket/viewer/mixins/Object_clearHints.html">Object_clearHints</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/rest/Object_openRestApi.html">Object_openRestApi</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/dto/Dto_downloadXml.html">Dto_downloadXml</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/dto/Dto_downloadXsd.html">Dto_downloadXsd</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../persistence/index/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.html">Persistable_downloadJdoMetadata</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="#refguide:persistence:index/jdo/datanucleus/mixins/Persistable_datanucleusIdLong.adoc">Persistable_datanucleusIdLong</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../persistence/index/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.html">Persistable_datanucleusVersionLong</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../persistence/index/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.html">Persistable_datanucleusVersionTimestamp</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="#refguide:extensions:index/commandlog/impl/mixins/HasInteractionId_command.adoc">HasInteractionId_command</a>
</li>
<li class="nav-item" data-depth="3">
<a class="nav-link" href="../../../../../../applib/index/mixins/system/DomainChangeRecord_openTargetObject.html">DomainChangeRecord_openTargetObject</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../applib-classes/spec.html">Specification pattern</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../config/about.html">Configuration</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.applib.html">Applib</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.core.config.html">Core Configuration</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.core.meta-model.html">Core MetaModel</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.core.meta-model.introspector.html">Core MetaModel Introspection</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.core.meta-model.validator.html">MetaModel Validator</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.core.runtime.html">Core Runtime</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.core.runtime-services.html">Core Runtime Services</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.persistence.schema.html">Core Persistence Schema</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.security.shiro.html">Shiro Security Implementation</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.security.keycloak.html">Keycloak Security Implementation</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.security.spring.html">Spring Security Implementation</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.viewer.restfulobjects.html">Restful Objects Viewer</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.viewer.wicket.html">Wicket Viewer</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/datanucleus.html">DataNucleus Configuration</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/eclipselink.html">Eclipselink Configuration</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/resteasy.html">RestEasy Configuration</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.extensions.html">Extensions</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.value-types.html">Value types</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.testing.html">Testing</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/isis.legacy.html">Legacy</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../config/sections/Other.html">Other</a>
</li>
</ul>
</li>
<li class="nav-item" data-depth="1">
<button class="nav-item-toggle"></button>
<a class="nav-link" href="../../../../../../schema/about.html">Schema</a>
<ul class="nav-list">
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../schema/mml.html">MetaModel</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../schema/cmd.html">Command</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../schema/ixn.html">Interaction</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../schema/chg.html">Changes</a>
</li>
<li class="nav-item" data-depth="2">
<a class="nav-link" href="../../../../../../schema/common.html">Common</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div class="nav-panel-explore" data-panel="explore">
<div class="context">
<span class="title">Reference Guide</span>
<span class="version">2.0.0-M6</span>
</div>
<ul class="components">
<li class="component">
<span class="title"> </span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../docs/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../docs/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">BC Mapping Libraries</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../mappings/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../mappings/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Committers' Guide</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../comguide/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../comguide/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Contributors' Guide</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../conguide/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../conguide/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Design Docs</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../core/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../core/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Extensions Catalog</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../extensions/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../extensions/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Incubator Catalog</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../incubator/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../incubator/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">JDO/DataNucleus</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../pjdo/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../pjdo/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">JPA</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../pjpa/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../pjpa/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component is-current">
<span class="title">Reference Guide</span>
<ul class="versions">
<li class="version is-current is-latest">
<a href="../../../../../../about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Release Notes</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../relnotes/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../relnotes/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">REST API (Restful Objects Viewer)</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../vro/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../vro/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Security Guide</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../security/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../security/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Setup Guide</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../setupguide/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../setupguide/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Subdomains Catalog</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../subdomains/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../subdomains/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Testing Guide</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../testing/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../testing/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Tooling</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../tooling/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../tooling/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">User Guide</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../userguide/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../userguide/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Value Types Catalog</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../valuetypes/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../valuetypes/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
<li class="component">
<span class="title">Web UI (Wicket Viewer)</span>
<ul class="versions">
<li class="version is-latest">
<a href="../../../../../../../../vw/2.0.0-M6/about.html">2.0.0-M6</a>
</li>
<li class="version">
<a href="../../../../../../../../vw/2.0.0-M5/about.html">2.0.0-M5</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</aside>
</div>
<main role="main">
<div class="toolbar" role="navigation">
<button class="nav-toggle"></button>
<a href="../../../../../../../../docs/2.0.0-M6/about.html" class="home-link"></a>
<nav class="breadcrumbs" aria-label="breadcrumbs">
<ul>
<li><a href="../../../../../../about.html">Reference Guide</a></li>
<li><a href="ExcelServiceImpl.html">ExcelServiceImpl</a></li>
</ul>
</nav>
<div class="page-versions">
<button class="version-menu-toggle" title="Show other versions of page">2.0.0-M6</button>
<div class="version-menu">
<a class="version is-current" href="ExcelServiceImpl.html">2.0.0-M6</a>
<a class="version" href="../../../../../../../2.0.0-M5/subdomains/index/excel/applib/dom/util/ExcelServiceImpl.html">2.0.0-M5</a>
</div>
</div>
<div class="edit-this-page"><a href="https://github.com/apache/isis/edit/2.0.0-M6/antora/components/refguide-index/modules/subdomains/pages/index/excel/applib/dom/util/ExcelServiceImpl.adoc">Edit</a></div>
</div>
<article class="doc">
<a name="section-top"></a>
<h1 class="page">ExcelServiceImpl</h1>
<div class="sect1">
<h2 id="api"><a class="anchor" href="#api"></a>API</h2>
<div class="sectionbody">
<div class="listingblock">
<div class="title">ExcelServiceImpl.java</div>
<div class="content">
<pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">class ExcelServiceImpl {
Blob toExcel(final List&lt;T&gt; domainObjects, final Class&lt;T&gt; cls, final String sheetName, final String fileName) <i class="conum" data-value="1"></i><b>(1)</b>
Blob toExcel(final List&lt;T&gt; domainObjects, final Class&lt;T&gt; cls, final String sheetName, final String fileName, final InputStream in) <i class="conum" data-value="2"></i><b>(2)</b>
Blob toExcel(WorksheetContent worksheetContent, final String fileName) <i class="conum" data-value="3"></i><b>(3)</b>
Blob toExcel(WorksheetContent worksheetContent, final String fileName, final InputStream in) <i class="conum" data-value="4"></i><b>(4)</b>
Blob toExcel(final List&lt;WorksheetContent&gt; worksheetContents, final String fileName) <i class="conum" data-value="5"></i><b>(5)</b>
Blob toExcel(final List&lt;WorksheetContent&gt; worksheetContents, final String fileName, final InputStream in) <i class="conum" data-value="6"></i><b>(6)</b>
Blob toExcelPivot(final List&lt;T&gt; domainObjects, final Class&lt;T&gt; cls, final String fileName) <i class="conum" data-value="7"></i><b>(7)</b>
Blob toExcelPivot(final List&lt;T&gt; domainObjects, final Class&lt;T&gt; cls, final String sheetName, final String fileName)
Blob toExcelPivot(WorksheetContent worksheetContent, final String fileName)
Blob toExcelPivot(final List&lt;WorksheetContent&gt; worksheetContents, final String fileName)
List&lt;T&gt; fromExcel(final Blob excelBlob, final Class&lt;T&gt; cls, final String sheetName) <i class="conum" data-value="8"></i><b>(8)</b>
List&lt;T&gt; fromExcel(final Blob excelBlob, final WorksheetSpec worksheetSpec) <i class="conum" data-value="9"></i><b>(9)</b>
List&lt;List&lt;?&gt;&gt; fromExcel(final Blob excelBlob, final List&lt;WorksheetSpec&gt; worksheetSpecs) <i class="conum" data-value="10"></i><b>(10)</b>
}</code></pre>
</div>
</div>
<div class="colist arabic">
<table>
<tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td><a href="#toExcel__List_Class_String_String">toExcel(List, Class, String, String)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>Creates a Blob holding a single-sheet spreadsheet of the domain objects.</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td><a href="#toExcel__List_Class_String_String_InputStream">toExcel(List, Class, String, String, InputStream)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>As <em>#toExcel(List, Class, String, String)</em> , but appends a single-sheet spreadsheet of the domain objects to an existing workbook instead of creating one.</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td><a href="#toExcel__WorksheetContent_String">toExcel(WorksheetContent, String)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>As <em>#toExcel(List, Class, String, String)</em> , but with the domain objects, class and sheet name provided using a <a href="../WorksheetContent.html" class="page">WorksheetContent</a> .</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
<td><a href="#toExcel__WorksheetContent_String_InputStream">toExcel(WorksheetContent, String, InputStream)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>As <em>#toExcel(List, Class, String, String)</em> , but with the domain objects, class and sheet name provided using a <a href="../WorksheetContent.html" class="page">WorksheetContent</a> and with an input stream.</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
<td><a href="#toExcel__List_String">toExcel(List, String)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>As <em>#toExcel(WorksheetContent, String)</em> , but with multiple sheets.</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
<td><a href="#toExcel__List_String_InputStream">toExcel(List, String, InputStream)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>As <em>#toExcel(WorksheetContent, String)</em> , but with multiple sheets and an input stream.</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
<td><a href="#toExcelPivot__List_Class_String">toExcelPivot(List, Class, String)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>Creates a Blob holding a single-sheet spreadsheet with a pivot of the domain objects. The sheet name is derived from the class name.</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="8"></i><b>8</b></td>
<td><a href="#fromExcel__Blob_Class_String">fromExcel(Blob, Class, String)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>Returns a list of objects for each line in the spreadsheet, of the specified type. The objects are read from a sheet taken as the simple name of the class.</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="9"></i><b>9</b></td>
<td><a href="#fromExcel__Blob_WorksheetSpec">fromExcel(Blob, WorksheetSpec)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>As <em>#fromExcel(Blob, Class, String)</em> , but specifying the class name and sheet name by way of a <a href="../WorksheetSpec.html" class="page">WorksheetSpec</a> .</p>
</div>
</div>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="10"></i><b>10</b></td>
<td><a href="#fromExcel__Blob_List">fromExcel(Blob, List)</a>
<div class="openblock">
<div class="content">
<div class="paragraph">
<p>As <em>#fromExcel(Blob, WorksheetSpec)</em> , but reading multiple sheets (and returning a list of lists of domain objects).</p>
</div>
</div>
</div></td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="members"><a class="anchor" href="#members"></a>Members</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="toExcel__List_Class_String_String"><a class="anchor" href="#toExcel__List_Class_String_String"></a>toExcel(List, Class, String, String)</h3>
<div class="paragraph">
<p>Creates a Blob holding a single-sheet spreadsheet of the domain objects.</p>
</div>
<div class="paragraph">
<p>There are no specific restrictions on the domain objects; they can be either persistable entities or view models. Do be aware though that if imported back using <em>#fromExcel(Blob, Class, String)</em> , then new instances are always created. It is generally better therefore to work with view models than to work with entities. This also makes it easier to maintain backward compatibility in the future if the persistence model changes; using view models represents a stable API for import/export.</p>
</div>
</div>
<div class="sect2">
<h3 id="toExcel__List_Class_String_String_InputStream"><a class="anchor" href="#toExcel__List_Class_String_String_InputStream"></a>toExcel(List, Class, String, String, InputStream)</h3>
<div class="paragraph">
<p>As <em>#toExcel(List, Class, String, String)</em> , but appends a single-sheet spreadsheet of the domain objects to an existing workbook instead of creating one.</p>
</div>
</div>
<div class="sect2">
<h3 id="toExcel__WorksheetContent_String"><a class="anchor" href="#toExcel__WorksheetContent_String"></a>toExcel(WorksheetContent, String)</h3>
<div class="paragraph">
<p>As <em>#toExcel(List, Class, String, String)</em> , but with the domain objects, class and sheet name provided using a <a href="../WorksheetContent.html" class="page">WorksheetContent</a> .</p>
</div>
</div>
<div class="sect2">
<h3 id="toExcel__WorksheetContent_String_InputStream"><a class="anchor" href="#toExcel__WorksheetContent_String_InputStream"></a>toExcel(WorksheetContent, String, InputStream)</h3>
<div class="paragraph">
<p>As <em>#toExcel(List, Class, String, String)</em> , but with the domain objects, class and sheet name provided using a <a href="../WorksheetContent.html" class="page">WorksheetContent</a> and with an input stream.</p>
</div>
</div>
<div class="sect2">
<h3 id="toExcel__List_String"><a class="anchor" href="#toExcel__List_String"></a>toExcel(List, String)</h3>
<div class="paragraph">
<p>As <em>#toExcel(WorksheetContent, String)</em> , but with multiple sheets.</p>
</div>
</div>
<div class="sect2">
<h3 id="toExcel__List_String_InputStream"><a class="anchor" href="#toExcel__List_String_InputStream"></a>toExcel(List, String, InputStream)</h3>
<div class="paragraph">
<p>As <em>#toExcel(WorksheetContent, String)</em> , but with multiple sheets and an input stream.</p>
</div>
</div>
<div class="sect2">
<h3 id="toExcelPivot__List_Class_String"><a class="anchor" href="#toExcelPivot__List_Class_String"></a>toExcelPivot(List, Class, String)</h3>
<div class="paragraph">
<p>Creates a Blob holding a single-sheet spreadsheet with a pivot of the domain objects. The sheet name is derived from the class name.</p>
</div>
<div class="paragraph">
<p>Minimal requirements for the domain object are:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>One property has annotation <a href="../PivotRow.html" class="page">PivotRow</a> and will be used as row identifier in left column of pivot. Empty values are supported.</p>
</li>
<li>
<p>At least one property has annotation <a href="../PivotColumn.html" class="page">PivotColumn</a> . Its values will be used in columns of pivot. Empty values are supported.</p>
</li>
<li>
<p>At least one property has annotation <a href="../PivotValue.html" class="page">PivotValue</a> . Its values will be distributed in the pivot.</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="fromExcel__Blob_Class_String"><a class="anchor" href="#fromExcel__Blob_Class_String"></a>fromExcel(Blob, Class, String)</h3>
<div class="paragraph">
<p>Returns a list of objects for each line in the spreadsheet, of the specified type. The objects are read from a sheet taken as the simple name of the class.</p>
</div>
<div class="paragraph">
<p>If the class is a view model then the objects will be properly instantiated, with the correct view model memento; otherwise the objects will be simple transient objects.</p>
</div>
</div>
<div class="sect2">
<h3 id="fromExcel__Blob_WorksheetSpec"><a class="anchor" href="#fromExcel__Blob_WorksheetSpec"></a>fromExcel(Blob, WorksheetSpec)</h3>
<div class="paragraph">
<p>As <em>#fromExcel(Blob, Class, String)</em> , but specifying the class name and sheet name by way of a <a href="../WorksheetSpec.html" class="page">WorksheetSpec</a> .</p>
</div>
</div>
<div class="sect2">
<h3 id="fromExcel__Blob_List"><a class="anchor" href="#fromExcel__Blob_List"></a>fromExcel(Blob, List)</h3>
<div class="paragraph">
<p>As <em>#fromExcel(Blob, WorksheetSpec)</em> , but reading multiple sheets (and returning a list of lists of domain objects).</p>
</div>
</div>
</div>
</div>
</article>
<aside class="article-aside toc hide-for-print" role="navigation">
<p class="toc-title">On this page</p>
<div id="article-toc"></div>
</aside>
</main>
</div>
<footer class="footer">
<div class="content">
<div class="copyright">
<p>
Copyright © 2010~2021 The Apache Software Foundation, licensed under the Apache License, v2.0.
<br/>
Apache, the Apache feather logo, Apache Isis, and the Apache Isis project logo are all trademarks of The Apache Software Foundation.
</p>
</div>
<div class="revision">
<p>Revision: release-2.0.0-M6-RC2.20210826-0110</p>
</div>
</div>
</footer>
<script src="../../../../../../../../_/js/site.js"></script>
<script async src="../../../../../../../../_/js/vendor/highlight.js"></script>
<script src="../../../../../../../../_/js/vendor/jquery-3.4.1.min.js"></script>
<script src="../../../../../../../../_/js/vendor/jquery-ui-1.12.1.custom.widget-only.min.js"></script>
<script src="../../../../../../../../_/js/vendor/jquery.tocify.min.js"></script>
<script>
$(function() {
$("#article-toc").tocify( {
showEffect: "slideDown",
hashGenerator: "pretty",
hideEffect: "slideUp",
selectors: "h2, h3",
scrollTo: 120,
smoothScroll: true,
theme: "jqueryui",
highlightOnScroll: true
} );
});
</script>
<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
<script>
function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
var search = docsearch({
appId: '5ISP5TFAEN',
apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
indexName: 'isis-apache-org',
inputSelector: '#algolia-search-input',
autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
debug: false,
}).autocomplete
search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
focusSearchInput()
window.addEventListener('load', focusSearchInput);
</script>
<!--
docsearch options:
https://docsearch.algolia.com/docs/behavior/
-->
<!--
https://www.algolia.com/doc/api-reference/api-parameters/
algoliaOptions: { hitsPerPage: 6 },
-->
</body>
</html>