JExcel library provides an effective way to solve various tasks related to tabular format reports processing using integration and full control over Microsoft Excel in Java Swing applications.
You’ll be able to perform any operation on Excel workbooks—create or open, save, modify (not only the workbook data, but also name, title, author, file path, password protection, window caption, size, zoom, state and many other options).
javax.el.ELException: /products/jni/layout/downloadWidget.xhtml: Error reading 'evaluationInfo' on type com.teamdev.site.jsf.beans.product.ProductPageHandler at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:48) at com.sun.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:39) at com.sun.facelets.compiler.UILeaf.encodeAll(UILeaf.java:149) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942) at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592) at teamdev.jsf.ai.renderView(SourceFile:49) at teamdev.jsf.cl.renderView(SourceFile:405) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) at org.sevenhats.util.servlet.AbstractServletWrapper.service(AbstractServletWrapper.java:28) at org.sevenhats.jsf.impl.FacesServletWrapper.service(FacesServletWrapper.java:79) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:82) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at com.teamdev.site.jsf.filter.NoCacheFilter.doFilter(NoCacheFilter.java:48) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at com.teamdev.site.jsf.filter.ForwardFilter.doFilter(ForwardFilter.java:55) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at org.sevenhats.web.transaction.TransactionFilter.doFilter(TransactionFilter.java:48) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at teamdev.jsf.util.ResourceFilter.doFilter(SourceFile:93) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at org.sevenhats.web.common.FilterMappingFilter.doFilter(FilterMappingFilter.java:60) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.common.WelcomeFileSupportFilter.doFilter(WelcomeFileSupportFilter.java:74) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.common.UrlPathMappingSupportFilter.doFilter(UrlPathMappingSupportFilter.java:60) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.impl.ScopeRegistrationFilter.doFilter(ScopeRegistrationFilter.java:56) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.sevenhats.web.common.TargetBundleAwareServlet.service(TargetBundleAwareServlet.java:79) at org.eclipse.equinox.http.helper.ContextInitParametersServletAdaptor.service(ContextInitParametersServletAdaptor.java:34) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:255) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:30) at com.teamdev.site.jsf.filter.ForwardFilter.doFilter(ForwardFilter.java:49) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at org.sevenhats.web.transaction.TransactionFilter.doFilter(TransactionFilter.java:63) at org.sevenhats.web.common.FilterMappingFilter$FilterChainExtension.doFilter(FilterMappingFilter.java:93) at org.sevenhats.web.common.FilterMappingFilter.doFilter(FilterMappingFilter.java:60) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.common.WelcomeFileSupportFilter.doFilter(WelcomeFileSupportFilter.java:74) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.common.UrlPathMappingSupportFilter.doFilter(UrlPathMappingSupportFilter.java:60) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.sevenhats.web.impl.ScopeRegistrationFilter.doFilter(ScopeRegistrationFilter.java:56) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.sevenhats.web.common.TargetBundleAwareServlet.service(TargetBundleAwareServlet.java:79) at org.eclipse.equinox.http.helper.ContextInitParametersServletAdaptor.service(ContextInitParametersServletAdaptor.java:34) at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:255) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450) Caused by: java.lang.NullPointerException at com.teamdev.site.jsf.beans.product.ProductPageHandler.getAcceptableProductFor(ProductPageHandler.java:82) at com.teamdev.site.jsf.beans.product.ProductPageHandler.getEvaluationInfo(ProductPageHandler.java:54) at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at javax.el.BeanELResolver.getValue(BeanELResolver.java:62) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72) at com.sun.el.parser.AstValue.getValue(AstValue.java:117) at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192) at com.sun.facelets.el.ELText$ELTextVariable.writeText(ELText.java:184) at com.sun.facelets.el.ELText$ELTextComposite.writeText(ELText.java:108) at com.sun.facelets.compiler.TextInstruction.write(TextInstruction.java:45) ... 105 more
<dn id="_teamdev_ViewRoot" locale="en_US" renderKitId="HTML_BASIC" rendered="true" transient="false" viewId="/jexcel/features/index.xhtml">_QuipuKitValidationProcessor_<ValidationProcessor id="teamdevValidationProcessor" rendered="false" transient="false" useDefaultClientValidationPresentationForApplication="true" useDefaultServerValidationPresentationForApplication="true"/><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" ><html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="AUTHOR" content="TeamDev Ltd."/> <meta name="CONTENT-LANGUAGE" content="en-US,ru"/> <meta name="COPYRIGHT" content=" 2009 TeamDev Ltd."/> <meta name="CACHE-CONTROL" content="Public"/><ComponentRef id="j_id3" rendered="true" transient="false"><meta name="Keywords" content="#{metaKeywords}"/></ComponentRef><ComponentRef id="j_id5" rendered="true" transient="false"><meta name="Description" content="#{metaDescription}"/></ComponentRef><title>#{productPage.productName} Features — #{propertyService.properties['company.name.full']}</title> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/reset.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/layout.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/main.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/menu.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/boxes.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/popup.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/print.css" type="text/css" media="print"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/handheld.css" type="text/css" media="handheld"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/edit.css" type="text/css" media="screen,projection"/><link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/products.css" type="text/css" media="screen,projection"/> <link rel="stylesheet" href="#{facesContext.externalContext.requestContextPath}/css/product_#{productName}.css" type="text/css" media="screen,projection"/><script src="#{facesContext.externalContext.requestContextPath}/js/jquery/jquery-1.2.6.pack.js" type="text/javascript"/> <script src="#{facesContext.externalContext.requestContextPath}/js/jquery/facebox.js" type="text/javascript"/> <script src="#{facesContext.externalContext.requestContextPath}/js/jquery/jquery.hoverIntent.minified.js" type="text/javascript"/> <script src="#{facesContext.externalContext.requestContextPath}/js/main.js" type="text/javascript"/> <script src="#{facesContext.externalContext.requestContextPath}/js/dlink.js?notitles&nomailevents" type="text/javascript"/><!--[if lt IE 7]> <link rel="stylesheet" type="text/css" media="all" href="/css/style_ie6.css"> <script src="/js/stylefix.js" type="text/javascript"></script> <![endif]--> <link rel="icon" href="/favicon.ico" type="image/x-icon"/> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/><link rel="alternate" type="application/rss+xml" title="TeamDev #{productPage.productName} Product News" href="http://support.teamdev.com/blogs/feeds/tags/#{productName}"/><link rel="alternate" type="application/rss+xml" title="TeamDev Company News" href="http://support.teamdev.com/blogs/feeds/tags/company_news"/> <link rel="alternate" type="application/rss+xml" title="TeamDev Products Release Notes" href="http://support.teamdev.com/blogs/feeds/tags/release_notes"/> <link rel="alternate" type="application/rss+xml" title="TeamDev Support Blog Posts Feed" href="http://support.teamdev.com/community/feeds/blogs?community=1"/> <link rel="alternate" type="application/rss+xml" title="TeamDev Support Documents Feed" href="http://support.teamdev.com/community/feeds/documents?community=1"/> </head> <body id="#{bodyId}"><AjaxSettings id="j_id15" progressMessage="teamdev.jsf.component.ajaxsettings.DefaultProgressMessage@1c5659e" rendered="true" sessionExpiration="teamdev.jsf.component.ajaxsettings.DefaultSessionExpiration@92a479" transient="false">progressMessage<DefaultProgressMessage id="j_id16" rendered="true" style="display: none;" transient="false"/>sessionExpiration<DefaultSessionExpiration confirmation="teamdev.jsf.component.confirmation.Confirmation@16c3eb2" id="j_id93" rendered="true" transient="false"><Confirmation alignToInvoker="false" cancelButtonText="Reload later" captionText="Session Expired" closeOnOuterClick="false" details="A new session will be created when the page is reloaded" draggable="false" draggableByContent="true" height="160px" hidingTimeout="-1" id="j_id93--confirm_expiration" message="Your session has expired" minHeight="80px" minWidth="150px" modal="true" modalLayerStyle="background: black; filter: alpha(opacity=50); opacity: .50;" okButtonText="Reload page now" rendered="true" resizeable="false" showCloseWindowButton="false" showMessageIcon="true" transient="false" visible="false" width="400px"/></DefaultSessionExpiration></AjaxSettings><div id="Page"><h1 id="Logo_small"><a href="/"><img src="#{facesContext.externalContext.requestContextPath}/images/logos/logo_1.png" alt="#{propertyService.properties['company.name.full']} Home Page" title="#{propertyService.properties['company.name.full']} Home Page"/></a></h1><UINamingContainer id="menuSubview" rendered="true" transient="false"><UINamingContainer id="menuSubview" rendered="true" transient="false"><ul id="Menu"> <li class="orange_bg #{current=='product' ? 'current' : ''}"><a href="/products/"><span><img src="/images/menu/blank.gif" alt="Producs"/></span></a></li> <li class="green_bg #{current=='store' ? 'current' : ''}"><a href="/store/"><span><img src="/images/menu/blank.gif" alt="Store"/></span></a></li> <li class="violet_bg #{current=='support' ? 'current' : ''}"><a href="/support/"><span><img src="/images/menu/blank.gif" alt="Support"/></span></a></li> <li class="indigo_bg #{current=='services' ? 'current' : ''}"><a href="/services/"><span><img src="/images/menu/blank.gif" alt="Services"/></span></a></li> <li class="blue_bg lastItem #{current=='company' ? 'current' : ''}"><a href="/company/"><span><img src="/images/menu/blank.gif" alt="Company"/></span></a></li></ul></UINamingContainer></UINamingContainer><UINamingContainer id="submenuSubview" rendered="true" transient="false"><UIRepeat id="j_id21" offset="0" rendered="true" size="-1" transient="false" var="group"><ul class="SubMenu #{group.name}"><UIRepeat id="j_id23" offset="0" rendered="true" size="-1" transient="false" var="item"><li class="#{item.current ? 'active' : ''} #{item.menuType.value=='IMAGE' ? 'imagemenu' : ''}"><HtmlPanelGroup id="j_id25" rendered="false" transient="false"><span><HtmlGraphicImage id="j_id27" ismap="false" rendered="false" transient="false"/><HtmlOutputText escape="true" id="j_id28" rendered="false" transient="false"/></span></HtmlPanelGroup><HtmlPanelGroup id="j_id30" rendered="true" transient="false"><a href="#{item.url}" class="#{item.urlClass}" id="#{item.linkId}"><HtmlGraphicImage id="j_id32" ismap="false" rendered="false" transient="false"/><HtmlOutputText escape="true" id="j_id33" rendered="false" transient="false"/></a></HtmlPanelGroup></li></UIRepeat></ul></UIRepeat></UINamingContainer><div id="Content"><div class="clearfix mainText"> <div id="leftContent" class="Col4_123 serif"><HtmlForm enctype="application/x-www-form-urlencoded" id="j_id39" prependId="true" rendered="true" submitted="false" transient="false"><HtmlOutputText escape="false" id="j_id40" rendered="true" transient="false" value="<p>JExcel library provides an effective way to solve various tasks related to tabular format reports processing using integration and full control over Microsoft Excel in Java Swing applications.</p> <br/> <div class="container"> <div class="Col3_1 nomargintop"> <img src="/images/products/jni/jexcel/jexcel-features-manage.png" alt="Manage Workbooks & Properties"/> </div> <div class="Col3_23"> <h4><img src="/images/products/jni/jexcel/manage-workbooks-and-properties.png" alt="Manage Workbooks & Properties"/></h4> <p>You’ll be able to perform any operation on Excel workbooks—create or open, save, modify (not only the workbook data, but also name, title, author, file path, password protection, window caption, size, zoom, state and many other options).</p> </div> </div>"/></HtmlForm></div> <div id="rightContent" class="Col4_4"><script src="/js/jquery/jquery.validate.js" type="text/javascript"/> <script type="text/javascript"> var product = '#{productPage.productName}'; function fireGoogleAnalytics(productName, evaluate) { var action = evaluate ? "evaluate" : "download"; var eventStr = "/" + action + "-" + productName; pageTracker._trackPageview(eventStr); } function show(id) { var component = document.getElementById(id); component.className = 'visible'; $("#download\\:email").addClass("required email"); $("#download\\:name").addClass("required"); } function hide(id) { var component = document.getElementById(id); component.className = 'hidden'; $("#download\\:email").removeClass("required email error"); $("#download\\:name").removeClass("required error"); } function changeVisibility(id) { var component = document.getElementById('download:evaluation'); if (component.checked) { show(id); } else { hide(id); } } function emailValid() { if(isEvaluationChecked()){ return $('#download\\:email').valid(); } else { return true; } } $(document).ready(function() { document.getElementById("download:evaluation").checked = #{productPage.evaluationInfo.sendEvaluation}; document.getElementById("download:email").value = "#{productPage.evaluationInfo.email}"; document.getElementById("download:name").value = "#{productPage.evaluationInfo.name}"; $("#download").validate( { ignore :".ignore", errorPlacement : function(error, element) { // Do nothing } }); }); function isEvaluationChecked() { return document.getElementById('download:evaluation').checked; } function isFormValid() { var valid = $("#download").valid(); return valid; } function processSubmit() { if( isFormValid() ) { var component = document.getElementById('download:evaluation'); fireGoogleAnalytics(product, component.checked) } else { return false; } } </script> <div id="downloadEvaluateBox" class="BoxGrey SideBar"> <div class="container"> <h3>Download & Evaluate</h3> </div> <div class="content"> <p>#{productPage.productName}#{empty productPage.version ? '' : ' '}#{productPage.version}. See <a class="external" href="#{releaseNotesLink}">release notes</a></p><HtmlForm enctype="application/x-www-form-urlencoded" id="download" onsubmit="processSubmit();" prependId="true" rendered="true" submitted="false" transient="false"><table> <tbody><HtmlPanelGroup id="j_id44" rendered="true" transient="false"><tr> <td class="labelHolder"><HtmlOutputLabel escape="true" for="platform" id="j_id46" rendered="true" transient="false">Platform:</HtmlOutputLabel></td> <td><DropDownField autoComplete="true" buttonAlignment="right" buttonClass="donwloadDropDownButton" converter="com.teamdev.site.jsf.beans.product.ProductPageHandler$ProductConverter@1885665" customValueAllowed="false" disabled="false" fieldClass="dropdownFieldClass" id="product" immediate="false" listAlignment="left" listItemClass="donwloadDropDownlistItem" localValueSet="false" maxlength="-2147483648" rendered="true" required="false" size="-2147483648" styleClass="downloadInput" suggestionDelay="350" suggestionMinChars="0" suggestionMode="all" timeout="-1" transient="false" valid="true" var="item">popup<DropDownPopup id="product--popup" rendered="true" transient="false"/><DropDownItems id="j_id49" rendered="true" transient="false"/><TableColumn filterKind="searchField" id="j_id50" rendered="true" resizeable="true" transient="false"><HtmlGraphicImage id="j_id51" ismap="false" rendered="true" transient="false"/></TableColumn><TableColumn filterKind="searchField" id="j_id52" rendered="true" resizeable="true" transient="false"><HtmlOutputText escape="true" id="j_id53" rendered="true" transient="false" value=" "/></TableColumn></DropDownField></td> </tr></HtmlPanelGroup><tr> <td class="labelHolder"> </td> <td> <table cellpadding="0" cellspacing="0" class="evaluationCheckboxHolder"> <tr> <td style="padding-right: 5px;"><HtmlSelectBooleanCheckbox disabled="false" id="evaluation" immediate="false" localValueSet="false" onclick="changeVisibility('nameRow');changeVisibility('emailRow');" readonly="false" rendered="true" required="false" style="" transient="false" valid="true"/></td> <td><HtmlOutputLabel escape="true" for="evaluation" id="j_id57" rendered="true" transient="false">Get evaluation key</HtmlOutputLabel></td> </tr> </table> </td> </tr> <tr id="nameRow"> <td class="labelHolder"><HtmlOutputLabel escape="true" for="name" id="j_id60" rendered="true" transient="false">Name:</HtmlOutputLabel></td> <td><HtmlInputText disabled="false" id="name" immediate="false" localValueSet="false" maxlength="-2147483648" readonly="false" rendered="true" required="false" size="-2147483648" styleClass="downloadInput required" transient="false" valid="true"/></td> </tr> <tr id="emailRow"> <td class="labelHolder"><HtmlOutputLabel escape="true" for="email" id="j_id64" rendered="true" transient="false">Email:</HtmlOutputLabel></td> <td><HtmlInputText disabled="false" id="email" immediate="false" localValueSet="false" maxlength="-2147483648" readonly="false" rendered="true" required="false" size="-2147483648" styleClass="downloadInput required email " transient="false" valid="true"/></td> </tr> <tr> <td/> <td><HtmlCommandButton action="#{productPage.evaluate}" actionExpression="#{productPage.evaluate}" disabled="false" id="j_id68" immediate="false" readonly="false" rendered="true" transient="false" type="submit" value="Download"/></td> </tr> </tbody> </table></HtmlForm></div> </div><HtmlForm enctype="application/x-www-form-urlencoded" id="j_id71" prependId="true" rendered="true" submitted="false" transient="false"><HtmlOutputText escape="false" id="j_id72" rendered="true" transient="false" value="<div> <div style="padding:0 10px;"> <small class="gray">Microsoft Excel 2000 or later must be installed on developer and target environment for correct work of JExcel. </small></div> <br/> <div class="container"> <a href="/downloads/jexcel/docs/JExcel-Fact-Sheet.pdf" class="factsheet"> <span>JExcel</span> </a> <span><small>Learn how you can benefit from JExcel and save your time and money!</small></span> </div><br/> "/><HtmlOutputText escape="false" id="j_id73" rendered="true" transient="false" value="<div class="BoxGrey" style="background:transparent; border: 0px; margin: -1em 0;"> <div class="content"> <div style="width:92px; float: left; margin-left:-10px;margin-top: 5px;"><a href="/store/jexcel/"> <img src="/images/buttons/buynow.png" alt="Buy now" border="0"/></a> </div> <div style="margin-left:89px;"> <br/> <p>Buy online in few steps<br/> Questions by <a href="mailto:sales@teamdev.com" class="gray">email</a></p> </div> </div> </div>"/><HtmlOutputText escape="false" id="j_id74" rendered="true" transient="false" value=" </div>"/></HtmlForm></div> </div> <div id="fullWidthContent" class="Col1_1 serif"><HtmlForm enctype="application/x-www-form-urlencoded" id="j_id76" prependId="true" rendered="true" submitted="false" transient="false"><HtmlOutputText escape="false" id="j_id77" rendered="true" transient="false" value="<div class="container"> <div class="Col4_1 nomargintop"> <h4>Work with Cells & Ranges</h4> <p>Reference cells by coordinates, address or name, set and get values of different types, convert cells into ranges and vice versa, customize cell appearance, reference range, find values in ranges, obtain ranges intersection, merge/unmerge cells of a range, etc.</p> </div> <div class="Col4_2 nomargintop"> <h4>Manage Worksheets</h4> <p>Obtain worksheet by its name or index, obtain all worksheets in a workbook, add a new worksheet and assign the name of the new worksheet, move a worksheet to a specified position and remove a worksheet from a workbook etc.</p> </div> <div class="Col4_34 nomargintop"> <h4>Customize Cells & Ranges</h4> <ul class="hang"> <li>Change a number format</li> <li>Customize text alignment and orientation</li> <li>Font customization—name, size, general styles, underline style, color, alignment style</li> <li>Change background pattern and color in cells</li> <li>Border appearance customization: border color, line style and weight.</li> </ul> </div> </div> <div class="container Inset"> <div class="Col2_1 nomargintop"> <img src="/images/products/jni/jexcel/jexcel-features-listen.jpg" alt="Listen to and Handle Excel Events" style="margin:0 0 -.5em -.75em;"/> </div> <div class="Col2_2" style="padding-top:2em;"> <h3>Listen to and Handle Excel Events</h3> <p>With JExcel Workbook and Worksheet classes, you can add listeners to the events generated by a workbook or worksheet as well as process them by handlers to affect respectively the behavior of a workbook or worksheet.</p> </div> </div> <div class="container"> <div class="Col3_1"> <h4>Application Events</h4> <p>Microsoft Excel sends notifications about the following application events: a new workbook is created, a workbook is opened.</p> </div> <div class="Col3_2"> <h4>Workbook Events</h4> <p>You can listen to workbook activation/deactivation, new worksheet adding to a workbook, workbook saving/closing events.</p> </div> <div class="Col3_3"> <h4>Worksheet Events</h4> <p>You can handle various worksheet events: activation/deactivation, changing values and selections, double-click and right-click events.</p> </div> </div> <hr /><br /> <div class="Col1_1 nomargintop"> <h3><img src="/images/products/jni/jexcel/embed-a-workbook-into-java.png" alt="Embed a Workbook into Java"/></h3> <p>Using the JWorkbook class as an OLE container, you can add an Excel workbook into a Java Swing application just like an ordinary Swing component and receive functionality for working with its content: open and save an embedded workbook, print it by displaying the Print dialog or directly, display a workbook in a static mode (read-only) or in a normal mode, listen to JWorkbook events.</p> </div> <div class="container"> <div class="Col2_1"> <h4>Ability to work with Native Peers and Thread Issues</h4> <p>Using the developer-friendly JExcel API, you can get direct access to any COM interface of the MS Excel COM API to implement functionality that is not yet available in the JExcel API. JExcel provides peers for the following classes: <a href="/downloads/jexcel/javadoc/com/jniwrapper/win32/jexcel/Application.html">Application</a>, <a href="/downloads/jexcel/javadoc/com/jniwrapper/win32/jexcel/Workbook.html">Workbook</a>, <a href="/downloads/jexcel/javadoc/com/jniwrapper/win32/jexcel/Worksheet.html">Worksheet</a>, <a href="/downloads/jexcel/javadoc/com/jniwrapper/win32/jexcel/Range.html">Range</a>, and <a href="/downloads/jexcel/javadoc/com/jniwrapper/win32/jexcel/Cell.html">Cell</a>.</p> </div> <div class="Col2_2"> <h4>High level <code>mergeWorkbook()</code> method</h4> <p>It allows copying all worksheets from the specified workbook into another workbook instance. Using this method you can copy worksheets only but you’ll be unable to do the same with VBA scripts.</p> </div> </div> "/></HtmlForm></div></div> <div class="BoxGrey QuickLinks"> <div class="content container"> <div class="Col4_1"><UINamingContainer id="purchaseNavigationBlock" rendered="true" transient="false"><h4>Purchase & Licensing</h4> <ul> <li><a href="/#{productPage.productNameLowerCase}/licensing/">Licensing models</a></li> <li><a href="/store/#{productPage.productNameLowerCase}/">How to purchase #{productPage.productName}</a></li> <li><a href="/store/#{productPage.productNameLowerCase}/#discounts">Save with discounts</a></li> <!--li><a >Upgrade your product</a></li--> </ul></UINamingContainer></div> <div class="Separator4_12"/> <div class="Col4_2"><UINamingContainer id="supportNavigationBlock" rendered="true" transient="false"><h4>Support</h4> <ul> <li><a href="http://support.teamdev.com/#{productPage.productNameLowerCase}" class="external" target="_blank">Get help with #{productPage.productName}</a></li> <li><a href="http://support.teamdev.com/forms/reportForm.jsf" class="external" target="_blank">Submit your support request</a></li> </ul></UINamingContainer></div> <div class="Separator4_23"/> <div class="Col4_3"><UINamingContainer id="documentationNavigationBlock" rendered="true" transient="false"><h4>Documentation</h4> <ul> <li><a href="/#{productPage.productNameLowerCase}/features/">Features</a></li> <li><a href="#{propertyService.properties['server.download.folder']}/#{productPage.productNameLowerCase}/docs/#{productPage.productName}-PGuide.html">Programmer's Guide</a></li> <li><a href="/#{productPage.productNameLowerCase}/documentation/">FAQ and troubleshooting</a></li> <li><a href="http://support.teamdev.com/blogs/tags/#{productPage.productNameLowerCase}" class="external">Product news</a></li> </ul></UINamingContainer></div> <div class="Separator4_34"/> <div class="Col4_4"><UINamingContainer id="productsNavigationBlock" rendered="true" transient="false"><script type="text/javascript"> $(document).ready(function(){ $('.q_popuplayer').mouseout(function(){ $('.q_popuplayer').css({display: 'none'}); }); $('.productQuickLink:not(#jxfilewatcherQuickLink)').hoverIntent({ sensitivity: 3, interval: 200, over: function() { var productName = this.href.substring(0, this.href.length - 1); productName = productName.substring(productName.lastIndexOf('/') + 1); openProductPopup(productName); }, out: function() { } }); closeProductPopup(); }); function openProductPopup(productNameLowerCase) { if (productNameLowerCase == "") { return; } var productInfoSelector = "#" + productNameLowerCase + "ProductQuickLinkContent"; var productName = $(productInfoSelector + " > .productName")[0].innerHTML; var productDescription = $(productInfoSelector + " > .productDescription")[0].innerHTML; var description = '<strong><a href="/' + productNameLowerCase + '/">' + productName + '</a></strong><br/><span>' + productDescription + '</span><br/>'; if (productNameLowerCase != 'quipukit'){ description += '<a href="/' + productNameLowerCase + '/features/">Features</a>'; description += ' | '; } if (productNameLowerCase != 'jniwrapper'){ description += '<a href="/' + productNameLowerCase + '/onlinedemo/">Online Demo</a>'; } else { description += '<a href="/jniwrapper/winpack/">WinPack</a>'; } $("#productInfoDiv")[0].innerHTML = description; $("#productImgDiv")[0].innerHTML = '<img src="/images/icons/quicklinks/' + productNameLowerCase + '.png" alt="' + productName + '" align="left"/>'; var offset = $("#" + productNameLowerCase + "QuickLink").offset(); var pageOffset = $('#Page').offset(); var x = offset.left - pageOffset.left - 22; var navBlockOffset = $('.QuickLinks').offset(); var y = offset.top - navBlockOffset.top - 9; document.getElementById('productsNavigationBlock:links:productPopup').showAtXY(x, y); document.getElementById('productsNavigationBlock:links:productPopup').onmouseover = function() { q_showPopupLayer('productsNavigationBlock:links:productPopup'); }; } function closeProductPopup() { document.getElementById('productsNavigationBlock:links:productPopup').hide(); } </script> <h4>Products</h4> <div class="container"> <ul class="productsList"> <li><a id="jniwrapperQuickLink" href="/jniwrapper/" class="productQuickLink"> <img src="/images/icons/quicklinks/jniwrapper.png" alt="JNIWrapper" align="left"/>JNIWrapper</a> <div id="jniwrapperProductQuickLinkContent" style="display:none;"> <div class="productName">JNIWrapper</div> <div class="productDescription">Access to native code from Java without JNI</div> </div> </li> <li><a id="comfyjQuickLink" href="/comfyj/" class="productQuickLink"> <img src="/images/icons/quicklinks/comfyj.png" alt="ComfyJ" align="left"/>ComfyJ</a> <div id="comfyjProductQuickLinkContent" style="display:none;"> <div class="productName">ComfyJ</div> <div class="productDescription">Bi-directional Java-COM bridge</div> </div> </li> <li><a id="jxcaptureQuickLink" href="/jxcapture/" class="productQuickLink"> <img src="/images/icons/quicklinks/jxcapture.png" alt="JxCapture" align="left"/>JxCapture</a> <div id="jxcaptureProductQuickLinkContent" style="display:none;"> <div class="productName">JxCapture</div> <div class="productDescription">Screen capture API for Java apps</div> </div> </li> <li><a id="jxbrowserQuickLink" href="/jxbrowser/" class="productQuickLink"> <img src="/images/icons/quicklinks/jxbrowser.png" alt="JxBrowser" align="left"/>JxBrowser</a> <div id="jxbrowserProductQuickLinkContent" style="display:none;"> <div class="productName">JxBrowser</div> <div class="productDescription">Integration of Mozilla Firefox into Java AWT/Swing</div> </div> </li> </ul> <ul class="productsList"> <li><a id="jexplorerQuickLink" href="/jexplorer/" class="productQuickLink"> <img src="/images/icons/quicklinks/jexplorer.png" alt="JExplorer" align="left"/>JExplorer</a> <div id="jexplorerProductQuickLinkContent" style="display:none;"> <div class="productName">JExplorer</div> <div class="productDescription">Use the IE browser as a Java Swing UI component</div> </div> </li> <li><a id="jexcelQuickLink" href="/jexcel/" class="productQuickLink"> <img src="/images/icons/quicklinks/jexcel.png" alt="JExcel" align="left"/>JExcel</a> <div id="jexcelProductQuickLinkContent" style="display:none;"> <div class="productName">JExcel</div> <div class="productDescription">Provides full access to Excel functionality from Java</div> </div> </li> <li><a id="jxfilewatcherQuickLink" href="/jxfilewatcher/" class="productQuickLink"> <img src="/images/icons/quicklinks/jxfilewatcher.png" alt="JxFileWatcher" align="left"/>JxFileWatcher</a> </li> <li><a id="quipukitQuickLink" href="/quipukit/" class="productQuickLink"> <img src="/images/icons/quicklinks/quipukit.png" alt="QuipuKit" align="left"/>QuipuKit</a> <div id="quipukitProductQuickLinkContent" style="display:none;"> <div class="productName">QuipuKit</div> <div class="productDescription">JSF library for creating a dynamic UI for Web apps</div> </div> </li> </ul> </div><HtmlForm enctype="application/x-www-form-urlencoded" id="links" prependId="true" rendered="true" submitted="false" transient="false"><PopupLayer closeOnOuterClick="false" draggable="false" hidingTimeout="0" id="productPopup" modal="false" rendered="true" transient="false" visible="false"><HtmlOutputText escape="false" id="j_id87" rendered="true" transient="true" value=" <div class="productPopup"> <div> <div id="productImgDiv" class="productImgDiv"> </div> <div id="productInfoDiv" class="productInfoDiv"> </div> </div> </div>"/></PopupLayer></HtmlForm></UINamingContainer></div> </div> </div><UINamingContainer id="footerSubview" rendered="true" transient="false"><div id="Footer" class="clearfix"><HtmlForm enctype="application/x-www-form-urlencoded" id="errorReport" prependId="true" rendered="true" submitted="false" transient="false"><HtmlInputHidden id="pageId" immediate="false" localValueSet="false" rendered="true" required="false" transient="false" valid="true"/><HtmlInputHidden id="errorText" immediate="false" localValueSet="false" rendered="true" required="false" transient="false" valid="true"/><HtmlPanelGroup id="errorReportSender" rendered="true" transient="false"><ReloadComponents disableDefault="false" id="sendBugReport" immediate="false" rendered="true" requestDelay="0" submitParent="true" transient="false"/></HtmlPanelGroup></HtmlForm><div class="Col2_1"> © #{dateUtil.currentYear} #{propertyService.properties['company.name.full']} All rights reserved. <a href="/legal/">Terms of Use</a> | <a href="/privacy/">Privacy Policy</a><HtmlOutputText escape="true" id="buildNumber" rendered="true" style="color:white;" transient="false" value=" | Build: #223"/></div> <div class="Col2_2 textright"> <script> function googleSearch(value) { var queryComponent = value + " site:" + window.location.host; queryComponent = encodeURIComponent(queryComponent); var query = "http://www.google.com/search?hl=en&q=" + queryComponent; window.location = query; } </script> <form id="search" type="container" method="get" onsubmit="googleSearch(document.getElementById('search_field').value);return false;"> <a href="/company/contactus/">Contact Us</a> | <a href="/company/news/">Latest News</a> | <a href="/company/career/">Job Offers</a> | <!-- a href="/sitemap/">Site Map</a--> <input type="search" id="search_field" name="text" placeholder="Search" autosave="TeamDev" results="5"/> </form> </div> </div></UINamingContainer></div> <!-- Google Analytics --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-477095-2"); pageTracker._setDomainName("none"); pageTracker._setAllowLinker(true); pageTracker._initData(); pageTracker._trackPageview(); </script> </body> </html></dn>