What would a spreadsheet add-on be without being able to create multiple sheets? Multi-sheet has been a highly requested feature since the release of Excellentable, so we knew we had to choose this feature for the new release.
About Multi-sheet in Excellentable
Since spreadsheet software is widely used, most of you already know what multi-sheet in a spreadsheet is. For those new to spreadsheet software and the multi-sheet feature, it is the ability to add, edit and manage sheets within a workbook.
What does Excellentable’s multi-sheet feature do?
- No longer a need to add multiple Excellentable macros within a Confluence page, to create multiple-sheets.
- Importing and Exporting XLSX files between Confluence and Excel has never been easier.
Error for missing items during import
Excellentable now shows any formatting that did not import properly into Confluence. For example, in the error message below, the font Droid Sans is not supported by Excellentable so it was automatically replaced with the default font, Veradana.
Multi-sheet referencing is a very common feature and involves referencing a cell located in another sheet, by using some defined syntax or sheet name.
This feature allows the sharing of data between sheets, allowing your Excellentable to be even more dynamic. Most users who use spreadsheets need multiple sheets and it’s highly important to access data from cells within those sheets. This makes using spreadsheets in Confluence much more efficient.
To make development more systematic, the whole development process was broken down to three key phases. These were:
- UI & UX (front end)
Excellentable’s existing robust code for a single sheet, now had to be extended to support multiple sheets. This was not an easy thing to accomplish and the best way the team thought to work on this was with the Agile ticket management hierarchy seen below.
Addteq’s methodology focuses on Agile, so when developing new features, we continue our Agile practices. The team began development with focusing on UI & UX. Then went on to focus on the development of core functionalities, which surprising to them, had a lot of impact on other existing features like import, export and general formatting. So, the parallel development/improvement of different features had to be done as independent components and integrated at the end of every stage.
Excellentable currently so many UI related features, that the development team had to choose to create well designed, event driven UI components. Event driven UI components gave a real time experience to the user while working on a cell.
Laying the ground work for the multi-sheet feature actually began about a year ago. The user interface, spacing and sheet naming features had already been implemented. The only thing left to develop was to be able to use this previous build as a base and extend that functionality to include multiple sheets. The footer was already implemented but sheet management was disabled.
The multi-sheet functionality in Excellentable provides seamless management of spreadsheets in Confluence. Previously, the same functionality could be achieved, but users where required to add the same amount of macros as the number of sheets they wanted to have on the Confluence page. This violates one of ADDTEQ’s key policies, which is KIS (keep it simple). Doing this while increasing functionality was getting harder to achieve. Excellentable’s UI was modified with two points in mind, one being that any new features should be coherent & noticeable, and second, they must adhere to Addteq’s add-on branding.
For example, having 10 rows of data in Sheet 1 and 20 rows of data in Sheet 2, sets the minimum view in edit mode to be 20 rows long. There is no need to have a page of documentation explaining this. The team decided to set it this way because changing the view port size while switching between sheets may destroy the user designed layout of the wiki page, as Sheet 1 is half the size of other.
Making coherent software while maintaining the usability helped to come to most of the design decisions, helping to shape all new features. If a user wants Sheet 1 to be the default sheet being displayed in view mode, then the user only needs to be on Sheet 1 when saving their work. Simple solution right? When taking the worst case scenario into consideration, the user’s effort only increases by 3 clicks, maintaining balance between usability and comprehensibility. The team could have gone a different route by giving the user a separate dialog to set the default sheet.