New Features of ZK Spreadsheet 2.0"

From Documentation
 
(323 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{Template:Smalltalk_Author|
 +
|author= The ZK Team
 +
|date=January 25, 2011
 +
|version=ZK Spreadsheet 2.0.1
 +
}}
 
__TOC__
 
__TOC__
 +
=Introduction=
 +
ZK Spreadsheet is an Ajax component that delivers functionalities found in Microsoft Excel to your browsers.<br/>
 +
Embedding ZK Spreadsheet in your Java web application to garner features such as:
 +
*Import your Excel 2003/2007 files to ZK Spreadsheet and make them collaborative online.
 +
*Control or configure an Ajax spreadsheet with pure Java and seamlessly integrate with Java EE and other back-end services.
 +
*Register event listeners on rows, columns, cells, or any range of selected cells to make a highly interactive web application.
 +
*Enter name expressions in cells to make bindings to back-end Java beans transparently, including Spring and CDI managed beans.
 +
*Export to Excel or PDF for reporting
 +
*Extend on top of hundreds built in functions that come with ZK Spreadsheet in Java.
 +
*Use ZK Spreadsheet as a JSF Component.
 +
*Use ZK Spreadsheet as a JSP Component.
 +
 +
=Features=
 +
==Embeddable Ajax Java Component==
 +
 +
*'''Server-centric Architecture'''
 +
*:Seamlessly integrate with Java EE, Web services and other back-end technologies.
 +
*:No JavaScript required.
 +
 +
*'''Fully Controllable in Java'''
 +
*: The backend data model and formula evaluation engine is built on top of  the Apache POI library. Developers could control, configure, or extend the Ajax spreadsheet entirely in Java.
 +
* '''Event Driven'''
 +
*: A comprehensive set of events were designed to allow developers to create a highly interactive spreadsheet application.
 +
*: [/_w/images/8/88/EditingEvents.swf See Demo-Editing Events], [/_w/images/c/cd/KeyEvent.png See Illustration-Key Events], [/_w/images/1/1b/OnHeaderRightClick.swf See Demo-Mouse Events], [/_w/images/4/40/SelectionEvents.png See Illustration-Selection Events]
 +
*:[[ZK_Spreadsheet_Essentials/Working_with_ZK_Spreadsheet/Implement_ZK_Spreadsheet_Event_Listeners | Read Doc]]
 +
 +
