xlsgen bug fixes

Generate Excel files. Speed. Flexibility. Depth. Robustness.

 

Subscribe our RSS feed

xlsgen 3.5 build #115 : Fix pack for tables


Build 3.5.0.115 of xlsgen includes a fix pack for table objects in XLSX files (and their variants).

Namely,

- improved table data type inference

- improved table copy : should not include autoFilter if it does not have to

- improved table copy : differentiated styling properly copied as well

- table total row : did not work if wasn't inserted once

Posted on 07-June-2015 18:21 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #114 : Fix pack for rendering charts


Build 3.5.0.114 of xlsgen fixes the following items when rendering charts :

- data labels internally marked as deleted are indeed not rendered

- improved date type inference

- default line width for line charts, XY charts and radar charts from XLSX files


Posted on 02-June-2015 23:09 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #113 : Fix for copy/paste


Build 3.5.0.113 of xlsgen fixes a problem related to copy/pasting formulas across worksheets.

In one case, shared formulas from XLSX files were incorrectly processed and, as a result, were lost in the target worksheet.

Posted on 25-May-2015 18:36 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #112 : External links


Build 3.5.0.112 of xlsgen adds exposure to external links from any XLS or XLSX file (and their variants).

External references are created in about any formula, be it in cells, defined names, charts, conditional formattings, ...

The exposure of external references makes it possible to know the dependencies of a given spreadsheet.

Here is a sample code in C++ :


xlsgen::IXlsExternalReferencesPtr extRefs = workbook->ExternalReferences;

int nbExternalReferences = extRefs->Count;

for (int i = 1; i <= nbExternalReferences; i++)
{
xlsgen::IXlsExternalReferencePtr ref = extRefs->Item[i];

_bstr_t filepath = ref->ExcelFilepath;

BOOL IsDDE = ref->DDE;
BOOL IsOLE = ref->OLE;
}


Posted on 21-May-2015 20:45 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #111 : Fix for custom iconset conditionals


Build 3.5.0.111 of xlsgen fixes a problem related to properly preserving custom icon sets in conditional formattings (those were introduced in Excel 2010 in XLSX files).

Posted on 11-May-2015 10:55 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #110 : Smaller XLSX files


Build 3.5.0.110 of xlsgen brings a welcome improvement for writing XLSX files (and their variants).

The XML internally written is now optimized for expressing the same thing with less angle quotes. The result is important gains in raw parts, but of course since those files are zipped in the end, the zipped files exhibit a smaller change in size overall than the unzipped parts.

This does not break anything and is compatible with all Excel versions.

Posted on 10-May-2015 23:06 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #109 : Rendering of horizontal charts


Build 3.5.0.109 of xlsgen makes a small change to how horizontal bar charts are rendered.

The series order is reversed in order to mimic what Excel does with horizontal bar charts.

Posted on 10-May-2015 23:03 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #108 : Improved PDF/ODF/XPS export scenarios


Build 3.5.0.108 of xlsgen opens up new scenario combinations for converting files.

In essence, what's exposed is the in-memory conversion scenarios for PDF, ODF and XPS files. For instance XLS ==> ODF, XLSX ==> ODF, and so on. In other words, there is a better file conversion support in NewInMemory() OpenInMemory() and OpenFromMemory().

Posted on 02-May-2015 18:46 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #107 : Fix for parsing % near +- in formulas


Build 3.5.0.107 of xlsgen fixes a formula parsing problem related to the percent operator being used prior or after unary or binary plus or minus. There could have a mismatch which would result in incorrect parsing and potential loss of formula.

Posted on 02-May-2015 18:44 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #106 : Fix for sheet tab colors


Build 3.5.0.106 of xlsgen makes sure to copy sheet tab colors in Duplicate() scenarios.

Posted on 02-May-2015 18:42 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #105 : Fix for en-masse hidden rows


Build 3.5.0.105 of xlsgen properly handles an internal en-masse hidden rows feature in XLSX files.

This feature is saved in Excel whenever the user selects all 1 million rows but a few ones, and chooses to delete them. This feature allows to avoid saving each and every of those deleted rows with a delete flag. Outside, the file size is kept very low.

Posted on 02-May-2015 18:40 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #104 : Preserving calculation settings


Build 3.5.0.104 of xlsgen preserves a number of calculation mode settings from existing XLSX files.

