Keikai App

Overview

Keikai App is a web-based Excel like application based on the Keikai component. We created it to demonstrate Keikai’s numerous powerful features. You can also use this application as a basis of your application and add more functions like authentication.

Please follow these steps to run this application:

  1. Download Keikai spreadsheet Demo App from Keikai Download Page. Depending on the features you require, choose OSE or EE evaluation version accordingly.
  2. Unzip the zip file and deploy the Spreadsheet App’s WAR file to your application server according to its instruction.
    • For Tomcat just put the war file in [CATALINA_HOME]\webapps.
  3. Start your application server and connect it with your browser.
    • For Tomcat, just visit http://localhost:8080/keikai-app then you can start to experience the power of Spreadsheet App.

After you visit Spreadsheet App, you should see its user interface like the screenshot below:

You might notice that we added a menu on top of the Spreadsheet component and enabled the 3 leftmost buttons (“New Book”, “Save Book”, and “Export to PDF”) on the toolbar. These are application specific and we have implemented them in this Demo App. You can reference this application to implement your own.

Features

Here we focus on features we created specially for the Spreadsheet Demo App. For component’s features, please refer to Features and Usage.

File Menu

The “File” menu contains many file operations such as load, save, and export.

Each menu item and its function description are:

Menu Item

Description

EE Only

New

create a book with 2 blank sheets which equals to click the New Book icon on the toolbar

Open

open a book list dialog that allows you to open, delete, and upload a file.

Save

save current book which equals to click the Save Book icon on the toolbar

Save As

save current book as another file

Save & Close

save current book then close it

Close

close current book

Export

export current book as an Excel file

Export PDF

export current book as a PDF file which equals to click the Export PDF icon on the toolbar

yes

When you select “Open or Manage Books”, the dialog below appears and you can open, delete, or upload a book.

Edit Menu

The “Edit” menu has “Undo” and “Redo”. Undo and Redo will be performed when you click on them.

Each menu item and its function description are:

Menu Item

Description

EE Only

Undo

erase the last change you made

yes

Redo

revert the effects of the undo action

yes

View Menu

The “View” menu can control different view options.

Each menu item and its function description are:

Menu Item

Description

EE Only

Formula Bar

control visibility of the formula bar

Freeze Rows & Columns

freeze rows and columns according to current selection. It freezes the rows above and the columns left to the current selected cell.

yes

Unfreeze Rows & Columns

unfreeze rows and columns

yes

Freeze Row

shortcut menu to freeze row 1 to row 5

yes

Freeze Col

shortcut menu to freeze column A to column E

yes

The screenshot below shows a result after selecting “Freeze Rows & Columns” when selection box stays in B2. It freezes the row above and the column left to current selection:

Configuration

Repository Root

Cloud Drive is the folder where your files are uploaded to. Keikai Demo App will read Excel files from this folder. You can specify the path/folder via system property.

kkapp.repository.root

For example, in a Tomcat server, we can assign the following value into TOMCAT_HOME/conf/catalina.properties. In this case, Cloud Drive folder will be changed to c:\kkapp\books.

kkapp.repository.root=c:\kkapp\\books

Auto Save

Demo App supports auto save, and it is triggered in the following cases:

  1. When user changes the file content, and reaches the specified saving time.
  2. Last editing user for the book leaves the book, e.g. opens another book or closes the browser.
  3. When server shuts down normally.

By default, the app saves all changes every 15 minutes, but you can change the frequency via configuration. The following example demonstrates how you can change the saving frequency to 5 minutes (300 seconds).

Example in zk.xml

<library-property>
    <name>kkapp.save.period.second</name>
    <value>300</value>
</library-property>
Get code at GitHub

Comments