通过 ZK Spreadsheet在线查看excel文件
ZK Spreadsheet是 http://www.zkoss.org/ 出品的LGPL的在线电子表格编辑器, 兼容excel
demo:http://zssdemo.zkoss.org/
文档:http://books.zkoss.org/wiki/ZK_Spreadsheet_Docs
快速启动:http://books.zkoss.org/wiki/ZK%20Spreadsheet%20Quick%20Start%20Guide/Quick%20Start/Create%20and%20Run%20Your%20First%20ZK%20Spreadsheet%20Application
第一阶段:
1.安装 ZK Studio( Create and Run Your MyZK Application with Eclipse and ZK Studio)
参考:http://books.zkoss.org/wiki/ZK_Installation_Guide/Quick_Start/Create_and_Run_Your_First_ZK_Application_with_Eclipse_and_ZK_Studio
2. 新建ZK工程里并测试运行。
第二阶段:
1.建立普通 Java Web 工程,导入 zk 工程所需的包,建立.zul 页面;
2.配置 web.xml 文件 ,具体配置详见附件 web.xml;
3.在线显示测试;
将要显示的文件的文件名传递给某zul 页面,服务器目录+"fileName" 传递给Spreadsheet插件 显示。
eg1. http://localhost:8080/zs/index.zul?fileName=HelloZSS.xlsx
或是嵌套在jsp 页面,通过iframe src 显示
eg2.http://localhost:8080/zs/a.jsp?fileName=HelloZSS.xlsx
4. 遗留问题
zk Spreadsheet 最大的优点就是 在线类似于对Office Excel 文件进行操作,但现在需求是可以让用户只浏览或是对文件进行编辑操作,对文件的禁用或只读进行设置操作困难,对此实现思路是 外层套用透明层蒙板,实现文件只浏览功能,但此方式浏览文件还是有问题,Excel 文件的滚动条同时也被盖住,文件浏览不能全部浏览。
第三阶段:
ZK Spreadsheet 在线浏览的Excel 文件实现了不可编辑功能(只读)。
解决途径:
Registering Editing Events ,即为Spreadsheet组件添加监听器。
步骤:
1 新建java 类 MainLayoutComposer 继承 抽象类GenericForwardComposer;
2 手动添加方法public void doAfterCompose(Component comp) throws Exception {},重写抽象类中的方法;
3 在doAfterCompose(Componet comp)方法中必须使用super.doAfterCompose(comp); 初始化和zul页面组件关联的属性。
部分代码:
public class EditingEventsComposer extends GenericForwardComposer {
/**
* zul组件对象映射
*/
private transient Spreadsheet ss;
private transient Textbox editBox;
// 初始化
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp); // 必须的,作用:变量和页面中zk组件绑定进行初始化变量
System.out.println("渲染后执行自定义初始化");
}
private void doStartEditingEvent(StartEditingEvent event) {
event.cancel(); // 取消编辑事件
}
public void onStartEditing$ss(StartEditingEvent event) {
System.out.println("单元格开始编辑 事件");
doStartEditingEvent((StartEditingEvent) event);
}
4. 在window组件里面使用apply属性关联到后台java类。
说明:把变量绑定到zk组件,变量名必须和zk组件id同名;
<window title="" border="normal" vflex="1" width="100%" apply="com.zk.web.EditingEventsComposer">
<spreadsheet src="${filePath}" id="ss" maxrows="200"
maxcolumns="40" vflex="1" width="100%"></spreadsheet>
</window>
</zk>
分享到:
相关推荐
PHP Spreadsheet扩展是用于读写Microsoft Excel文件的一个强大的库,它允许开发者在服务器端生成和修改Excel工作簿,而无需依赖Microsoft Office或者安装其他第三方软件。本篇文章将详细介绍如何使用PHP Spreadsheet...
"Spreadsheet_Excel_Writer" 是一个库,它允许程序员通过编程方式创建和修改Excel文件,而无需依赖Microsoft Excel软件本身。本实例将深入探讨如何使用Spreadsheet_Excel_Writer库生成Excel文件,帮助开发者更高效地...
ZK Spreadsheet 3.9.1 是一个基于Web的电子表格组件,专为构建在线协作和数据编辑的应用程序设计。这个版本提供了与Microsoft Excel类似的功能,让用户能够在浏览器中创建、编辑和共享电子表格,无需安装任何桌面...
ZK Spreadsheet(3-1)
下面我们将深入探讨如何使用Spreadsheet_Excel_Reader库读取Excel文件: 1. **安装与配置** 在你的项目中,首先需要下载Spreadsheet_Excel_Reader库。如果使用Composer管理依赖,可以通过`composer require ...
通过以上介绍,我们可以看到 Spreadsheet-WriteExcel 是一个强大且实用的 PHP 库,它简化了在服务器端生成 Excel 文件的过程,为开发者提供了丰富的功能和灵活性。无论是在报表生成、数据导出还是自动化任务中,都能...
标题中的"Spreadsheet-WriteExcel-2.15.tar.rar"是一个软件库的打包文件,主要用于Perl语言,目的是为了能够创建和写入Excel文件。这个版本是2.15,通常意味着它包含了该库的最新功能和修复。".tar"和".rar"都是压缩...
1. **初始化工作簿**:通过调用`Spreadsheet_Excel_Writer`类的实例,创建一个新的Excel文件。 2. **添加工作表**:向工作簿添加新的工作表,每个工作表代表Excel文件中的一个单独表格。 3. **写入数据**:使用`...
ZK Spreadsheet API.chm ZK Spreadsheet API.chm
包含的"DevExpressExport"文件可能是包含示例代码的项目文件或类库,开发者可以通过查看和运行这些代码来学习如何集成和使用SpreadsheetControl的各项功能。 9. **错误处理**: 在实际开发中,必须考虑到文件可能...
zk.part2.rar(3-2)
标题中的“Spreadsheet在线Excel,纯前端js”指的是一个基于JavaScript的在线电子表格应用,它允许用户在浏览器中创建、编辑和操作Excel文件,而无需依赖任何后端服务或安装额外软件。这种技术通常用于构建Web应用...
标题“ZK Spreadsheet(3-3)”暗示我们正在讨论的是关于ZK Spreadsheet的一个特定部分,可能是教程或更新的第三部分。"zk.part3.rar(3-3)"的描述可能是一个压缩文件,包含了该系列内容的第三个部分,可能是文档、...
在IT领域,尤其是在Web开发中,处理Excel文件是一项常见的任务,比如数据分析、数据导入导出等。本资源主要探讨了如何在ThinkPHP5.1框架下利用PhpSpreadsheet库来实现Excel文件的操作,包括导入和导出功能。下面将...
Spreadsheet::WriteEXcel安装包 下载 Spreadsheet-WriteExcel-2.40.tar.gz并解压在DBI-1.13中 和安装cpan一样,在目录中执行以下操作: perl Makefile.PL make make test make install make clean
提供一个比较好的Excel读写接口~~~ 以前在项目里面用到感觉非常方便~~~
ZK试算表ZK Spreadsheet是一个基于Web的开源可嵌入的在线电子表格,可在使用纯Java的浏览器中提供Excel的丰富功能。 借助可嵌入的Excel功能,开发人员可以轻松创建交互式,协作和动态的企业应用程序。 较新的。 更好...
Perl SpreadSheet_Excel 是一个基于Perl编程语言的库,用于解析和操作Microsoft Excel电子表格文件。这个库的核心组件是 `...通过 `Spreadsheet::WriteExcel` 这样的配套模块,还可以实现Excel文件的写入功能。
对于 Excel 文件,POI 使用 HSSF(Horizontally Stored Spreadsheet Format)来处理 .xls 文件(Excel 97-2007 格式),而 XSSF(XML Spreadsheet Format)则用于处理 .xlsx 文件(Excel 2007 及以后版本的格式)。...
1、SpreadSheet是一个Excel操作封装类,使用起来比其他的更为方便。 2、修正了原版SpreadSheet几个错误问题 3、压缩包里面包含了SpreadSheet的简单使用示例。 4、使用vs2008编译通过