These are :
- calcMode (manual/auto)
- fullCalcOnLoad (bool)
- iterate (bool)
- iterateCount (number)
- iterateDelta (number)
- fullPrecision (bool)
- calcCompleted (bool)
- calcOnSave (bool)
- concurrentCalc (bool)
- concurrentManualCount (number)
- forceFullCalc (bool)

Preserving the settings makes sure that updating existing files with xlsgen does not change the expected performance of the spreadsheet (speed and memory) at run-time in Excel.

Posted on 02-May-2015 18:37 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #103 : Fix for volatile functions


Build 3.5.0.103 of xlsgen fixes and preserves an internal flag related to volatile functions in XLS and XLSX files (and their variants).

Posted on 02-May-2015 18:23 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #102 : Preserve Excel 2010 form controls


Build 3.5.0.102 of xlsgen fixes a problem related to how Excel 2010 saves form controls in XLSX files (and their variants).

Turns out that Excel 2010 saves alternates XML fragments in addition to VML drawings, which is how form controls were saved since Excel 2007 (and still are). xlsgen now ensures to preserve those alternate fragments as well.

Posted on 02-May-2015 18:21 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #101 : Fix for rendering chart data labels


Build 3.5.0.101 of xlsgen fixes two problems related to rendering chart data labels.

The first fixes how number formats for data labels get handled in some combinations from XLS files. The second one makes sure that data labels are rendered centered in stacked chart types.

Posted on 02-May-2015 18:19 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #100 : Rendering stacked charts


Build 3.5.0.100 of xlsgen adds support for rendering stacked charts.

xlsgen 3.5 has introduced the built-in rendering of all Excel charts. Not all combinations were supported yet, and in particular stacked bar charts, stacked line charts and stacked area charts were not supported. They were rendered as regular bar charts, line charts and area charts.

Beginning with this build, stacked and stacked 100% charts are rendered correctly. The chart types supported are bars, lines and areas which are the those supported by Excel.

Stacked charts are charts were data are accumulated instead of kept side by side. This is useful for financial cases. Stacked 100% charts is a variation of stacked charts where the scale is kept in percent rather than raw accumulated values.


Example of stacked bars

Posted on 28-April-2015 22:14 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #99 : Preserving additional workbook level properties


Build 3.5.0.99 of xlsgen preserves 10+ workbook-level properties from XLSX files (and their variants).

Among the preserved properties are :
- date1904
- showObjects / hideObjectd
- showBorderUnselectedTables
- filterPrivacy
- promptedSolutions
- showInkAnnotation
- backupFile
- saveExternalLinkValues
- updateLinks
- hidePivotFieldList
- showPivotChartFilter
- allowRefreshQuery
- publishItems
- checkCompatibility
- autoCompressPictures
- refreshAllConnections
- defaultThemeVersion

A number of those properties affect the performance and size of files depending on their values (most are boolean values). For instance, the saveExternalLinkValues property is checked by default in Excel which means Excel saves a cache of all external references, which can be arbitrarily big. Unchecking this property in Excel's user interface ensures no such cache is saved in the file.

Posted on 28-April-2015 21:52 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #98 : More speed for reading XLSX files


Build 3.5.0.98 of xlsgen improves the speed of reading of XLSX files (and their variants, XLSM, XLST, ...).

What we have done in this build is pre-tokenize XML nodes so that the parsing phase is faster for loading the parts of the file which can be arbitrarily big.

This is an ongoing work. We won't be done until reading XLSX files is as fast as reading XLS files (even though there is more work due to the unencoded nature of data and formulas in XLSX files).

Posted on 28-April-2015 21:46 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #97 : Fix for custom data labels in charts


Build 3.5.0.97 of xlsgen fixes the rendering of custom data labels in charts.

Whenever series would have a single item of data, custom data labels of type value would ignore the "linked to source" number format, wherever applicable. This is now fixed.

Posted on 28-April-2015 21:43 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #96 : Fix for rendering Area chart types


Build 3.5.0.96 of xlsgen fixes the rendering of charts of type Area.

What is changed is how the bottom portion of the area surface gets rendered. Before this build, the plot area bottom would be the area bottom. Now this x axis (category axis) is the bottom, which means the area surface correctly crosses (if there is any negative data) or rests on the x axis instead of the bottom of the plot area.

This is mostly anecdotal change but it mimcs Excel.

Posted on 28-April-2015 21:30 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

 

<-- previous page