New Features of ZK Spreadsheet 2.0"

From Documentation
 
(80 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Template:UnderConstruction}}
+
{{Template:Smalltalk_Author|
 +
|author= The ZK Team
 +
|date=January 25, 2011
 +
|version=ZK Spreadsheet 2.0.1
 +
}}
 
__TOC__
 
__TOC__
 
=Introduction=
 
=Introduction=
ZK Spreadsheet is an Ajax component that delivers functionalities found in Microsoft Excel.<br/>
+
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:
 
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.  
 
*Import your Excel 2003/2007 files to ZK Spreadsheet and make them collaborative online.  
*Control or configure an Ajax spreadsheet with versatile Java APIs.  
+
*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.
 
*Register event listeners on rows, columns, cells, or any range of selected cells to make a highly interactive web application.
*Bind cells to back-end Java beans such that change in data is reflected on user interface automatically.
+
*Enter name expressions in cells to make bindings to back-end Java beans transparently, including Spring and CDI managed beans.
*Extend on top of the 246 built in functions that come with ZK Spreadsheet in Java
+
*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=
 
=Features=
==Java Based Embeddable Ajax Component==
+
==Embeddable Ajax Java Component==
* '''Java Bean Binding'''
+
 
*: ZK Spreadsheet resolves name expressions in cells to make bindings to back-end Java beans automatically.
+
*'''Server-centric Architecture'''
*: [/_w/images/5/5e/DataBinding_Chart.png See Illustration]
+
*:Seamlessly integrate with Java EE, Web services and other back-end technologies.
* '''Embed and Collaborate Across Multiple Browsers'''
+
*:No JavaScript required.
*: ZK Spreadsheet is a ZK component which developers could embed into any Java web application at its presentation tier to allow users to collaborate online. ZK Spreadsheet supports all major browsers: IE 6-9, Firefox, Chrome, Safari, Opera, ...
+
 
* '''JSF Wrapper'''
+
*'''Fully Controllable in Java'''
*: ZK Spreadsheet 2.0 can be wrapped as a JSF Ajax Component
 
*'''Java APIs'''
 
 
*: 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.
 
*: 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'''
 
* '''Event Driven'''
 
*: A comprehensive set of events were designed to allow developers to create a highly interactive spreadsheet application.  
 
*: 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/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]
*: [/_w/images/c/cd/KeyEvent.png See Illustration-Key Events]  
+
*:[[ZK_Spreadsheet_Essentials/Working_with_ZK_Spreadsheet/Implement_ZK_Spreadsheet_Event_Listeners | Read Doc]]
*: [/_w/images/1/1b/OnHeaderRightClick.swf See Demo-Mouse Events]  
+
 
*: [/_w/images/4/40/SelectionEvents.png See Illustration-Selection Events]  
+
* '''Java Bean Binding'''[[#Reference | *]]
*: [[ZK_Spreadsheet_Essentials/Working_with_ZK_Spreadsheet/Implement_ZK_Spreadsheet_Event_Listeners | Read Doc]]
+
*: ZK Spreadsheet resolves name expressions in cells to make bindings to back-end Java beans transparently, including Spring and CDI managed beans.
*  '''Custom Functions'''
+
*: [/_w/images/5/5e/DataBinding_Chart.png See Illustration]
*: ZK Spreadsheet allows developers to implement custom formula functions on top of the 246 built in ones. End users can use custom these functions just like any other built in functions.
+
 
 +
* '''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]
 +
 
 +
