xlsgen bug fixes

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

 

Subscribe our RSS feed

xlsgen 4.0 coming soon


We have been working on a number of major features for months and we are getting ready to ship xlsgen 4.0 soon. Features are going to be announced and we think these are important additions for the future of xlsgen and how it meets changing market demand. License pricing isn't going to change.

Posted on 24-September-2015 20:48 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #134 : Rendering of cone and cylinder charts


Build 3.5.0.134 of xlsgen adds support in the built-in chart renderer for shape types cylinder, cone and pyramid.

Truncated cones and truncated pyramids are supported as well.

These are variants for bar charts, and fully exposed in the object model.

Support is for XLS charts as well as XLSX charts.

Also for 2D charts as well as for 3D charts.

Posted on 20-August-2015 16:19 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #133 : Insert Fill option


Build 3.5.0.133 of xlsgen introduces a new option for using the insert row/col feature.

When new rows are inserted in the middle of an existing spreadsheet, the rows actually propagate the formatting from the row above. This behavior mimics Excel.

In this new build, a new option called InsertFillOption is introduced. It is a boolean and its default value make the insert row/col feature work as explained above. If the option is set to False however, the new blanks remain blank, i.e. the formatting from the row above (or column on the left) isn't propagated.

Of course this option must be set accordingly and before using the insert row/col feature, as in :

workbook.InsertFillOption = False;

worksheet.Rows("5:5").Insert(10);

Posted on 10-August-2015 22:17 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #132 : Table support in calc engine


Build 3.5.0.132 of xlsgen provides support for table object in the calculation engine. For instance if you are using a function such as =VLOOKUP(C2, Table1, 2), where Table1 is the name of an existing table object in the current file, you can now get it supported by xlsgen in calculations.

Posted on 02-August-2015 16:34 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #131 : Fixed leaks (II)


Build 3.5.0.131 of xlsgen has another round of leaks fixed. It involves a GDI leak whenever pictures are being rendered ; another one is related to the fragmentation of memory for large files with many columns.

Posted on 02-August-2015 16:32 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #130 : Fixed leaks


Build 3.5.0.130 of xlsgen fixes several file handle leaks in XLSX create/update scenarios (XLSX and their variants).

This is particularly useful in server scenarios where xlsgen is supposed to serve a number of requests over time.

Posted on 31-July-2015 12:06 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #129 : Migrate custom document properties


Build 3.5.0.129 of xlsgen makes sure that custom properties in the metadata of XLS files are automatically and properly migrated to XLSX files whenever such a scenario is being run (XLS file as input, XLSX file as output). Regular non-custom metadata properties such as Author, Date, etc. were already migrated.

Posted on 31-July-2015 12:01 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #128 : Fix for 64-bit scenarios


Build 3.5.0.128 of xlsgen fixes a limitation in 64-bit scenarios.

Some of what xlsgen used to have since last november (2014) for avoiding out of memory exceptions while loading large files when it crosses then 2GB limit, was actually also compiled for 64-bit scenarios even though in 64-bit cases a process can hold more than 2GB of memory (physical or virtual).

So this build undoes the unnecessary 2GB check in 64-bit, and as a result scenarios can eat all the memory you have (physical or virtual).

Posted on 29-July-2015 12:32 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #127 : Memory performance improvements


Build 3.5.0.127 of xlsgen improves memory performance in print, preview, PDF and XPS generation scenarios.

Earlier this year, improvements were made for speeding up such scenarios, unfortunately at the cost of making them (much) more memory intensive whenever big files would be generated (think 10000+ pages).

This build ensures that the memory consumption anymore is kept as low as possible (virtually non existent in some of the scenarios).

Posted on 28-July-2015 23:15 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #126 : OpenFromMemoryEx


Build 3.5.0.126 of xlsgen adds OpenFromMemoryEx() to the in-memory scenarios.

OpenFromMemory(), which was available so far, was not allowing the Excel file format identifier or Output file format identifier be set independently at input and output.

OpenFromMemoryEx() lets you do that exactly. For instance you can open an XLSX Excel file from a memory buffer and create a PDF memory buffer as output.

Posted on 11-July-2015 23:25 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #125 : databar 2010 properties


Build 3.5.0.125 of xlsgen exposes databar Excel 2010 properties in the object model. So far those extended properties were supported internally for reading, writing and rendering purposes.

The properties are :

- GradientFill boolean : sets whether borders should have a gradient fill or a solid fill. Default is : gradient fill. Applies to Excel 2010 XLSX files only (and above).

- Direction enumTextReadingOrder : sets the bar reading order, among content, left to right and right to left. Default value : context. Applies to Excel 2010 XLSX files only (and above).

- AxisPosition enumDatabarAxisPosition : sets the axis position differentiating positive and negative values. Applies to Excel 2010 XLSX files only (and above).