* '''Java Bean Binding'''[[#Reference | *]]
 +
*: ZK Spreadsheet resolves name expressions in cells to make bindings to back-end Java beans transparently, including Spring and CDI managed beans.
 +
*: [/_w/images/5/5e/DataBinding_Chart.png See Illustration]
 +
 +
* '''Embeddable in Java Web Pages'''
 +
*: ZK Spreadsheet is a ZK component which developers could embed into any Java web application, such as JSP, JSF, and ZUML.
 +
*: Interact with other Ajax components such as Charts, Google Maps, etc.
 +
 +
*'''Support All Major Browsers without Plugin'''
 +
*: Ajax interactivity without Applets, Flash, ActiveX, or Excel.
 +
*: ZK Spreadsheet supports all major browsers: IE 6-9, Firefox, Chrome, Safari, Opera, ...
 +
 +
* '''Collaborate Among Multiple Users'''[[#Reference | *]]
 +
*: Allow multiple users to collaborate on the same worksheet.
 +
 +
* '''Use as a JSF Component'''[[#Reference | *]]
 +
*: In addition as an embeddable ZK component, ZK Spreadsheet is also provided as a JSF Ajax Component.
 +
 +
==Imort/Export Worksheet==
 +
* '''Import/Export Excel 2003/2007 Files'''
 +
*: Import or export worksheets with xls (Excel 2003) or xlsx (Excel 2007) formats.
 +
 +
* '''Export to PDF'''[[#Reference | *]]
 +
*: Print worksheets or a selection of cells to PDF.
 +
*:  [/_w/images/5/5a/ExportPDF.swf See Demo]
 +
 +
==Worksheet Operations==
 +
* '''3-D Cell Reference'''
 +
*: Reference the same cell or range on multiple worksheets
 +
 +
* '''External Book Reference'''[[#Reference | *]]
 +
*: Reference a cell or range on a worksheet in another workbook.
 +
 +
*  '''Sorting and Custom Sort'''
 +
*: Sort columns or rows in ascending/descending order, or sort with predefined conditions, such as sorting columns of data one by one sequentially.
 +
*: [/_w/images/c/cf/Sorting.swf See Demo]
  
=Introduction=
+
* '''Drag and Drop Editing of Selected Cells'''
ZK Spreadsheet is an Ajax component that delivers the rich functionality of Excel on the Java Web application.  
+
*:  Use drag and drop to copy or move selected cell on worksheets.
 +
*:  [/_w/images/9/9c/DragNDropCells.swf See Demo]
 +
 
 +
*  '''Auto-fill Cells'''
 +
*:  Select and drag a selection of cells to copy their content to adjacent cells.
 +
*:  [/_w/images/6/69/AutoFillCells.swf See Demo]
 +
 
 +
* '''Merge/Unmerge Cells'''
 +
*: ZK Spreadsheet supports merging and unmerging of horizontal cells
 +
 
 +
* '''Copy-Paste Cells with Paste Special Support'''
 +
*: Users can copy and paste selected cells with the option of executing a specific paste special task.
 +
*:  [/_w/images/b/b4/CopyPaste.swf See Demo]
 +
 
 +
*'''Access Named Range of Cells'''
 +
*: Access a named range imported from Excel in ZK Spreadsheet.
 +
 
 +
* '''Insert/Delete Rows, Columns, or a Range of Cells'''
 +
*: Rows, columns, or a selected range of cells can be inserted or deleted dynamically.
 +
*: [/_w/images/a/a2/AlterRanges.swf See Demo]
 +
 
 +
*  '''Keystroke Shortcuts'''
 +
*: ZK Spreadsheet has an array of built in shortcuts, such as "Ctrl + Delete" for clearing CSS styling,"Shift + Arrow Keys" for selecting a range of cells, etc.
 +
*:  [/_w/images/4/41/ShortcutKeys.swf See Demo]
 +
 
 +
* '''Hyperlink Web Pages'''
 +
*: A hyperlink can be opened in the same window or users can hold the Ctrl key to open the web page in a new tab.
 +
*: [/_w/images/c/cd/Hyperlink.swf See Demo]
 +
 
 +
* '''Multi-line In-place Cell Editing'''
 +
*: Users can key in multiple rows in a cell.
 +
<!-- [/_w/images/9/9e/EditingZSS.swf See Demo] This demo shows in-place editing, not multi-line-->
 +
 
 +
==Worksheet Customization==
 +
*  '''User Defined Functions'''[[#Reference | *]]
 +
*: ZK Spreadsheet allows developers to implement custom formula functions on top of hundreds built in ones in Java. End users can use custom these functions just like any other built in functions.
 +
 
 +
* '''Multiple Worksheets'''
 +
*:  Multiple worksheets are allowed for a workbook
 +
*: [/_w/images/d/d4/Muti-Sheets.swf See Demo]
 +
 
 +
* '''Freeze Rows and Columns'''
 +
*: Rows and columns can be made frozen so that desired rows or columns are locked in view.
 +
*: [/_w/images/d/d1/FreezeColRow.swf See Demo]
 +
 
 +
* '''Hide/Show Rows and Columns'''
 +
*: Rows and columns can be shown or hidden using context menu or by simply dragging the rows or columns to collapse or expand.
 +
*: [/_w/images/b/b0/HideRowCol.swf See Demo - Using Context Menu]
 +
*: [/_w/images/1/12/HideRowColByDragging.swf See Demo - Using Drag and Collapse/Expand]
 +
 
 +
* '''Hide/Show Row/Column Headers'''
 +
*:  Headers for rows and columns can be made visible/invisible
 +
 
 +
*  '''Modify Row/Column Headers'''
 +
*: [/_w/images/1/12/ModifyHeader.swf See Demo]
 +
 
 +
*  '''Hide/Show Grid Lines'''
 +
*: Users can make grid visible/invisible with a click of the check-box.
 +
*: [/_w/images/c/c5/GridLines.swf See Demo]
 +
 
 +
*  '''Set Maximum Rows and Columns Allowed'''
 +
*: The maximum number of rows and columns allowed for a ZK Spreadsheet component can be predefined.
 +
*: [/_w/images/0/04/MaxColRow.swf See Demo]
 +
 
 +
* '''Set Column Width and Row Height'''
 +
*: Column width and row height are adjustable.
 +
 
 +
* '''Set Worksheet Size'''
 +
*: ZK Spreadsheet is sizable just like other ZK components.
 +
 
 +
*: [[ZK_Spreadsheet_Essentials/Working_with_ZK_Spreadsheet/Implement_Your_Own_Formula_Functions/As_Simple_as_a_Java_Static_Method | Read Doc]]
 +
 
 +
==Cell Formatting and Styling==
 +
* '''CSS Styling'''
 +
*: Cells can be styled using CSS definitions.
 +
*: [/_w/images/d/d4/FastIconToolbar.swf See Toolbar Demo]
 +
*: [/_w/images/b/b3/ChangeStyleByContextMenu.swf See Context-menu Demo]
 +
 
 +
* '''Bullet List in Cells'''
 +
*: Content in cells can be shown in bullet form.
 +
 
 +
* '''Number Formatting'''
 +
*:  Numbers can be formatted to reflect their context such as date, currency, etc.
 +
*: [/_w/images/b/bf/NumberFormatting.swf See Demo]
 +
 
 +
*  '''Text Formatting'''
 +
*: Text formatting options include font, boldfaced, italic, among others. Any text format imported from an Excel worksheet would remain consistent in ZK Spreadsheet.
 +
*:[/_w/images/5/52/RichFormattedText.swf See Demo]
 +
 
 +
* '''Input Mask for Date and Time'''
 +
*: Data and time values are converted to the appropriate format.
 +
 
 +
* '''Text Overflow to Adjacent Cells'''
 +
*: Over-sized content in cells is automatically overflown to the right adjacent cell.
 +
 
 +
*'''Text Wrapping'''
 +
*: Over-sized content can be wrapped in cells.
  
Being able to import and export Excel files are just the minimum. Unlike other on-line spreadsheet such as Google Docs or Office 2010 online suite, you can integrate ZK Spreadsheet with your enterprise back-end systems seamlessly and create collaborative and dynamic enterprise applications at minimal cost. You can call versatile Java APIs to control and configure the ZK Spreadsheet component(s). You can register event listeners so an action can be automatically triggered if any specified cell, range, or name changes. You can bind cells to the back-end Java beans, so any changes on the back-end data would be automatically reflected on the ZK Spreadsheet. You can create your own spreadsheet functions in Java and use them in the spreadsheet formulas. Actually, if you like, you can even create by yourselves an on line spreadsheet service with ZK Spreadsheet component.
+
*  '''Selected Cells Highlighting'''
 +
*: Selected cells are masked with a shade.
 +
*: [/_w/images/8/8b/SelectionHighlight.swf See Demo]
  
ZK Spreadsheet is an extensible, customizable, and integratable Java Ajax Web spreadsheet solution, with both built in browser Ajax user interface and back-end server side Excel-like data and logic. None of ActiveX or plug-ins is needed.
+
* '''Set Borders'''
 +
*: Borders of a cell can be made visible or invisible.
  
=Features=
+
* '''Text Alignment'''
Since ZK Spreadsheet 2.0, we have changed the back-end data model from proprietary implementation(ZK Spreadsheet 1.0) to [http://poi.apache.org/spreadsheet/index.html Apache POI] for better scalability and more features.
+
*:  Text in cells can be made aligned to right, center, and left.
 +
*: [/_w/images/5/51/MenuFunction.swf  See Menu Demo]
  
Besides the already implemented versatile features, since version 2 RC, we have fixed 21 bugs and added 42 more new features to make ZK Spreadsheet even stable and useful. Among these new features are more complete supports to the Excel 2007 file format(.xlsx), enhancements to our Web-based Excel like application, ZK Spreadsheet Live, new Financial and Engineering formula functions, and wrapping as a native JSF component.
+
==Charts and Images==
 +
* '''Work with Interactive Excel Charts'''[[#Reference | *]]
 +
*: Charts created in Excel can be imported to ZK Spreadsheet. Changes in the data are reflected on the charts instantly.  
 +
*: Charts supported include: Bar, Bar3D, Line, Line3D, Pie, Pie3D, and Donut in 2003(xls) and 2007(xlsx) format.
 +
*:  [/_w/images/2/2c/ColumnChart.swf See Demo]
  
==ZK Spreadsheet Live==
+
* '''Export Excel Charts to PDF'''[[#Reference | *]]
More enhancements to our Web-based Excel like application, ZK Spreadsheet Live(zssapp):
+
*: Export Excel charts to PDF
===Easy Menu and Toolbar Button for Setting Cell Styles===
+
*: [/_w/images/3/3f/ExportChartPDF.swf See Demo]
You can set font family, size, style, color, and alignment easily with one click. Also you can add or remove cell borders and change cell background color with only a menu selection.
 
<gflash>1100 1000 http://docs.zkoss.org/images/9/9c/SetStyle.swf</gflash>
 
  
===Wizard for Adding Different Type of Hyperlink===
+
* '''Insert/Import Images'''[[#Reference | *]]
You can use the Hyperlink wizard to add Web URL, document cell link, and email link as your wish.
+
*: Users can insert images into cells and images embedded in an Excel 2003 (xls) and 2007 (xlsx) worksheets can be rendered in ZK Spreadsheet when it is imported into ZK Spreadsheet.  
<gflash>1100 1000 http://docs.zkoss.org/images/c/cd/Hyperlink.swf</gflash>
+
*: [/_w/images/0/00/LoadImage.swf See Demo]
  
===Export Spreadsheet to PDF Format===
+
==Worksheet Utilities==
You can export the whole spreadsheet workbook, the current sheet, or a selected range to PDF format with or without header and/or grid lines.
+
* '''Load on Demand'''
<gflash>1100 1000 http://docs.zkoss.org/images/d/de/ExportPdf.swf</gflash>
+
*:  Like other tabular components in ZK, ZK Spreadsheet supports “Load on Demand” which only the cells in view are loaded.  
 +
*: [/_w/images/1/1a/LoadCellOnDemand.png See Illustration]
 +
* '''Efficient Formula Reference Dependency Tracking'''
 +
*: Advanced algorithm for formula evaluation and calculation.
 +
* '''POI Enhancements'''
 +
*: Performance tuning, bug fixing, feature enhancements, etc.
  
===Display or Hide Grid Lines===
+
==Built-in Functions==
You can display or hide grid lines on only one click.
+
'''38 Financial Formula Functions'''[[#Reference | *]]
<gflash>1100 1000 http://docs.zkoss.org/images/b/b5/Gridlines.swf</gflash>
 
  
==Financial Formula Functions==
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
You can now leverage power of ZK Spreadsheet financial functions support to develop enterprise applications that process complex financial data. ZK Spreadsheet currently supports 40 most common financial functions.
+
| ACCRINT || ACCRINTM || AMORDEGRC || AMORLINC || COUPDAYBS || COUPDAYS || COUPDAYSNC || COUPNCD || COUPNUM || COUPPCD
<gflash>870 900 http://docs.zkoss.org/images/9/9d/Zss_financialfunctions_demo.swf</gflash>
+
|-
 +
| CUMIPMT || CUMPRINC || DB || DDB || DISC || DOLLARDE || DOLLARFR || DURATION || EFFECT || FV
 +
|-
 +
| FVSCHEDULE || INTRATE || IPMT || NOMINAL || PPMT || PRICE || PRICEDISC || PRICEMAT || PV || RECEIVED
 +
|-
 +
| SLN || SYD || TBILLEQ || TBILLYIELD || XNPV || YIELD || YIELDDISC || YIELDMAT
 +
|}
 +
<br/>
  
==Engineering Formula Functions==
+
'''60 Math Formula Functions'''[[#Reference | *]]
You can now handle engineering calculation needs with ZK Spreadsheet's engineering functions. ZK Spreadsheet supports all 39 engineering functions.
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
<gflash>870 900 http://docs.zkoss.org/images/8/88/Zss_engineeringfunctions_demo.swf</gflash>
+
| ABS || ACOS || ACOSH || ASIN || ASINH || ATAN || ATAN2 || ATANH || CEILING || COMBINACCRINT
==A Native JSF Ajax Component==
+
|-
Besides working as a ZK Framework component ZK Spreadsheet is also wrapped into a native JSF Ajax component. You can use it within JSF environment seamlessly. For details please check this [[http://books.zkoss.org/wiki/Small_Talks/2010/September/ZK_Spreadsheet_as_a_native_JSF_component article]].
+
| COS  || COSH  || DEGREES  || EVEN  || EXP  || FACT  || FACTDOUBLE  || FLOOR  || GCD  || INT
 +
|-
 +
| LCM  || LN  || LOG  || LOG10  || MDETERM  || MINVERSE  || MMULT  ||  MOD  || MROUND  || MULTINOMIAL
 +
|-
 +
| ODD  || PI  || POWER  || PRODUCT  || QUOTIENT  || RADIANS  || RAND  || RANDBETWEEN  || ROMAN  || ROUND
 +
|-
 +
| ROUNDDOWN  || ROUNDUP  || SERIESSUM  || SIGN  || SIN  || SINH  || SQRT  || SQRTPI  || SUBTOTAL  || SUM
 +
|-
 +
| SUMIF || SUMIFS  || SUMPRODUCT  || SUMSQ  || SUMX2MY2  || SUMX2PY2  || SUMXMY2  || TAN  || TANH  || TRUNC
 +
|}
 +
<br/>
 +
'''45 Statistical Formula Functions'''[[#Reference | *]]
 +
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 +
| AVEDEV || AVERAGE || AVERAGEA || AVERAGEIF || AVERAGEIFS || BETADIST ||  BETAINV || BINOMDIST || CHIDIST || CHIINV
 +
|-
 +
|COUNT || COUNTA || COUNTBLANK || COUNTIF || DEVSQ || EXPONDIST || FDIST || FINV || GAMMADIST || GAMMAINV
 +
|-
 +
| GAMMALN || GEOMEAN || GROWTH || HARMEAN || HYPGEOMDIST || INTERCEPT || KURT || LARGE || MAX || MAXA
 +
|-
 +
| MEDIAN || MIN || MINA || MODE || NORMDIST || POISSON || SKEW || SLOPE || SMALL || STDEV
 +
|-
 +
| STDEVA || TDIST || TINV || VAR || WEIBULL
 +
|}
 +
<br/>
 +
'''7 Logical Formula Functions'''[[#Reference | *]]
 +
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 +
| AND || FALSE || IF || IFERROR || NOT || OR || TRUE
 +
|}
 +
<br/>
 +
'''38 Engineering Formula Functions'''[[#Reference | *]]
 +
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 +
| BESSELI || BESSELJ || BESSELK || BESSELY || BIN2DEC || BIN2HEX || BIN2OCT || COMPLEX || DEC2BIN || DEC2HEX
 +
|-
 +
| DEC2OCT || DELTA || ERF || ERFC || GESTEP || HEX2BIN || HEX2DEC || HEX2OCT || IMABS || IMAGINARY
 +
|-
 +
| IMARGUMENT || IMCONJUGATE || IMCOS || IMDIV || IMEXP || IMLN || IMLOG10 || IMLOG2 || IMPOWER || IMPRODUCT
 +
|-
 +
|  IMREAL || IMSIN || IMSQRT || IMSUB || IMSUM || OCT2BIN || OCT2DEC || OCT2HEX
 +
|}
 +
<br/>
 +
'''21 Text Functions'''[[#Reference | *]]
 +
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 +
| CHAR || CODE || CONCATENATE || DOLLAR || EXACT || FIND, FINDB || FIXED || LEFT, LEFTB || LEN, LENB || LOWER
 +
|-
 +
|  MID, MIDB || PROPER || REPLACE, REPLACEB || REPT || RIGHT, RIGHTB|| SEARCH, SEARCHB || SUBSTITUTE || T || TEXT ||  TRIM
 +
|-
 +
| UPPER
 +
|}
 +
<br/>
  
==Rich Texts and Bullet Texts in a Cell==
+
'''16 Info Functions'''[[#Reference | *]]
ZK Spreadsheet can show rich texts and bullet texts in a cell. That is, you can show different font sizes, colors, and styles of texts in a cell.
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
<gflash>880 660 http://docs.zkoss.org/images/3/33/Richtext.swf</gflash>
+
| ERROR.TYPE || INFO || ISBLANK || ISERR || ISERROR || ISEVEN || ISLOGICAL || ISNA || ISNONTEXT || ISNUMBER
 +
|-
 +
| ISODD || ISREF || ISTEXT || N || NA || TYPE
 +
|}
 +
<br/>
 +
'''14 Date & Time Functions'''[[#Reference | *]]
 +
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 +
| DATE  || DATEVALUE  || DAY  || DAYS360  || HOUR  || MINUTE  || MONTH  ||  NOW  || SECOND || TIME
 +
|-
 +
| TIMEVALUE  || TODAY  || WEEKDAY  || YEAR
 +
|}
 +
<br/>
  
==Hide/Unhide Row Headers and/or Column Headers==
+
==ZK Spreadsheet App==
As a component, sometimes you just do not want to see the row/column headers in the application.
+
* '''Excel-like Web Application'''
<gflash>940 580 http://docs.zkoss.org/images/d/db/Hideheader.swf</gflash>
+
*: A stand-alone web based spreadsheet application that allows real-time online collaboration.
 +
*: Tap into the functionalities of ZK Spreadsheet with menus, context menus, dialogs, wizards, etc.
 +
*: Import/export Excel worksheets, Charts and PDF.
 +
<br/>
 +
=Reference=
 +
[[ZK Spreadsheet Essentials]]
  
==Hyperlink Follow-up==
+
[[ZK Spreadsheet Quick Start Guide]]
If a hyperlink or HYPERLINK function is inputted in a spreadsheet cell, end user can click on the cell text to follow up the hyperlink. If you simply want to select the cell but not follow up the hyperlink, you have to click on the empty space of the cell or press and hold the cell until the mouse cursor changes. Besides that, ZK Spreadsheet also fire an onHyperlink event so application developer can do further operations if any.
 
<gflash>880 640 http://docs.zkoss.org/images/c/cd/Hyperlink.swf</gflash>
 
  
==Sort Rows/Columns==
+
[[Small_Talks/2008/May/Integrate_ZK_Spreadsheet_with_Spring | Integrate ZK Spreadsheet with Spring]]
You can sort rows, columns, or a specified area.
 
<gflash>980 680 http://docs.zkoss.org/images/6/6b/Sort.swf</gflash>
 
  
==Drag and Drop Editing of Rows/Columns/Area==
+
[[Small_Talks/2008/April/Use_JavaBean_in_Excel_with_ZK_Spreadsheet | Use JavaBean in Excel with ZK Spreadsheet]]
You can drag rows, columns, or a specified area to its destination.
 
<gflash>880 560 http://docs.zkoss.org/images/c/cb/Moverange.swf</gflash>
 
  
==Insert Rows/Columns/Area==
+
'''*'''ZK Spreadsheet have the standard and EE versions; for the feature comparison list, please [http://www.zkoss.org/product/zkspreadsheet-edition.dsp click here]
You can insert rows, columns, or a specified area. You can decide whether you want to shift cells down or shift cells right the inserted area.
 
  
==Delete Rows/Columns/Area==
 
You can delete rows, columns, or a specified area. You can decide whether you want to shift cells up or shift cells left the deleted area.
 
<gflash>980 580 http://docs.zkoss.org/images/2/28/Insertdelete.swf</gflash>
 
  
=Downloads=
+
{{Template:CommentedSmalltalk_Footer|
[http://code.google.com/p/zkspreadsheet/downloads/list  ZK Spreadsheet 2.0 RC]
+
|name=Potix Corporation
 +
}}

Latest revision as of 09:52, 25 January 2011

DocumentationSmall Talks2010DecemberNew Features of ZK Spreadsheet 2.0
New Features of ZK Spreadsheet 2.0

Author
The ZK Team
Date
January 25, 2011
Version
ZK Spreadsheet 2.0.1

Introduction

ZK Spreadsheet is an Ajax component that delivers functionalities found in Microsoft Excel to your browsers.
Embedding ZK Spreadsheet in your Java web application to garner features such as:

  • Import your Excel 2003/2007 files to ZK Spreadsheet and make them collaborative online.
  • Control or configure an Ajax spreadsheet with pure Java and seamlessly integrate with Java EE and other back-end services.
  • Register event listeners on rows, columns, cells, or any range of selected cells to make a highly interactive web application.
  • Enter name expressions in cells to make bindings to back-end Java beans transparently, including Spring and CDI managed beans.
  • Export to Excel or PDF for reporting
  • Extend on top of hundreds built in functions that come with ZK Spreadsheet in Java.
  • Use ZK Spreadsheet as a JSF Component.
  • Use ZK Spreadsheet as a JSP Component.

Features

Embeddable Ajax Java Component

  • Server-centric Architecture
    Seamlessly integrate with Java EE, Web services and other back-end technologies.
    No JavaScript required.
  • Fully Controllable in Java
    The backend data model and formula evaluation engine is built on top of the Apache POI library. Developers could control, configure, or extend the Ajax spreadsheet entirely in Java.
  • Event Driven
    A comprehensive set of events were designed to allow developers to create a highly interactive spreadsheet application.
    [/_w/images/8/88/EditingEvents.swf See Demo-Editing Events], [/_w/images/c/cd/KeyEvent.png See Illustration-Key Events], [/_w/images/1/1b/OnHeaderRightClick.swf See Demo-Mouse Events], [/_w/images/4/40/SelectionEvents.png See Illustration-Selection Events]
    Read Doc
  • Java Bean Binding *
    ZK Spreadsheet resolves name expressions in cells to make bindings to back-end Java beans transparently, including Spring and CDI managed beans.
    [/_w/images/5/5e/DataBinding_Chart.png See Illustration]
  • Embeddable in Java Web Pages
    ZK Spreadsheet is a ZK component which developers could embed into any Java web application, such as JSP, JSF, and ZUML.
    Interact with other Ajax components such as Charts, Google Maps, etc.
  • Support All Major Browsers without Plugin
    Ajax interactivity without Applets, Flash, ActiveX, or Excel.
    ZK Spreadsheet supports all major browsers: IE 6-9, Firefox, Chrome, Safari, Opera, ...
  • Collaborate Among Multiple Users *
    Allow multiple users to collaborate on the same worksheet.
  • Use as a JSF Component *
    In addition as an embeddable ZK component, ZK Spreadsheet is also provided as a JSF Ajax Component.

Imort/Export Worksheet

  • Import/Export Excel 2003/2007 Files
    Import or export worksheets with xls (Excel 2003) or xlsx (Excel 2007) formats.
  • Export to PDF *
    Print worksheets or a selection of cells to PDF.
    [/_w/images/5/5a/ExportPDF.swf See Demo]

Worksheet Operations

  • 3-D Cell Reference
    Reference the same cell or range on multiple worksheets
  • External Book Reference *
    Reference a cell or range on a worksheet in another workbook.
  • Sorting and Custom Sort
    Sort columns or rows in ascending/descending order, or sort with predefined conditions, such as sorting columns of data one by one sequentially.
    [/_w/images/c/cf/Sorting.swf See Demo]
  • Drag and Drop Editing of Selected Cells
    Use drag and drop to copy or move selected cell on worksheets.
    [/_w/images/9/9c/DragNDropCells.swf See Demo]
  • Auto-fill Cells
    Select and drag a selection of cells to copy their content to adjacent cells.
    [/_w/images/6/69/AutoFillCells.swf See Demo]
  • Merge/Unmerge Cells
    ZK Spreadsheet supports merging and unmerging of horizontal cells
  • Copy-Paste Cells with Paste Special Support
    Users can copy and paste selected cells with the option of executing a specific paste special task.
    [/_w/images/b/b4/CopyPaste.swf See Demo]
  • Access Named Range of Cells
    Access a named range imported from Excel in ZK Spreadsheet.
  • Insert/Delete Rows, Columns, or a Range of Cells
    Rows, columns, or a selected range of cells can be inserted or deleted dynamically.
    [/_w/images/a/a2/AlterRanges.swf See Demo]
  • Keystroke Shortcuts
    ZK Spreadsheet has an array of built in shortcuts, such as "Ctrl + Delete" for clearing CSS styling,"Shift + Arrow Keys" for selecting a range of cells, etc.
    [/_w/images/4/41/ShortcutKeys.swf See Demo]
  • Hyperlink Web Pages
    A hyperlink can be opened in the same window or users can hold the Ctrl key to open the web page in a new tab.
    [/_w/images/c/cd/Hyperlink.swf See Demo]
  • Multi-line In-place Cell Editing
    Users can key in multiple rows in a cell.

Worksheet Customization

  • User Defined Functions *
    ZK Spreadsheet allows developers to implement custom formula functions on top of hundreds built in ones in Java. End users can use custom these functions just like any other built in functions.
  • Multiple Worksheets
    Multiple worksheets are allowed for a workbook
    [/_w/images/d/d4/Muti-Sheets.swf See Demo]
  • Freeze Rows and Columns
    Rows and columns can be made frozen so that desired rows or columns are locked in view.
    [/_w/images/d/d1/FreezeColRow.swf See Demo]
  • Hide/Show Rows and Columns
    Rows and columns can be shown or hidden using context menu or by simply dragging the rows or columns to collapse or expand.
    [/_w/images/b/b0/HideRowCol.swf See Demo - Using Context Menu]
    [/_w/images/1/12/HideRowColByDragging.swf See Demo - Using Drag and Collapse/Expand]
  • Hide/Show Row/Column Headers
    Headers for rows and columns can be made visible/invisible
  • Modify Row/Column Headers
    [/_w/images/1/12/ModifyHeader.swf See Demo]
  • Hide/Show Grid Lines
    Users can make grid visible/invisible with a click of the check-box.
    [/_w/images/c/c5/GridLines.swf See Demo]
  • Set Maximum Rows and Columns Allowed
    The maximum number of rows and columns allowed for a ZK Spreadsheet component can be predefined.
    [/_w/images/0/04/MaxColRow.swf See Demo]
  • Set Column Width and Row Height
    Column width and row height are adjustable.
  • Set Worksheet Size
    ZK Spreadsheet is sizable just like other ZK components.

Cell Formatting and Styling

  • CSS Styling
    Cells can be styled using CSS definitions.
    [/_w/images/d/d4/FastIconToolbar.swf See Toolbar Demo]
    [/_w/images/b/b3/ChangeStyleByContextMenu.swf See Context-menu Demo]
  • Bullet List in Cells
    Content in cells can be shown in bullet form.
  • Number Formatting
    Numbers can be formatted to reflect their context such as date, currency, etc.
    [/_w/images/b/bf/NumberFormatting.swf See Demo]
  • Text Formatting
    Text formatting options include font, boldfaced, italic, among others. Any text format imported from an Excel worksheet would remain consistent in ZK Spreadsheet.
    [/_w/images/5/52/RichFormattedText.swf See Demo]
  • Input Mask for Date and Time
    Data and time values are converted to the appropriate format.
  • Text Overflow to Adjacent Cells
    Over-sized content in cells is automatically overflown to the right adjacent cell.
  • Text Wrapping
    Over-sized content can be wrapped in cells.
  • Selected Cells Highlighting
    Selected cells are masked with a shade.
    [/_w/images/8/8b/SelectionHighlight.swf See Demo]
  • Set Borders
    Borders of a cell can be made visible or invisible.
  • Text Alignment
    Text in cells can be made aligned to right, center, and left.
    [/_w/images/5/51/MenuFunction.swf See Menu Demo]

Charts and Images

  • Work with Interactive Excel Charts *
    Charts created in Excel can be imported to ZK Spreadsheet. Changes in the data are reflected on the charts instantly.
    Charts supported include: Bar, Bar3D, Line, Line3D, Pie, Pie3D, and Donut in 2003(xls) and 2007(xlsx) format.
    [/_w/images/2/2c/ColumnChart.swf See Demo]
  • Export Excel Charts to PDF *
    Export Excel charts to PDF
    [/_w/images/3/3f/ExportChartPDF.swf See Demo]
  • Insert/Import Images *
    Users can insert images into cells and images embedded in an Excel 2003 (xls) and 2007 (xlsx) worksheets can be rendered in ZK Spreadsheet when it is imported into ZK Spreadsheet.
    [/_w/images/0/00/LoadImage.swf See Demo]

Worksheet Utilities

  • Load on Demand
    Like other tabular components in ZK, ZK Spreadsheet supports “Load on Demand” which only the cells in view are loaded.
    [/_w/images/1/1a/LoadCellOnDemand.png See Illustration]
  • Efficient Formula Reference Dependency Tracking
    Advanced algorithm for formula evaluation and calculation.
  • POI Enhancements
    Performance tuning, bug fixing, feature enhancements, etc.

Built-in Functions

38 Financial Formula Functions *

ACCRINT ACCRINTM AMORDEGRC AMORLINC COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD
CUMIPMT CUMPRINC DB DDB DISC DOLLARDE DOLLARFR DURATION EFFECT FV
FVSCHEDULE INTRATE IPMT NOMINAL PPMT PRICE PRICEDISC PRICEMAT PV RECEIVED
SLN SYD TBILLEQ TBILLYIELD XNPV YIELD YIELDDISC YIELDMAT


60 Math Formula Functions *

ABS ACOS ACOSH ASIN ASINH ATAN ATAN2 ATANH CEILING COMBINACCRINT
COS COSH DEGREES EVEN EXP FACT FACTDOUBLE FLOOR GCD INT
LCM LN LOG LOG10 MDETERM MINVERSE MMULT MOD MROUND MULTINOMIAL
ODD PI POWER PRODUCT QUOTIENT RADIANS RAND RANDBETWEEN ROMAN ROUND
ROUNDDOWN ROUNDUP SERIESSUM SIGN SIN SINH SQRT SQRTPI SUBTOTAL SUM
SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 TAN TANH TRUNC


45 Statistical Formula Functions *

AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BETADIST BETAINV BINOMDIST CHIDIST CHIINV
COUNT COUNTA COUNTBLANK COUNTIF DEVSQ EXPONDIST FDIST FINV GAMMADIST GAMMAINV
GAMMALN GEOMEAN GROWTH HARMEAN HYPGEOMDIST INTERCEPT KURT LARGE MAX MAXA
MEDIAN MIN MINA MODE NORMDIST POISSON SKEW SLOPE SMALL STDEV
STDEVA TDIST TINV VAR WEIBULL


7 Logical Formula Functions *

AND FALSE IF IFERROR NOT OR TRUE


38 Engineering Formula Functions *

BESSELI BESSELJ BESSELK BESSELY BIN2DEC BIN2HEX BIN2OCT COMPLEX DEC2BIN DEC2HEX
DEC2OCT DELTA ERF ERFC GESTEP HEX2BIN HEX2DEC HEX2OCT IMABS IMAGINARY
IMARGUMENT IMCONJUGATE IMCOS IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT
IMREAL IMSIN IMSQRT IMSUB IMSUM OCT2BIN OCT2DEC OCT2HEX


21 Text Functions *

CHAR CODE CONCATENATE DOLLAR EXACT FIND, FINDB FIXED LEFT, LEFTB LEN, LENB LOWER
MID, MIDB PROPER REPLACE, REPLACEB REPT RIGHT, RIGHTB SEARCH, SEARCHB SUBSTITUTE T TEXT TRIM
UPPER


16 Info Functions *

ERROR.TYPE INFO ISBLANK ISERR ISERROR ISEVEN ISLOGICAL ISNA ISNONTEXT ISNUMBER
ISODD ISREF ISTEXT N NA TYPE


14 Date & Time Functions *

DATE DATEVALUE DAY DAYS360 HOUR MINUTE MONTH NOW SECOND TIME
TIMEVALUE TODAY WEEKDAY YEAR


ZK Spreadsheet App

  • Excel-like Web Application
    A stand-alone web based spreadsheet application that allows real-time online collaboration.
    Tap into the functionalities of ZK Spreadsheet with menus, context menus, dialogs, wizards, etc.
    Import/export Excel worksheets, Charts and PDF.


Reference

ZK Spreadsheet Essentials

ZK Spreadsheet Quick Start Guide

Integrate ZK Spreadsheet with Spring

Use JavaBean in Excel with ZK Spreadsheet

*ZK Spreadsheet have the standard and EE versions; for the feature comparison list, please click here


Comments



Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.