* '''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.
 +
<!-- [/_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]]
 
*: [[ZK_Spreadsheet_Essentials/Working_with_ZK_Spreadsheet/Implement_Your_Own_Formula_Functions/As_Simple_as_a_Java_Static_Method | Read Doc]]
  
==Performance Boosts==
+
==Cell Formatting and Styling==
* '''Cell Load on Demand'''
+
* '''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'''[[#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]
 +
 
 +
* '''Export Excel Charts to PDF'''[[#Reference | *]]
 +
*: Export Excel charts to PDF
 +
*:  [/_w/images/3/3f/ExportChartPDF.swf See Demo]
 +
 
 +
* '''Insert/Import Images'''[[#Reference | *]]
 +
*: 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.  
 
*:  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]
 
*:  [/_w/images/1/1a/LoadCellOnDemand.png See Illustration]
* '''Efficient Dependency Tracking'''
+
* '''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'''[[#Reference | *]]
  
==Imort/Export Worksheet==
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
{| border="1"
+
| ACCRINT || ACCRINTM || AMORDEGRC || AMORLINC || COUPDAYBS || COUPDAYS || COUPDAYSNC || COUPNCD || COUPNUM || COUPPCD
 
|-
 
|-
!Feature  || Description || Demo
+
| CUMIPMT || CUMPRINC || DB || DDB || DISC || DOLLARDE || DOLLARFR || DURATION || EFFECT || FV
 
|-
 
|-
|| '''Import/Export Excel 2003/2007 Files'''
+
| FVSCHEDULE || INTRATE || IPMT || NOMINAL || PPMT || PRICE || PRICEDISC || PRICEMAT || PV || RECEIVED
||
 
||
 
|-
 
|| '''Export to PDF'''
 
|| The “Export to PDF” dialog gives users a set of options to customize PDF printing, including the worksheet size, ranging from printing all worksheets to printing just a selection of cells.
 
|| [/_w/images/5/5a/ExportPDF.swf See Demo]
 
 
|-
 
|-
 +
| SLN || SYD || TBILLEQ || TBILLYIELD || XNPV || YIELD || YIELDDISC || YIELDMAT
 
|}
 
|}
 
<br/>
 
<br/>
==Charts and Images==
+
 
{| border="1"
+
'''60 Math Formula Functions'''[[#Reference | *]]
 +
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 +
| ABS || ACOS || ACOSH || ASIN || ASINH || ATAN || ATAN2 || ATANH || CEILING || COMBINACCRINT
 
|-
 
|-
!Feature || Description || Demo
+
| COS  || COSH  || DEGREES  || EVEN || EXP  || FACT  || FACTDOUBLE  || FLOOR  || GCD  || INT
 
|-
 
|-
||  '''Work with Interactive Excel Charts'''
+
| LCM  || LN  || LOG  || LOG10  || MDETERM  || MINVERSE  || MMULT ||  MOD  || MROUND || MULTINOMIAL
||  Charts created in Excel can be imported to ZK Spreadsheet. Changes in the data are reflected on the charts automatically. 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'''
+
| ODD  || PI  || POWER || PRODUCT || QUOTIENT || RADIANS  || RAND  || RANDBETWEEN  || ROMAN  || ROUND
||  Export Excel charts to PDF
 
||  [/_w/images/3/3f/ExportChartPDF.swf See Demo]
 
 
|-
 
|-
||  '''Insert/Import Images'''
+
| ROUNDDOWN  || ROUNDUP  || SERIESSUM  || SIGN  || SIN  || SINH  || SQRT || SQRTPI  || SUBTOTAL || SUM
|| 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]
 
 
|-
 
|-
 +
| SUMIF || SUMIFS  || SUMPRODUCT  || SUMSQ  || SUMX2MY2  || SUMX2PY2  || SUMXMY2  || TAN  || TANH  || TRUNC
 
|}
 
|}
 
<br/>
 
<br/>
 