Posted on 11-July-2015 23:22 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #124 : Improved automatic source code gen


Build 3.5.0.124 of xlsgen improves the automatic source code generator that is part of the install.

The automatic source code generator creates the source code corresponding to any XLS/XLSX file being given to it, and in the programming language of your choice.

The automatic source code generator just got even more interesting by generating the source code for all conditional formattings. This includes not only the usual suspects, cell based and formula based conditional formattings, but also all "advanced" ones such as data bars, color scales and icon sets. And again, in VB, VBScript, C#, C++ and Java.

What we want is make sure you can use xlsgen as fast as possible, and ideally without even learning the object model. And we think the automatic source code generator is a great start.

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

 

xlsgen 3.5 build #123 : Column width in pixels


Build 3.5.0.123 of xlsgen exposes column widths in pixels, through a new property called WidthInPixels in the IXlsWorksheetColumns interface.

So far the width exposed the metrics used by Excel for column widths in XLS and XLSX files (and their variants). The metrics were not pixels, inches or anything of this.

A few months ago, we introduced pixel-based API in the object model for working with many objects such as charts, text boxes and so on.

This build exposes column widths so it is possible to get or set the width in pixels.

Posted on 25-June-2015 01:08 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #122 : Fix for rows


Build 3.5.0.122 of xlsgen fixes a problem related to the automatic removal of empty rows in XLSX files, for file size reduction purposes. Beginning with this build, if the height has been changed, the row isn't removed.

Posted on 25-June-2015 01:04 | Category: xlsgen, Excel generator | Tags: generating Excel spreadsheets

 

xlsgen 3.5 build #121 : XLSM mime type


Build 3.5.0.121 of xlsgen ensures that in-memory scenarios preserve the internal XLSM mime type, avoiding a prompt whenever the files are opened in Excel.

When Excel 2007 introduced XLSM files for "macros", it actually introduced a subtle marking of the file, most probably for screening purposes, as such. In-memory scenarios in xlsgen lacked this capability so far because the algorithm was based on the file extension, XLSX versus XLSM, and there is no such thing as a file extension in in-memory scenarios.

So beginning with this build, xlsgen reads the internal markers of input buffers to figure out these are meant to be "macro enabled" output buffers. This is completely transparent for the client application, and for Excel.

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

 

xlsgen 3.5 build #120 : Fix pack for charts


Build 3.5.0.120 of xlsgen is a fix pack for charts.


It includes the following fixes :

- rotate x-axis text in transposed charts so it is easier to read (and mimics Excel)

- better rendering of plot area (actual wide setting)

- fill rendering : avoid partial deletion of borders

- custom data label rendering (font particularly)

- custom data labels : position is wrong in stacked chart case

- clipping case : data labels of type "outside" are repositioned to avoid clipping if they are too close to plot area boundaries

- chart rendering : custom data label positioning



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

 

xlsgen 3.5 build #119 : More gradient types in charts


Build 3.5.0.119 of xlsgen brings support of 6 gradient fill types to xlsgen for rendering charts.

Before that, only one horizontal type and one vertical type (both linear) were supported. Now 4 horizontal types and 4 vertical types are supported, which makes way for properly rendering some of the more advanced formatted charts.

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

 

xlsgen 3.5 build #118 : Shape groups


Build 3.5.0.118 of xlsgen adds support for shape groups from XLSX files.

Shape groups are the result of shift-clicking more than one shape in Excel and clicking Group in the Format ribbon. Shapes in question can be anything among charts, text boxes, vector shapes, pictures, ...

Internally those are saved a lit oddly and xlsgen would just ignore them so far, unfortunately ignoring the actual shapes as well.

Obviously, there can also be groups within groups. So this was also a scenario to support.

xlsgen correctly reads shape groups and use them for rendering, inspecting and copying purposes.

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

 

xlsgen 3.5 build #117 : Exposure of active cell


Build 3.5.0.117 of xlsgen adds exposure in the object model of the active cell in each worksheet.

Selecting a cell area in any worksheet has been part of xlsgen forever, but the opposite which means gathering what is selected by default, hasn't.

So to get the active cell range in any worksheet,

xlsgen::IXlsRangePtr r = worksheet.SelectionRange;

_bstr_t rangeAreas = r.Range; // returns for instance R2C2:R5C2


And if you are interested in just one cell, you can always do the following,

int active_row = r.Top;

int active_column = r.Left;


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

 

xlsgen 3.5 build #116 : Fix for text boxes and vector shapes


Build 3.5.0.116 of xlsgen has a fix related to text boxes and vector shapes where the text is governed by a formula. xlsgen ensures in this case that the number format of the referenced cell is used for rendering the calculated text.

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

 

 

<-- previous page