New Features of ZK Spreadsheet 2.0"

From Documentation
 
(290 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]
 +
 +
* '''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]
  
=Introduction=
+
* '''Hyperlink Web Pages'''
ZK Spreadsheet is an Ajax component that delivers the rich functionality of Excel on the Java Web application.  
+
*: 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]
  
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.
+
* '''Bullet List in Cells'''
 +
*: Content in cells can be shown in bullet form.
  
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.
+
* '''Number Formatting'''
 +
*:  Numbers can be formatted to reflect their context such as date, currency, etc.
 +
*: [/_w/images/b/bf/NumberFormatting.swf See Demo]
  
=Features=
+
*  '''Text Formatting'''
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. With this POI-based 2.0, Excel 2007, hyperlink, rich text, row and column moving, hiding and un-hiding row/column headers, sorting, filtering, and many other features has been implemented.
+
*: 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]
  
Besides the already implemented versatile features, we have added many 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.  
+
* '''Input Mask for Date and Time'''
 +
*: Data and time values are converted to the appropriate format.
  
==ZK Spreadsheet Live==
+
* '''Text Overflow to Adjacent Cells'''
More enhancements to our Web-based Excel like application, ZK Spreadsheet Live(zssapp):
+
*: Over-sized content in cells is automatically overflown to the right adjacent cell.
===Easy Menu and Toolbar Button for Setting Cell Styles===
 
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 width="800" height="450">CellFormat.swf</gflash>
 
  
===Wizard for Adding Different Type of Hyperlink===
+
*'''Text Wrapping'''
You can use the Hyperlink wizard to add Web URL, document cell link, and email link as your wish. 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.
+
*: Over-sized content can be wrapped in cells.
<gflash width="600" height="500">HyperlinkNew.swf</gflash>
 
  
===Export Spreadsheet to PDF Format===
+
*  '''Selected Cells Highlighting'''
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.
+
*: Selected cells are masked with a shade.
<gflash width="800" height="430">ExportPDF.swf</gflash>
+
*: [/_w/images/8/8b/SelectionHighlight.swf See Demo]
  
===Display or Hide Grid Lines===
+
* '''Set Borders'''
You can display or hide grid lines on only one click.
+
*: Borders of a cell can be made visible or invisible.
<gflash width="600" height="500">GridLines.swf</gflash>
 
  
===Support Sort/Custom-sort Menu and Toolbar Button===
+
* '''Text Alignment'''
End users can now sort or custom sort selected ranges by selecting proper sorting parameters on the dialog. Additionally, you can sort rows, columns, or a specified area.  
+
*:  Text in cells can be made aligned to right, center, and left.
<gflash width="900" height="760"> Sorting.swf</gflash>
+
*: [/_w/images/5/51/MenuFunction.swf See Menu Demo]
  
===Support Copy/Paste/PasteSpecial Menu and Toolbar Button===
+
==Charts and Images==
End users  can now copy, paste, and/or pasteSpecial by providing proper paste parameters on the dialog.
+
* '''Work with Interactive Excel Charts'''[[#Reference | *]]
<gflash width="800" height="460"> CopyPaste.swf</gflash>
+
*: 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]
  
==Financial Formula Functions==
+
* '''Export Excel Charts to PDF'''[[#Reference | *]]
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.
+
*: Export Excel charts to PDF
<gflash width="800" height="460"> Formula.swf</gflash>
+
*:  [/_w/images/3/3f/ExportChartPDF.swf See Demo]
  
==Engineering Formula Functions==
+
* '''Insert/Import Images'''[[#Reference | *]]
You can now handle engineering calculation needs with ZK Spreadsheet's  engineering functions. ZK Spreadsheet supports all 39 engineering functions.
+
*: 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 width="600" height="500">http://docs.zkoss.org/images/8/88/Zss_engineeringfunctions_demo.swf</gflash>
+
*: [/_w/images/0/00/LoadImage.swf See Demo]
==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]].
 
  
==Rich Texts and Bullet Texts in a Cell==
+
==Worksheet Utilities==
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.
+
* '''Load on Demand'''
<gflash width="760" height="500">RichFormattedText.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.
  
==Customize title of Row or Column==
+
==Built-in Functions==
As a component, sometimes you just do not want to see the row/column headers in the application.
+
'''38 Financial Formula Functions'''[[#Reference | *]]
<gflash width="760" height="500">CustomizedTitle.swf</gflash>
 
  
==Drag and Drop Editing of Rows/Columns/Area==
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
You can drag rows, columns, or a specified area to its destination.
+
| ACCRINT || ACCRINTM || AMORDEGRC || AMORLINC || COUPDAYBS || COUPDAYS || COUPDAYSNC || COUPNCD || COUPNUM || COUPPCD
<gflash width="760" height="430">DragNDropCells.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/>
  
==Alter Rows/Columns/Area==
+
'''60 Math Formula Functions'''[[#Reference | *]]
You can alter rows, columns, or a specified area, includes inserting and deleting.
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
<gflash width="800" height="600">AlterRanges.swf</gflash>
+
| 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
 +
|}
 +
<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/>
  
==Export ZK Spreadsheet to PDF file==
+
'''16 Info Functions'''[[#Reference | *]]
Now we have supported exporting ZK Spreadsheet to PDF. It accepts the printing setup parameters and print to PDF format. For details, please see this [http://blog.zkoss.org/index.php/2010/09/07/export-zk-spredsheet-to-pdf/ article] written by Ashish.
+
{| cellpadding=5 style="border:1px solid #BBB" width="90%"
 +
| ERROR.TYPE || INFO || ISBLANK || ISERR || ISERROR || ISEVEN || ISLOGICAL || ISNA || ISNONTEXT || ISNUMBER
 +
|-
 +
| ISODD || ISREF || ISTEXT || N || NA || TYPE
 +
|}
 
<br/>
 
<br/>
[[Image:zsspdfdemo.png]]
+
'''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/>
 
<br/>
  
==Drag to Hide and Unhide Rows and Columns==  
+
==ZK Spreadsheet App==
End users can drag to hide and unhide selected rows and columns. As in Excel, different mouse cursors indicate whether the dragging is for sizing the visible row/column or unhiding an hidden row/column.
+
* '''Excel-like Web Application'''
<gflash width="600" height="500">http://docs.zkoss.org/images/6/63/Draghide.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]]
 +
 
 +
[[ZK Spreadsheet Quick Start Guide]]
 +
 
 +
[[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]]
  
==API Calls to Hide and Unhide Rows and Columns==
+
'''*'''ZK Spreadsheet have the standard and EE versions; for the feature comparison list, please [http://www.zkoss.org/product/zkspreadsheet-edition.dsp click here]
Notice that ZK Spreadsheet is a component that you can control with APIs, too. In this demo, we use API calls to hide and unhide selected area.
 
<gflash width="600" height="500">http://docs.zkoss.org/images/f/f8/Apihide.swf</gflash>
 
  
==Drag to Copy Cells==
 
You can drag the Fill Handle(the small black square at the bottom right) to copy cells in a simple dragging.
 
<gflash width="760" height="430">DragToCopyCell.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.