+
'''45 Statistical Formula Functions'''[[#Reference | *]]
==Worksheet Operations==
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
{| border="1"
+
| AVEDEV || AVERAGE || AVERAGEA || AVERAGEIF || AVERAGEIFS || BETADIST ||  BETAINV || BINOMDIST || CHIDIST || CHIINV
 
|-
 
|-
!Feature  || Description || Demo
+
|COUNT || COUNTA || COUNTBLANK || COUNTIF || DEVSQ || EXPONDIST || FDIST || FINV || GAMMADIST || GAMMAINV
 
|-
 
|-
|| '''Menu Commands'''
+
| GAMMALN || GEOMEAN || GROWTH || HARMEAN || HYPGEOMDIST || INTERCEPT || KURT || LARGE || MAX || MAXA
|| Commands such as file I/O, worksheet and cell formatting and styling can all be executed on the top menu bar.
 
|| [/_w/images/5/51/MenuFunction.swf See Demo]
 
 
|-
 
|-
|| '''Drag and Drop Editing of Selected Cells'''
+
| MEDIAN || MIN || MINA || MODE || NORMDIST || POISSON || SKEW || SLOPE || SMALL || STDEV
|| Use drag and drop to copy or move selected cell on worksheets.
 
|| [/_w/images/9/9c/DragNDropCells.swf See Demo]
 
 
|-
 
|-
||  '''Insert/Delete Rows/Columns/Cells'''
+
| STDEVA ||  TDIST || TINV || VAR || WEIBULL
|| Use context menu to insert or delete Rows, Columns, or Cells.
+
|}
|| [/_w/images/a/a2/AlterRanges.swf See Demo]
+
<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
 
|-
 
|-
|| '''Auto-fill Cells'''
+
| DEC2OCT || DELTA || ERF || ERFC || GESTEP || HEX2BIN || HEX2DEC || HEX2OCT || IMABS || IMAGINARY
|| Select and drag a selection of cells to copy their content to adjacent cells.
 
|| [/_w/images/6/69/AutoFillCells.swf See Demo]
 
 
|-
 
|-
|| '''Copy-Paste Cells with Paste Special Support'''
+
| IMARGUMENT || IMCONJUGATE || IMCOS || IMDIV || IMEXP || IMLN || IMLOG10 || IMLOG2 || IMPOWER || IMPRODUCT
|| Users can copy and paste selected cells with the option of invoking the Paste Special dialog to choose and form a specific paste special task.
 
|| [/_w/images/b/b4/CopyPaste.swf See Demo]
 
|-
 
|| '''Sorting with Custom Sort Wizard'''
 
|| ZK Spreadsheet not only supports ascending/descending sorting, but also “Custom Sort” through a wizard where user can enter series of sorting conditions.
 
|| [/_w/images/c/cf/Sorting.swf See Demo]
 
|-
 
|| '''Keystroke Shortcuts'''
 
|| ZK Spreadsheet has an array of built in shortcuts. The list of shortcuts can be invoked by selecting Help > Cheatsheet.
 
||  [/_w/images/4/41/ShortcutKeys.swf See Demo]
 
|-
 
||  '''Selected Cells Highlighting'''
 
||
 
||  [/_w/images/8/8b/SelectionHighlight.swf See Demo]
 
|-
 
||  '''In-place Cell Editing'''
 
||
 
||  [/_w/images/9/9e/EditingZSS.swf See Demo]
 
 
|-
 
|-
 +
|  IMREAL || IMSIN || IMSQRT || IMSUB || IMSUM || OCT2BIN || OCT2DEC || OCT2HEX
 
|}
 
|}
 
<br/>
 
