During the past few months my coworkers and I have been working with Xcelsius on a regular basis to develop dashboard for our customers. Sometimes we face challenges when we generate a swf file from an xlf file in Xcelsius and we don’t know why. Other times, Xcelsius crashes during the generation of the swf file. Even when the swf generates correctly, we occasionally see dashboard performance issues (i.e. when we execute the Xcelsius swf file, the load time is very slow). However, we have found a trick that can be used to resolve these issues.
In this post I will explain the results of two tests that we did to reduce xlf file sizes followed by the steps you can follow to achieve these results.
The main idea of this trick is to reduce the size of the xlf file using OpenOffice software. Let me start by showing you the test results:
For the purpose of this test, we created an Xcelsius file called TestCompression.xlf
First we exported the xls file from the Xcelsius file by selecting Data -> Export:
We then saved the xls file. As you can see in the screenshot below, this generated a 2,264 KB xls file, so our objective was to decrease this file size.
Next we opened the xls file with Microsoft Excel and without modifying anything we saved it using another name. We repeated the same steps but this time with OpenOffice. In the image below you can see the decrease in size of the xls file. The size difference between the original xls file and the OpenOffice xls file is quite significant.
Finally we imported the new xls file into Xcelsius by selecting Data -> Import
In the screenshot below you can see that we decreased the xlf file size using the OpenOffice xls, but the change wasn’t very significant. TestCompression-OpenOffice.xlf is 1,117 KB, compared to the original TestCompression.xlf which was 1,236 KB.
As a result, we decided to test with another xlf file, which included hard coded data, to see if the compression would be more significant. For the second test, we achieved the following results after completing the same steps as outlined above.
In this screenshot we can see a significant decrease in the file size of the OpenOffice xlf with hard coded data. The original file TestCompression2.xlf file was 1,241 KB and the final TestCompression2-OpenOffice.xlf file was less than half the size (577 KB).
As a result of these two tests, we observed the following:
- Each time we modify an Excel Sheet inside Xcelsius, the size of the xls file increases.
- When the original xls is very large, the decrease in size is more substantial when we use OpenOffice.
- If we have hard coded data in the Excel file, we notice a greater size decrease than if we have QaaWs (Query as a Web Service) or Live Office Connections in the Excel sheet.
From now on, each time we attempt to generate a swf and we have made modifications (to data or Excel formulas) inside the Xcelsius Excel Sheet, we follow these best practice steps:
- Export from Xcelisus to xls file
- Open xls with OpenOffice
- Save it as xls file with new name
- Import to Xcelsius
In terms of speed, we notice changes in the swf loading process especially if most of our data is hard coded.
Finally find below a summary of the results obtained:
If you have experienced a similar situation with your Xcelsius files, I would be interested to hear how you have managed to reduce the file size. Also if you have any suggestions or feedback about my methods in this post, feel free to leave a comment below.