Build Live ESG, Financial and Compliance Reports with Keikai Doc
James Chu, Engineer, Potix Corporation
March 19, 2025
Keikai Doc preview
Introduction
In today’s fast-paced business world, reporting needs to be accurate, collaborative, and always up to date—whether for financial statements, ESG disclosures, regulatory compliance, or business analytics. Managing reports manually, juggling version control, and updating static documents can lead to inefficiencies and errors. That’s why we built Keikai Doc, a powerful online document component that seamlessly integrates with Keikai Spreadsheet. With real-time editing, live data synchronization, and dynamic content linking, you can create interactive, data-driven documents for any reporting needs—all within the ZK UI Framework.
public class DemoComposer extends SelectorComposer<Component> {
@Wire
private Docpad docpad;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
DocumentModel model = Importers.getImporter(Importers.Type.DOCX).imports(new File("./report.docx"));
docpad.setModel(model);
}
}
How Keikai Helps You Build the Perfect Report
Traditional reporting often involves disconnected spreadsheets and static documents, making it difficult to keep reports accurate and synchronized. Our solution provides a flexible document structure where:
- Documents stay up to date with live editing and real-time data synchronization.
- Keikai Spreadsheet integrates seamlessly, allowing you to embed and refresh data effortlessly.
- Spreadsheets and charts update automatically, eliminating the need for manual data entry.
- Reports can be structured for any domain, from financial summaries to ESG and compliance reporting.
Spreadsheet embedded = new Spreadsheet();
Book book = originSpreadsheet.getBook();
embedded.setBook(book);
// some settings for embedded spreadsheet
editor.execute(Commands.component(embedded));
Top Features
Now, let's explore some of Keikai Doc’s unique features and see how it works smarter together with Keikai Spreadsheet.
Live Editing
Eliminate confusion about version control. With live editing, you can always see the latest changes in the document. Updates appear instantly, so there’s no need to worry about outdated copies.
Seamless Keikai Spreadsheet Integration
Our document component is data-driven at its core, allowing you to link directly to your Keikai Spreadsheet for real-time updates – no more copy-paste! You can easily pull in live spreadsheet data and let your reports update dynamically:
- Embed Spreadsheet Data – Link directly to Keikai Spreadsheets for up-to-the-minute accuracy.
- Auto-Refresh Content – Any changes in the Spreadsheet instantly appear in your document.
- Dynamic Charts – Transform rows and columns into visual insights with auto-updating bar, line, or pie charts.
// Copy the cell text as a label in Keikai Doc
Label label = new Label();
Range range = Ranges.range(sheet, "A1");
label.setValue(range.getCellFormatText());
editor.execute(Commands.component(label));
// Updated when the cell changed
sheet.addCellRegionValueChangeListener(new CellRegion("A1"), cellRegion -> {
label.setValue(range.getCellFormatText());
});
A Flexible Framework for Any Reporting Needs
Keikai Doc is a Java Web component designed for any scenario where documents, spreadsheets, and charts need to work together dynamically. It can be used for:
- Financial reports with embedded numbers and performance trends
- Regulatory compliance reports that require structured, up-to-date data
- ESG disclosures that pull in live environmental or governance metrics
- Business analytics with real-time data summaries and charts
- Custom reports tailored to your specific industry or operational needs
With Keikai Spreadsheet as your data source, your documents will always reflect the latest information, without requiring manual intervention.
label.addEventListener(Events.ON_DOUBLE_CLICK, (EventListener) event1 -> {
slider.setCurpos((Double) Ranges.range(sheet, range).getCellValue());
popup.open(docpad, "at_pointer");
});
// Listener in the composer to update changed value to spreadsheet
@Listen("onScroll=#slider")
public void sliderOnChange(ScrollEvent event) {
Ranges.range(sheet, range.setCellValue(event.getPosInDouble());
}
Easily Adapt to Evolving Reporting Needs
Keikai’s flexible structure allows you to design reports incorporating required data by pulling live information from Keikai Spreadsheet.
Explore the Possibilities with Keikai
Are you curious to see how Keikai Doc and Keikai Spreadsheet can enhance your workflow? Stay updated and be among the first to explore new features — sign up at keikai.io/doc.
Feedback
Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License. |