<br/>
==Worksheet Formatting==
+
'''21 Text Functions'''[[#Reference | *]]
{| border="1"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
|-
+
| CHAR || CODE || CONCATENATE || DOLLAR || EXACT || FIND, FINDB || FIXED || LEFT, LEFTB || LEN, LENB || LOWER
!Feature  || Description || Demo
 
|-
 
||  '''Multiple Worksheets'''
 
||  Users can switch between multiple worksheets by clicking on the desired worksheet tabs. The worksheet content is loaded on demand.
 
|| [/_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]<br/> [/_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
 
|| [/_w/images/0/0a/HeaderDisplay.swf See Demo]
 
|-
 
|| '''Modify Row/Column Headers'''
 
||  
 
||  [/_w/images/1/12/ModifyHeader.swf See Demo]
 
 
|-
 
|-
|| '''Hide/Show Grid Lines'''
+
|  MID, MIDB || PROPER || REPLACE, REPLACEB || REPT || RIGHT, RIGHTB|| SEARCH, SEARCHB || SUBSTITUTE || T || TEXT || TRIM
||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'''
 
||  
 
|| [/_w/images/0/04/MaxColRow.swf See Demo]
 
 
|-
 
|-
 +
| UPPER
 
|}
 
|}
 
<br/>
 
<br/>
==Cell Formatting and Styling==
+
 
{| border="1"
+
'''16 Info Functions'''[[#Reference | *]]
|-
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
!Feature  || Description || Demo
+
| ERROR.TYPE || INFO || ISBLANK || ISERR || ISERROR || ISEVEN || ISLOGICAL || ISNA || ISNONTEXT || ISNUMBER
|-
 
||  '''Number Formatting'''
 
||  Format number in cells using friendly dialog.
 
|| [/_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]
 
|-
 
||  '''Hyperlink Creation'''
 
|| A cell content can be made into a hyperlink via the "Insert Hyperlink" dialog.
 
|| [/_w/images/c/cd/Hyperlink.swf See Demo]
 
|-
 
||  '''Text Alignment'''
 
|| Text in cells can be made aligned to right, center, and left.
 
||
 
|-
 
|| '''Styling Toolbar'''
 
|| Change the styling in cell content using toolbar.
 
|| [/_w/images/d/d4/FastIconToolbar.swf See Demo]
 
|-
 
|| '''Styling context menu'''
 
|| Change the styling in cell content using context menu.
 
|| [/_w/images/b/b3/ChangeStyleByContextMenu.swf See Demo]
 
 
|-
 
|-
 +
| ISODD || ISREF || ISTEXT || N || NA || TYPE
 
|}
 
|}
 
<br/>
 
<br/>
==Built-in Functions==
+
'''14 Date & Time Functions'''[[#Reference | *]]
{| border="1"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
|-
+
| DATE  || DATEVALUE || DAY || DAYS360 || HOUR || MINUTE || MONTH ||  NOW || SECOND || TIME
!Type  || List || Total
 
|-
 
|| '''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
 
NPER
 
NPV
 
PMT
 
PPMT
 
PRICE
 
PRICEDISC
 
PRICEMAT
 
PV
 
RECEIVED
 
SLN
 
SYD
 
TBILLEQ
 
TBILLYIELD
 
XNPV
 
YIELD
 
YIELDDISC
 
YIELDMAT
 
|| 41
 
|-
 
||  '''Math'''
 
||   
 
ABS
 
ACOS
 
ACOSH
 
ASIN
 
ASINH
 
ATAN
 
ATAN2
 
ATANH
 
CEILING
 
COMBIN
 
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
 
|| 60
 
|-
 
||  '''Statistical Formula'''
 
||
 
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
 
|| 45
 
|-
 
||  '''Logical Formula Functions'''
 
||
 
AND
 
FALSE
 
IF
 
IFERROR
 
NOT
 
OR
 
TRUE
 
|| 7
 
|-
 
|| '''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
 
|| 38
 
|-
 
||  '''Text'''
 
||
 
CHAR
 
CLEAN
 
CODE
 
CONCATENATE
 
DOLLAR
 
EXACT
 
FIND, FINDB
 
FIXED
 
LEFT, LEFTB
 
LEN, LENB
 
LOWER
 
MID, MIDB
 
PHONETIC
 
PROPER
 
REPLACE, REPLACEB
 
REPT
 
RIGHT, RIGHTB
 
SEARCH, SEARCHB
 
SUBSTITUTE
 
T
 
TEXT
 
TRIM
 
UPPER
 
VALUE
 
|| 24
 
|-
 
||  '''Info'''
 
||
 
ERROR.TYPE
 
INFO
 
ISBLANK
 
ISERR
 
ISERROR
 
ISEVEN
 
ISLOGICAL
 
ISNA
 
ISNONTEXT
 
ISNUMBER
 
ISODD
 
ISREF
 
ISTEXT
 
N
 
NA
 
TYPE
 
||  16
 
|-
 
|| '''Date & Time Functions'''
 
||
 
DATE
 
DATEVALUE
 
DAY
 
DAYS360
 
HOUR
 
MINUTE
 
MONTH
 
NETWORKDAYS
 
NOW
 
SECOND
 
TIME
 
TIMEVALUE
 
TODAY
 
WEEKDAY
 
YEAR
 
|| 15
 
 
|-
 
|-
 +
| TIMEVALUE  || TODAY  || WEEKDAY  || YEAR
 
|}
 
|}
 
<br/>
 
<br/>
  
==Reference==
+
==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.
 +
<br/>
 +
=Reference=
 +
[[ZK Spreadsheet Essentials]]
 +
 
 +
[[ZK Spreadsheet Quick Start Guide]]
 +
 
 
[[Small_Talks/2008/May/Integrate_ZK_Spreadsheet_with_Spring | Integrate ZK Spreadsheet with Spring]]
 
[[Small_Talks/2008/May/Integrate_ZK_Spreadsheet_with_Spring | Integrate ZK Spreadsheet with Spring]]
  
 
[[Small_Talks/2008/April/Use_JavaBean_in_Excel_with_ZK_Spreadsheet | Use JavaBean in Excel with ZK Spreadsheet]]
 
[[Small_Talks/2008/April/Use_JavaBean_in_Excel_with_ZK_Spreadsheet | Use JavaBean in Excel with ZK Spreadsheet]]
 +
 +
'''*'''ZK Spreadsheet have the standard and EE versions; for the feature comparison list, please [http://www.zkoss.org/product/zkspreadsheet-edition.dsp click here]
 +
 +
 +
{{Template:CommentedSmalltalk_Footer|
 +
|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.