0

ZK Spreadsheet

asked 2013-03-20 04:15:21 +0800

this post is marked as community wiki

This post is a wiki. Anyone with karma >100 is welcome to improve it.

updated 2013-03-20 08:50:22 +0800

dennis gravatar image dennis
3679 1 6
http://www.javaworld.com....

Can we save data from ZK Spreadsheet in to database and retrieve same while loading the spreadsheet.

delete flag offensive retag edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2013-06-20 09:07:55 +0800

benbai gravatar image benbai
2228 6
http://www.zkoss.org

Yes, you can write value to specific cell or read value from it, please refer to Get or Set Value, Formula, or Formatted Text

A simple sample below, you can test it with a .xls file that contains some text in cell B3 of first sheet.

test.zul

<zk>
    <window apply="test.TestComposer">
        <spreadsheet id="spreadsheet" src="/test.xls" width="350px" height="350px" />
        <button id="btn" label="write value" />
        <button id="btnTwo" label="get value" />
    </window>
</zk>

TestComposer.java

package test;

import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zss.model.Range;
import org.zkoss.zss.model.Ranges;
import org.zkoss.zss.model.Worksheet;
import org.zkoss.zss.ui.Spreadsheet;

@SuppressWarnings("rawtypes")
public class TestComposer extends SelectorComposer {
    /**
     * 
     */
    private static final long serialVersionUID = -4098595424876104223L;
    @Wire
    Spreadsheet spreadsheet;

    @Listen ("onClick = #btn")
    public void writeValue () {
        int row = 3;
        int col = 3;
        Worksheet sheet = spreadsheet.getSelectedSheet();
        Range currentRange = Ranges.range(sheet, row, col);
        currentRange.setEditText("test");
    }
    @Listen ("onClick = #btnTwo")
    public void readValue () {
        int row = 2;
        int col = 1;
        Worksheet sheet = spreadsheet.getSelectedSheet();
        Range currentRange = Ranges.range(sheet, row, col);
        System.out.println(currentRange.getEditText());
    }
}
link publish delete flag offensive edit
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow
1 follower

RSS

Stats

Asked: 2013-03-20 04:15:21 +0800

Seen: 33 times

Last updated: Jun 20 '13

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More