ZK框架学习(二)——ZK Spreadsheet

ZK SpreadSheet(ZSS)是一款专为Java Web应用程序设计的Ajax组件,用于处理Excel文件。本文将介绍其基本概念,通过体验Demo工程了解使用方式,并剖析代码结构,特别是pom.xml中添加的依赖以及Excel加载过程。同时,文章揭示了ZK Spreadsheet的运行原理,包括客户端UI、服务端组件和公式计算引擎的数据模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ZK SpreadSheet简介

ZK SpreadSheet,简称ZSS。它是唯一可嵌入的Java Web应用程序的Ajax组件。它是ZK框架的一个组件,专门用于处理excel文件,加载、生成、编辑、下载等。
https://www.zkoss.org/product/zkspreadsheet

代码剖析

体验

下载Demo工程https://github.com/zzyymaggie/ZK_HelloWorld,按照readme运行和查看结果。

代码结构

解释一下该项目的代码结构。这里可以参考 ZK框架学习(一)的代码剖析。zss只是zk的一个组件,运行框架是一样的。这里只解释差异的部分。
1. pom.xml 增加zss的依赖

        <dependency>
            <groupId>org.zkoss.zss</groupId>
            <artifactId>zss</artifactId>
            <version>${zss.version}</version>
        </dependency>
        <!-- [Optional] Using ZK Spreadsheet EE -->
        <dependency>
            <groupId>org.zkoss.zss</groupId>
            <artifactId>zssex</artifactId>
            <version>${zss.version}</version>
        </dependency>

2.excel加载
2.1 编写zul

<?page title="My First ZK Spreadsheet application" contentType="text/html;charset=UTF-8"?>
<zk>
    <window title="My First ZK Spreadsheet Application" 
    apply="org.sophia.spreadsheet.MyComposer"
        border="normal" height="100%" width="100%">
        <spreadsheet id="ss" height="100%" width="100%"
        maxVisibleRows="150" maxVisibleColumns="40" showContextMenu="false"
         showToolbar="false" showSheetbar="true" showFormulabar="false"/>
    </window>
</zk>
excel文件可以由Compsoer加载,也可以直接在spreadsheet标签中,配置src属性加载。
2.2 编写Composer
public void doAfterCompose(Component comp) throws Exception {
        super.doAfterCompose(comp);  //wire variables and event listeners
        //access components after calling super.doAfterCompose()
        //import and load the template excel file "/WEB-INF/books/startzss.xlsx"
        Importer importer = Importers.getImporter();
        Book book = importer.imports(getFile(), "sample");
        ss.setBook(book);
    }


    private File getFile() {
        //get a file 
        return new File(WebApps.getCurrent().getRealPath("/WEB-INF/books/startzss.xlsx"));
    }

运行原理

ZK Spreadsheet 组件包括三个关键的部分:

  • 客户端UI
    它是一个网格小部件,你可以就地编辑单元格的内容。
  • 服务端组件
    就像你的Controller那样工作。
  • 包含公式计算引擎的book数据模型
    数据模型存储真正的电子表格数据,公式计算引擎负责解析和计算公式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值