New Features of ZK Spreadsheet 2.0"

From Documentation
 
(69 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.
+
 
*: [[ZK_Spreadsheet_Essentials/Working_with_ZK_Spreadsheet/Implement_Your_Own_Formula_Functions/As_Simple_as_a_Java_Static_Method | Read Doc]]
+
* '''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.
  
==Performance Boosts==
+
* '''Use as a JSF Component'''[[#Reference | *]]
* '''Cell Load on Demand'''
+
*: In addition as an embeddable ZK component, ZK Spreadsheet is also provided as a JSF Ajax Component.
*: 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 Dependency Tracking'''
 
  
 
==Imort/Export Worksheet==
 
==Imort/Export Worksheet==
 
* '''Import/Export Excel 2003/2007 Files'''
 
* '''Import/Export Excel 2003/2007 Files'''
* '''Export to PDF'''
+
*: Import or export worksheets with xls (Excel 2003) or xlsx (Excel 2007) formats.
*: 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.
+
 
 +
* '''Export to PDF'''[[#Reference | *]]
 +
*: Print worksheets or a selection of cells to PDF.
 
*:  [/_w/images/5/5a/ExportPDF.swf See Demo]
 
*:  [/_w/images/5/5a/ExportPDF.swf See Demo]
  
==Charts and Images==
+
==Worksheet Operations==
* '''Work with Interactive Excel Charts'''
+
* '''3-D Cell Reference'''
*: 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.
+
*: Reference the same cell or range on multiple worksheets
*:  [/_w/images/2/2c/ColumnChart.swf See Demo]
+
 
* '''Export Excel charts to PDF'''
+
* '''External Book Reference'''[[#Reference | *]]
*: Export Excel charts to PDF
+
*: Reference a cell or range on a worksheet in another workbook.
*:  [/_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 Operations==
+
* '''Sorting and Custom Sort'''
* '''Menu Commands'''
+
*: Sort columns or rows in ascending/descending order, or sort with predefined conditions, such as sorting columns of data one by one sequentially.
*: Commands such as file I/O, worksheet and cell formatting and styling can all be executed on the top menu bar.
+
*: [/_w/images/c/cf/Sorting.swf See Demo]
*: [/_w/images/5/51/MenuFunction.swf See Demo]
 
  
 
* '''Drag and Drop Editing of Selected Cells'''
 
* '''Drag and Drop Editing of Selected Cells'''
Line 64: Line 72:
 
*:  [/_w/images/9/9c/DragNDropCells.swf See Demo]
 
*:  [/_w/images/9/9c/DragNDropCells.swf See Demo]
  
*  '''Insert/Delete Rows, Columns, or a Range of Cells'''
+
*  '''Auto-fill Cells'''
*: Use context menu to insert or delete Rows, Columns, or Cells.
+
*: Select and drag a selection of cells to copy their content to adjacent cells.
*: [/_w/images/a/a2/AlterRanges.swf See Demo]
+
*: [/_w/images/6/69/AutoFillCells.swf See Demo]
  
 
* '''Merge/Unmerge Cells'''
 
* '''Merge/Unmerge Cells'''
 
*: ZK Spreadsheet supports merging and unmerging of horizontal cells
 
*: ZK Spreadsheet supports merging and unmerging of horizontal cells
 
*  '''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]
 
  
 
* '''Copy-Paste Cells with Paste Special Support'''
 
* '''Copy-Paste Cells with Paste Special Support'''
*: 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.
+
*: 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]
 
*:  [/_w/images/b/b4/CopyPaste.swf See Demo]
  
* '''Sorting and Custom Sort With Respect To Rows and Columns'''
+
*'''Access Named Range of Cells'''
*: ZK Spreadsheet not only supports ascending/descending sorting, but also “Custom Sort” through a wizard where user can enter series of sorting conditions.
+
*: Access a named range imported from Excel in ZK Spreadsheet.
*: [/_w/images/c/cf/Sorting.swf See Demo]
+
 
 +
* '''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'''
 
*  '''Keystroke Shortcuts'''
*: ZK Spreadsheet has an array of built in shortcuts. The list of shortcuts can be invoked by selecting Help > Cheatsheet.
+
*: 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]
 
*:  [/_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-->
  
* '''In-place Cell Editing'''
+
==Worksheet Customization==
*: [/_w/images/9/9e/EditingZSS.swf See Demo]
+
* '''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.
  
==Worksheet Formatting==
 
 
* '''Multiple Worksheets'''
 
* '''Multiple Worksheets'''
*:  Users can switch between multiple worksheets by clicking on the desired worksheet tabs. The worksheet content is loaded on demand.
+
*:  Multiple worksheets are allowed for a workbook
 
*: [/_w/images/d/d4/Muti-Sheets.swf See Demo]
 
*: [/_w/images/d/d4/Muti-Sheets.swf See Demo]
  
Line 105: Line 118:
 
*: [/_w/images/b/b0/HideRowCol.swf See Demo - Using Context Menu]
 
*: [/_w/images/b/b0/HideRowCol.swf See Demo - Using Context Menu]
 
*: [/_w/images/1/12/HideRowColByDragging.swf See Demo - Using Drag and Collapse/Expand]  
 
*: [/_w/images/1/12/HideRowColByDragging.swf See Demo - Using Drag and Collapse/Expand]  
 
* '''Set Column Width and Row Height'''
 
*:
 
  
 
* '''Hide/Show Row/Column Headers'''
 
* '''Hide/Show Row/Column Headers'''
Line 120: Line 130:
  
 
*  '''Set Maximum Rows and Columns Allowed'''
 
*  '''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]
 
*: [/_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==
 
==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'''
 
* '''Number Formatting'''
*:  Format number in cells using friendly dialog.
+
*:  Numbers can be formatted to reflect their context such as date, currency, etc.
 
*: [/_w/images/b/bf/NumberFormatting.swf See Demo]
 
*: [/_w/images/b/bf/NumberFormatting.swf See Demo]
  
Line 131: Line 158:
 
*:[/_w/images/5/52/RichFormattedText.swf See Demo]
 
*:[/_w/images/5/52/RichFormattedText.swf See Demo]
  
* '''Bullet List in Cells'''
+
* '''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 Highlighting'''
 +
*: Selected cells are masked with a shade.
 
*: [/_w/images/8/8b/SelectionHighlight.swf See Demo]
 
*: [/_w/images/8/8b/SelectionHighlight.swf See Demo]
  
 
* '''Set Borders'''
 
* '''Set Borders'''
*:  
+
*: Borders of a cell can be made visible or invisible.
 
 
* '''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 Alignment'''
 
*:  Text in cells can be made aligned to right, center, and left.
 
*:  Text in cells can be made aligned to right, center, and left.
 +
*: [/_w/images/5/51/MenuFunction.swf  See Menu Demo]
  
* '''Styling Toolbar'''
+
==Charts and Images==
*: Change the styling in cell content using toolbar.
+
* '''Work with Interactive Excel Charts'''[[#Reference | *]]
*: [/_w/images/d/d4/FastIconToolbar.swf See Demo]
+
*: 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]
  
* '''Styling context menu'''
+
* '''Export Excel Charts to PDF'''[[#Reference | *]]
*: Change the styling in cell content using context menu.
+
*: Export Excel charts to PDF
*: [/_w/images/b/b3/ChangeStyleByContextMenu.swf See Demo]
+
*:  [/_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.
 +
*:  [/_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==
 
==Built-in Functions==
===41 Financial Formula Functions===
+
'''38 Financial Formula Functions'''[[#Reference | *]]
  
{| cellpadding=5 style="border:1px solid #BBB"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 
| ACCRINT || ACCRINTM || AMORDEGRC || AMORLINC || COUPDAYBS || COUPDAYS || COUPDAYSNC || COUPNCD || COUPNUM || COUPPCD  
 
| ACCRINT || ACCRINTM || AMORDEGRC || AMORLINC || COUPDAYBS || COUPDAYS || COUPDAYSNC || COUPNCD || COUPNUM || COUPPCD  
 
|-
 
|-
 
| CUMIPMT || CUMPRINC || DB || DDB || DISC || DOLLARDE || DOLLARFR || DURATION || EFFECT || FV  
 
| CUMIPMT || CUMPRINC || DB || DDB || DISC || DOLLARDE || DOLLARFR || DURATION || EFFECT || FV  
 
|-
 
|-
| FVSCHEDULE || INTRATE || IPMT || NOMINAL || NPER || NPV || PMT || PPMT || PRICE || PRICEDISC
+
| FVSCHEDULE || INTRATE || IPMT || NOMINAL || PPMT || PRICE || PRICEDISC || PRICEMAT || PV || RECEIVED  
|-
 
| PRICEMAT || PV || RECEIVED || SLN || SYD || TBILLEQ || TBILLYIELD || XNPV || YIELD || YIELDDISC
 
 
|-
 
|-
| YIELDMAT
+
| SLN || SYD || TBILLEQ || TBILLYIELD || XNPV || YIELD || YIELDDISC || YIELDMAT
 
|}
 
|}
 +
<br/>
  
=== 60 Math Formula Functions ===
+
'''60 Math Formula Functions'''[[#Reference | *]]
{| cellpadding=5 style="border:1px solid #BBB"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 
| ABS || ACOS || ACOSH || ASIN || ASINH || ATAN || ATAN2 || ATANH || CEILING || COMBINACCRINT  
 
| ABS || ACOS || ACOSH || ASIN || ASINH || ATAN || ATAN2 || ATANH || CEILING || COMBINACCRINT  
 
|-
 
|-
Line 184: Line 229:
 
| SUMIF || SUMIFS  || SUMPRODUCT  || SUMSQ  || SUMX2MY2  || SUMX2PY2  || SUMXMY2  || TAN  || TANH  || TRUNC
 
| SUMIF || SUMIFS  || SUMPRODUCT  || SUMSQ  || SUMX2MY2  || SUMX2PY2  || SUMXMY2  || TAN  || TANH  || TRUNC
 
|}
 
|}
 
+
<br/>
=== 45 Statistical Formula ===
+
'''45 Statistical Formula Functions'''[[#Reference | *]]
{| cellpadding=5 style="border:1px solid #BBB"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 
| AVEDEV || AVERAGE || AVERAGEA || AVERAGEIF || AVERAGEIFS || BETADIST ||  BETAINV || BINOMDIST || CHIDIST || CHIINV
 
| AVEDEV || AVERAGE || AVERAGEA || AVERAGEIF || AVERAGEIFS || BETADIST ||  BETAINV || BINOMDIST || CHIDIST || CHIINV
 
|-
 
|-
Line 197: Line 242:
 
| STDEVA ||  TDIST || TINV || VAR || WEIBULL
 
| STDEVA ||  TDIST || TINV || VAR || WEIBULL
 
|}
 
|}
 
+
<br/>
=== 7 Logical Formula Functions===
+
'''7 Logical Formula Functions'''[[#Reference | *]]
{| cellpadding=5 style="border:1px solid #BBB"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 
| AND || FALSE || IF || IFERROR || NOT || OR || TRUE
 
| AND || FALSE || IF || IFERROR || NOT || OR || TRUE
 
|}
 
|}
 
+
<br/>
=== 38 Engineering Formula Functions===
+
'''38 Engineering Formula Functions'''[[#Reference | *]]
{| cellpadding=5 style="border:1px solid #BBB"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 
| BESSELI || BESSELJ || BESSELK || BESSELY || BIN2DEC || BIN2HEX || BIN2OCT || COMPLEX || DEC2BIN || DEC2HEX
 
| BESSELI || BESSELJ || BESSELK || BESSELY || BIN2DEC || BIN2HEX || BIN2OCT || COMPLEX || DEC2BIN || DEC2HEX
 
|-
 
|-
Line 213: Line 258:
 
|  IMREAL || IMSIN || IMSQRT || IMSUB || IMSUM || OCT2BIN || OCT2DEC || OCT2HEX
 
|  IMREAL || IMSIN || IMSQRT || IMSUB || IMSUM || OCT2BIN || OCT2DEC || OCT2HEX
 
|}
 
|}
 
+
<br/>
===24 Text Functions===
+
'''21 Text Functions'''[[#Reference | *]]
{| cellpadding=5 style="border:1px solid #BBB"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
| CHAR || CLEAN || CODE || CONCATENATE || DOLLAR || EXACT || FIND, FINDB || FIXED || LEFT, LEFTB || LEN, LENB
+
| CHAR || CODE || CONCATENATE || DOLLAR || EXACT || FIND, FINDB || FIXED || LEFT, LEFTB || LEN, LENB || LOWER
 
|-
 
|-
| LOWER || MID, MIDB || PHONETIC || PROPER || REPLACE, REPLACEB || REPT || RIGHT, RIGHTB|| SEARCH, SEARCHB || SUBSTITUTE || T
+
| MID, MIDB || PROPER || REPLACE, REPLACEB || REPT || RIGHT, RIGHTB|| SEARCH, SEARCHB || SUBSTITUTE || T || TEXT ||  TRIM
 
|-
 
|-
| TEXT || TRIM || UPPER || VALUE
+
| UPPER  
 
|}
 
|}
 +
<br/>
  
=== 16 Info Functions===
+
'''16 Info Functions'''[[#Reference | *]]
{| cellpadding=5 style="border:1px solid #BBB"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 
| ERROR.TYPE || INFO || ISBLANK || ISERR || ISERROR || ISEVEN || ISLOGICAL || ISNA || ISNONTEXT || ISNUMBER
 
| ERROR.TYPE || INFO || ISBLANK || ISERR || ISERROR || ISEVEN || ISLOGICAL || ISNA || ISNONTEXT || ISNUMBER
 
|-
 
|-
 
| ISODD || ISREF || ISTEXT || N || NA || TYPE
 
| ISODD || ISREF || ISTEXT || N || NA || TYPE
 
|}
 
|}
 
+
<br/>
=== 15 Date & Time Functions===
+
'''14 Date & Time Functions'''[[#Reference | *]]
{| cellpadding=5 style="border:1px solid #BBB"
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
| DATE  || DATEVALUE  || DAY  || DAYS360  || HOUR  || MINUTE  || MONTH  || NETWORKDAYS || NOW  || SECOND
+
| DATE  || DATEVALUE  || DAY  || DAYS360  || HOUR  || MINUTE  || MONTH  ||  NOW  || SECOND || TIME
 
|-
 
|-
| TIME  || TIMEVALUE  || TODAY  || WEEKDAY  || YEAR
+
| TIMEVALUE  || TODAY  || WEEKDAY  || YEAR
 
|}
 
|}
 +
<br/>
 +
 +
==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]]
  
==Reference==
 
 
[[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.