Use JavaBean in Excel with ZK Spreadsheet"
m (Created page with '{{Template:Smalltalk_Author| |author=Ivan Cheng, Engineer, Potix Corporation |date=April 18, 2008 |version=Applicable to ZK 3.0.4 and later ::Applicable to ZK Spreadsheet 1.0.0 …') |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 13: | Line 13: | ||
If you'd like to know more about ZK Spreadsheet, please refer to the following URLs: | If you'd like to know more about ZK Spreadsheet, please refer to the following URLs: | ||
− | * [ | + | * [[Small_Talks/2008/February/New_Features_of_ZK_Spreadsheet_0.7.0 | New Features of ZK Spreadsheet 0.7.0]] |
− | * [ | + | * [[Small_Talks/2007/December/A_Preview_of_ZK_Spreadsheet_Component | A Preview of ZK Spreadsheet Component]] |
− | * [ | + | * [[Small_Talks/2007/September/A_Sip_of_the_ZK_Spreadsheet_Component | A Sip of the ZK Spreadsheet Component]] |
If you'd like to know more about Variable-Resolver, please refer to the following URL: | If you'd like to know more about Variable-Resolver, please refer to the following URL: | ||
− | * [ | + | * [[Small_Talks/2007/November/Using_ZK_JndiVariableResolver_-_Retrieve_Session_Beans_and_EntityManagerFactory | Using ZK JndiVariableResolver - Retrieve Session Beans and EntityManagerFactory]] |
Line 34: | Line 34: | ||
=Live Demo= | =Live Demo= | ||
− | <gflash width="500" height="500"> | + | <gflash width="500" height="500">ZssVariableResolver.swf</gflash> |
− | |||
=How to Build a Template Using Excel= | =How to Build a Template Using Excel= | ||
Line 50: | Line 49: | ||
Input bean and its data names in BalanceSheet.xls, such as dataBean.item, dataBean.liquidAssets, dataBean.fundInvestment etc. | Input bean and its data names in BalanceSheet.xls, such as dataBean.item, dataBean.liquidAssets, dataBean.fundInvestment etc. | ||
− | <gflash width="500" height="500"> | + | <gflash width="500" height="500">InputBean2.swf</gflash> |
− | |||
=Get Values via Variable-Resolver= | =Get Values via Variable-Resolver= |
Latest revision as of 06:12, 7 December 2010
Ivan Cheng, Engineer, Potix Corporation
April 18, 2008
Applicable to ZK 3.0.4 and later
- Applicable to ZK Spreadsheet 1.0.0 and later
In this article, we will demonstrate how ZK Spreadsheet use external variables directly via Variable-Resolver.
If you'd like to know more about ZK Spreadsheet, please refer to the following URLs:
If you'd like to know more about Variable-Resolver, please refer to the following URL:
Introduction
In How to Build a Rich Excel Report with ZK Spreadsheet, we demonstrate how to use name ranges to integrate data from Excel into ZK framework and vice versa. In this article, we will solve it with a more powerful feature - Variable-Resolver. Instead of saving values with defining name ranges and refreshing values of cells with method setCellValue, you only need to assign bean name in cells of Excel to get the data from the server side! In other words, values in cells will be refreshed dynamically by reloading data of bean!
Let's start to build an application for calculating balance sheet with Variable-Resolver.
Live Demo
How to Build a Template Using Excel
Define the Layout Template in Excel
You can design the format of Excel data:
Input External Variable in Spreadsheet
Input bean and its data names in BalanceSheet.xls, such as dataBean.item, dataBean.liquidAssets, dataBean.fundInvestment etc.
Get Values via Variable-Resolver
sheet.zul
<window>
Quarter:
<listbox id="quarter" mold="select" rows="1" onSelect="refreshQuarter()">
<listitem value="0" label="Select"/>
<listitem value="1" label="Quarter 1"/>
<listitem value="2" label="Quarter 2"/>
<listitem value="3" label="Quarter 3"/>
<listitem value="4" label="Quarter 4"/>
</listbox>
<zscript>
import model.Database;
import model.DataBean;
void refreshQuarter() {
Listitem listitem = quarter.getSelectedItem();
int quarter = Integer.parseInt(listitem.value);
//Resolve variable data bean via ZssVariableResolver
reloadQuarter(quarter, dataBean);
//Call the method to refresh values of cells
balance.book.notifyChange(new String[]{"dataBean"});
}
void reloadQuarter(int quarter, dataBean){
//Call the method to reload data
new Database().reloadQuarter(quarter, dataBean);
}
//Declare a bean in zscript, ZK will find it via default Variable-Resolver.
DataBean dataBean = new DataBean();
//initial data
dataBean = new Database().reloadQuarter(0, dataBean);
</zscript>
//Import BalanceSheet.xls
<spreadsheet id="balance" url="/BalanceSheet.xls" maxrow="40" maxcolumn="20" height="600px" width="1300px"/>
</window>
Download
Conclusion
In recent release of ZK Spreadsheet, developers can even bind Java Bean into a spreadsheet application. This technical breakthrough will bring a new age to web spreadsheet applications. From now on, ZK developers are able to access the JavaBean from ZK Spreadsheet directly.If you have any questions or suggestions, please feel free to leave comments here or post to ZK forum.
Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License. |