XEROF

 

xlsgen 4.9 ships !


xlsgen 4.9 developer friendly edition ships !

Features, most notably :

- multithreaded calc engine
- PDF Unicode and font embedding
- SVG charts
- HTML markup for rich labels
- Rendering treemaps and sunbursts
- Advanced OpenOffice
- Performance improvements

Posted on 26-November-2020 06:27 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9 preview #7 : Improved LibreOffice/OpenOffice


xlsgen 4.9 adds the following support to LibreOffice/OpenOffice files :

  • read existing pivot tables
  • write pivot charts (introduced in libre office 5.4.1)
  • read cell data validations
  • read auto filter and custom filters
  • improved writing of custom filters


Posted on 25-November-2020 11:38 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9 preview #6 : Performance improvements


xlsgen 4.9 includes performance improvements. Those are particularly noticeable in server scenarios where xlsgen runs for long periods of time.

  • for reading and creating XLS files, memory consumption much lowered by defaulting to 4KB blocks instead of 64KB blocks
  • for reading chart formatting details from any Excel file, memory leak removal


Posted on 25-November-2020 11:36 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9 preview #5 : Chart renderings


xlsgen 4.9 improves chart renderings in multiple ways :

  • Rendering of treemaps and sunbursts. (outputs : PNG, PDF, SVG)
  • Avoid chart element overlap wherever possible, for instance make sure the legend never overlaps with the plot area
  • Additional chart element formatting that were not supported in past xlsgen versions



xlsgen 4.9 renders treemaps and sunbursts, charts which were introduced in Excel 2016 and were already supported in read and write. Those two charts are particularly suited when the data being charted is hierarchical in nature. For instance if you have multiple level of time groups in a timeline, or multiple level of particular regions in a geographical division.
The multiple levels are taken as chart categories. Categories usually are a single row or a single column. With multiple levels of depth, it's more than one row or more than one column.


Rendering treemaps in xlsgen

And here is how you can create this :

xlsgen::IXlsChartPtr chartTreemap = worksheet->NewChart(xlsgen::charttype_treemap,
9, //row1
2, //col1
25, //row2
9 //col2
);

chartTreemap->MainTitle->Label = L"treemap";
xlsgen::IXlsChartDynamicDataSourceSeriesPtr s1 = chartTreemap->DynamicDataSource->AddSerie();
s1->SeriesValuesFormula = L"=Sheet1!$D$2:$D$6";
s1->DataLabelsFormula = L"=Sheet1!$A$2:$C$6"; // Categories with 3 levels of depth

chartTreemap->ExtractAsPNG(L"treemap.png");






Rendering sunbursts in xlsgen



xlsgen::IXlsChartPtr chartSunburst = worksheet->NewChart(xlsgen::charttype_sunburst,
27, //row1
2, //col1
43, //row2
9 //col2
);

chartSunburst->MainTitle->Label = L"sunburst";
xlsgen::IXlsChartDynamicDataSourceSeriesPtr s2 = chartSunburst->DynamicDataSource->AddSerie();
s2->SeriesValuesFormula = L"=Sheet1!$D$2:$D$6";
s2->DataLabelsFormula = L"=Sheet1!$B$2:$C$6"; // Categories with 2 levels of depth

chartSunburst->ExtractAsSVG(L"sunburst.svg");




As for when to choose sunbursts over treemaps, sunbursts show the entire depth of categories, as in rings, whereas treemaps show a less detailed depth of categories.

Posted on 25-November-2020 11:26 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9 preview #4 : Advanced HTML markup


xlsgen 4.9 adds HTML markup to all rich label formattings, not only in cells.

Rich label formatting is in many other places, notably text boxes, comments, vector shapes, chart elements (titles, data labels, ...), and the only way so far to put more than one formatting run in rich labels was to create multiple styles and pass them. In other word, there wasn't for the rich label object model, the same mechanism that was added years ago for cells, which is the ability to either pass styles (one style for each formatting run) or use HTML markup.

So what xlsgen 4.9 introduces is the ability to use HTML markup as well in general purpose rich labels. Of course, you can also read existing formatting runs and obtain the HTML markup. Last but not least, the automatic source code generator tool exposes the HTML markup in rich labels.

So if you open Excel, insert a text box, write this This is blue text in it, save the file, then open the automatic source code generator, you'll get the following source code fragment in the programming language of your choice, here C/C++ :


xlsgen::IXlsTextBoxPtr textbox001s0 = wksht001->NewTextBox(4, 3, 9, 7, 38, 208, 128, 896);
xlsgen::IXlsRichLabelPtr richLabel001s000c0 = wksht001->NewRichLabel();
richLabel001s000c0->HtmlLabel = L"<font color=#000000 size=11 name=\"Calibri\"><b>This is </b></font><font color=#00B0F0 size=11 name=\"Calibri\"><b>blue </b></font>" \
L"<font color=#000000 size=11 name=\"Calibri\"><b>text</b></font>";
textbox001s0->RichLabel = richLabel001s000c0;


Before this, here is what you had to write :

xlsgen::IXlsTextBoxPtr textbox001s0 = wksht001->NewTextBox(4, 3, 9, 7, 38, 208, 128, 896);

xlsgen::IXlsStylePtr styleDefault = wksht001->NewStyle();
styleDefault->Font->Bold = TRUE;
styleDefault->Apply();

xlsgen::IXlsStylePtr styleBlue = styleDefault->Duplicate();
styleBlue->Font->Color = 0x0000FF;
styleBlue->Apply();

xlsgen::IXlsRichLabelPtr richLabel001s000c0 = wksht001->NewRichLabel();
richLabel001s000c0->Label(L"This is ", styleDefault);
richLabel001s000c0->Label(L"blue ", styleBlue);
richLabel001s000c0->Label(L"text", styleDefault);

textbox001s0->RichLabel = richLabel001s000c0;


Posted on 24-November-2020 11:18 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9 preview #3 : SVG charts


xlsgen 4.9 introduces charts using the SVG file format. It is now possible to export one or more charts as SVG, or Scalable Vector Graphics. This W3C norm is now very popular on the web thanks to the nature of SVG, i.e. vector-based drawing along with its effectiveness when specifying complex combinations (clipping, gradients, ...). It is also more efficient in size.

Here is a sample chart in PNG,


PNG chart

and then the same in SVG,


SVG chart


To get this, just write :

currentWorksheet.Charts.Item(2).ExtractAsSVG("c:\\tmp\\export.svg");


Of course, all chart types and their formatting details can be exported as SVG, including the new charts we are introducing in xlsgen 4.9

When SVG charts are part of an HTML page, the beauty of it is that instead of having to worry about retrieving secondary parts (images are binary elements that are loaded after the HTML page itself is loaded), SVG charts can now be part of the HTML page itself, right within the HTML markup, and so it's much simpler to handle if you are serving HTML pages on your server.

By default, HTML export in xlsgen uses bitmap charts (PNG files), but all it takes is the following line of code to replace PNG charts with SVG charts during HTML export :

workbook.ChartEngine = enumChartEngine.chartengine_svg;


Posted on 24-November-2020 10:21 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9 preview #2 : PDF font embedding


xlsgen 4.9 improves PDF output in the following ways :

  • Unicode fonts : prior to this, only ANSI characters in Excel files would be encoded correctly in PDF files. That would leave much of eastern languages unsupported. With Unicode fonts, PDF files use whatever character from whatever encoding.

  • Font embedding : the embedding of the subset of fonts actually used in the Excel file ensures that PDF readers can accurately display characters for viewing and printing purposes. This is activated by default, meaning that such PDF files are bigger in size from those not embedding the fonts. For this reason, font embedding can be disabled by setting the boolean value to the corresponding export option :

    C/C++ code

    worksheet->Export->Options->FontEmbedding = FALSE;

  • improved character spacing : even though PDF is character-based, fonts are not. Accurate spacing depends on actual glyph bounding boxes and this is taken care of to improve the reading of words in PDF files.


Posted on 23-November-2020 07:59 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9 preview #1 : multithreaded calculation engine


xlsgen 4.9 introduces a multithreaded calculation engine.

xlsgen multithreaded calculation engine can be taken advantage of to accelerate calculations or just avoid having many CPU cores staying idle. Here is a snapshot of a calculation scenario using single thread calculations :


Single thread calculations (notice the 24% overall usage and the bottom right chart)


And here is the same calculation scenario with all of the 6 CPU cores of that i5-9400 taken to handle the calculations :


Mlutithread calculations (notice the 100% overall usage and all charts)



The amount of worker threads is up to the client application. Of course, if you are running a CPU with n cores, it makes sense to create no more than n worker threads otherwise threads will be waiting one another, not doing work in parallel.

If you don't know how many cores the CPU where xlsgen runs has, it can be queried very easily :

C/C++ code


int nbCores = workbook->CalculationOptions->MultithreadCores;



And then, creating n worker threads for next calculations is just as simple :



C/C++ code


workbook->CalculationOptions->MultithreadCores = n;

workbook->CalculateFormulas();




Posted on 22-November-2020 10:01 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.9 developer friendly edition


xlsgen 4.9 is coming and the theme for this next major release is developer friendliness.

More than half of the features are actually meant to make existing tasks easier to write and use, such as PDF engine improvements, chart rendering improvements, HTML markup improvements, and so on. Over the next few days, we'll be previewing details.

And also new features such as the introduction of multithreaded calculations, SVG chart export and so on.



Posted on 22-November-2020 09:57 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.5.0.99 : Fix for HTML in cells (III)


Build 4.5.0.99 of xlsgen fixes a problem related to content with multiple formatting runs in cells, particularly for the calculation of the height of autofit.

Posted on 20-November-2020 13:22 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Le piège Google en deux temps trois mouvements


Il y a plus d'une dizaine d'années, Google achète Picasa, un logiciel conçu par un tiers qui a l'avantage de l'élégance et de la simplicité. Succès immédiat, en plus c'est gratuit donc ça tue les petits éditeurs de logiciel de visualisation de catalogue d'image en passant. Premier acte.

Deuxième acte. C'est la mise en place de la stratégie capitalistique de Google. Ouverture d'un service gratuit, Google photos, en ligne, permettant de stocker des images en ligne sur un compte Google. Evidemment, quelque temps plus tard, non seulement Picasa fait une intégration directe de Google photos dans son logiciel, mais en plus Picasa tente par divers moyens d'inciter l'utilisateur à publier ses photos en ligne.

Deux ans plus tard, troisième acte. Picasa cesse d'être maintenu. Il devient rapidement difficile de le trouver sur internet pour quelqu'un qui ne l'a pas déjà. Google fait un effort toujours plus considérable pour inciter celui qui a Picasa ou ne serait-ce qu'un compte Google, d'utiliser Google photos. Après tout, c'est gratuit et illimité. Evidemment, il y a déjà des barrières sur ce qui peut être publié, je parle des photos elle-même, ce qui fait en soi de Google Photos un service qui n'a rien à voir sur le fond avec Picasa, puisque Picasa vous laisse libre de créer un catalogue de photo avec le contenu que vous souhaitez, tandis que Google photos censure les photos qui ne rentrent pas dans la ligne du politiquement correct.

Quelques années plus tard, avant dernier acte. Google photos devient payant, par abonnement. Google photos est inséré entre temps dans Google drive, un service plus général d'hébergement gratuit pour une petite capacité et payant pour une capacité illimitée. Non seulement le contenu est toujours censuré au nom du politiquement correct, mais en plus si vous avez suffisamment de photos, vous devrez payer un abonnement. Le système capitaliste fonctionne à merveille : l'abonnement mensuel de quelques euros permet de faire passer la pilule.

Dernier acte, le service d'hébergement illimité devient limité. Toujours payant bien entendu.

Je me demande à ce stade en quoi vous y gagnez à utiliser ce service payant et limité tant en qualité qu'en quantité, plutôt que Picasa ou un logiciel alternatif.

Posted on 12-November-2020 07:52 | Category: France | comment[0] | trackback[0]

 

Le piège Twitch en deux temps trois mouvements


Déjà on sait que Twitch est une plateforme de diffusion très restrictive : montrer un téton vous voudra une suspension temporaire ou définitive. Parler politique, n'y pensez même pas. Bref, vous l'avez compris, c'est déjà juste un micro ouvert pour une parole très politiquement correcte.

Mais jusqu'à il y a peu, le streamer comme on l'appelle pouvait encore utiliser des musiques de fond lors de la diffusion. Même cette chose est désormais proscrite. Et même si le streamer n'a que 2 spectateurs. Je pourrai comprendre, dans l'absolu, une position si politiquement correcte de la part de Twitch via à vis des sociétés de droit d'auteur concernant l'utilisation de musiques par des streamers ayant des milliers de spectateurs, bien que vraiment ce soit encore peu.

Mais là ce "crackdown" absolu sur la musique, me fait penser que le pire est à venir, que l'étau se reserre peu à peu et qu'il va, à terme, être purement et simplement impossible d'utiliser Twitch en tant que streamer, je veux dire par là se servir de ça comme plateforme pour susciter des abonnements, bref un revenu.

Par ailleurs le système de l'incitation à l'abonnement fait du streamer un bon petit soldat du système capitaliste le plus dégueulasse, y compris lorsque Twitch fait des ponctions majeures sur les sommes issues de l'abonnement. En fait, les miettes qui restent vont au streamer, avant que celui ci n'utilise une partie d'entre elles pour payer ses cotisations fiscales à l'urssaf. Bref, entre être salarié et streamer, vous l'avez compris, il n'y a pas photo.

Posted on 12-November-2020 07:28 | Category: France | comment[0] | trackback[0]

 

Puérilité du système boursier


Je ne voudrais pas faire de l'anti-américanisme primaire mais quand même. Que les bourses prennent 3, 5 voire 10% à l'annonce d'un pseudo vaccin de pfizer, alors que franchement l'annonce vient du fabricant lui-même, et il n'y a aucune preuve de quoi que ce soit à ce stade, je me rappelle qu'en septembre les russes ont fait une annonce similaire, recueillant alors un scepticisme général de notre part.
Pourquoi un tel écart de comportement de notre part ?
Sommes-nous pourris à ce point ?

Je souhaite que les vaccins annoncés fonctionnent, mais le ciel risque de punir les bonimenteurs. Et ceux qui y auront crû.

Posted on 09-November-2020 19:04 | Category: France | comment[0] | trackback[0]

 

L'experts médiatiques du covid...


...se sont tous plantés. Pas de seconde vague pour les uns, au pire vaguelete, atteinte d'un plateau pour les autres. Et ce alors que le nombre d'hospitalisations progresse linéairement.

On verra d'où nous en serons dans une semaine, avec un appel à porter le masque de manière permanente lorsqu'on est dehors toujours plus fort. Et bientôt peut-être, qui sait, le masque lorsqu'on est chez soi !

Puisque la contagiosité ne dure pas, pour l'essentiel une semaine, il suffit en théorie d'une semaine d'abstinence sociale pour remettre le pays sur pied. Peut-on demander ça aux français ? Sont-ils trop cons ? Le gouvernement préfèrera-t-il des demi mesurettes inapplicables ou facilement contournées ?

En même temps ça fout les boules : imaginez que l'épidémie trouve un coup d'arrêt en octobre, et c'est macron réélu les doigts dans le nez en 2022. Parlez pas de malheur !!

Posted on 22-October-2020 08:31 | Category: France | comment[0] | trackback[0]

 

xlsgen 4.5.0.98 : Fix for rendering


Build 4.5.0.98 of xlsgen has two fixes related to rendering :

- some merged cells incorrectly (by Excel!) storing a different style (particularly background color) across the cells, still have to be rendered using only the style referenced in the top left corner of the merged cells area

- in XLSX files, some HTML encoded characters were not parsed correctly to Unicode

Posted on 14-October-2020 09:49 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

Iphone's 5G 120 Hz


Today Apple is poised to announce a new Iphone lineup, with notably a 5G chip and 120 Hz screen refresh rate. To say that it's odd is a euphemism, given that 5G networks do not exist yet in most countries of the world (by that I mean everywhere except Japan and China) so this phone does not serve anyone from a network communication point of view. Also, a super high screen refresh rate is totally useless because it serves 0.005% of weird people using their phone to game very fast shooters.

In a nutshell, the Iphone was designed for 3 persons in the world.

Perhaps some of those 3 persons will catch COVID and die, by the way.

Posted on 13-October-2020 10:20 | Category: News | comment[0] | trackback[0]

 

Habillage de la censure sur les gros réseaux sociaux


Quand on voit les gros réseaux sociaux annoncer désormais officiellement qu'ils censurent des propos non pas illégaux mais juste pas de bon goût ou au pire immoraux, comme le fait de souhaiter que Trump meurt du covid, ce n'est pas vraiment une surprise, juste un exemple supplémentaire de ce qui fait jurisprudence aujourd'hui. Il serait intéressant de savoir quel est le fait générateur à l'origine de ce qui est désormais une jurisprudence il y a dix ou vingt ans de ça. Mais comme dirait-il je préfère ne pas savoir exactement, car j'ai bien peur que ce soit ce qu'il s'est développé il y a de cela plus de dix ans, à savoir l'arrivée de super délateurs qui sont les cache sexes de la main mise d'associations très militantes sur ce qu'elles estiment possible de voir sur les réseaux sociaux, et ce qu'elles estiment pas possible de voir sur les réseaux sociaux. Bien sûr, ces associations militantes n'ont rien à voir avec les états et la législation en vigueur, par conséquent leur pouvoir ne s'éteindra pas avec un changement de président à la tête de l'état.
Autrement dit, c'est mal barré pour nous tous.
J'ai bien peur qu'il ne soit raisonnement plus possible de s'exprimer sur internet.

Posted on 08-October-2020 12:46 | Category: France | comment[0] | trackback[0]

 

Firefox : adoption en chute libre ?!


Je lis cet article,

extrait : "Le navigateur Mozilla Firefox est-il voué à l'extinction ? Ces dix dernières années, sa part de marché n'a cessé de chuter et les différents projets entrepris par la fondation ont tout bonnement été annulés. (...)"


et je me dis que c'est difficile que ça se passe autrement. En effet,

- des mises à jour incessantes et qui ne peuvent être désactivées, bref firefox se transforme en popup spammer, rappelant sans arrêt qu'une mise à jour est disponible, quand bien même l'utilisateur s'en fout royalement

- un moteur de recherche par défaut financé par son concurrent direct (Google Chrome), ce qui permet à tout moment à Google de mettre fin à firefox par l'arrêt du financement.

- une évolution d'UI très discutable. De nombreux éléments ne peuvent pas être cachés. Dernièrement, je constate que j'ai des onglets qui se détachent facilement ce qui me fait perdre du temps.

- et enfin j'ai gardé le meilleur pour la fin : le fait d'avoir cessé de faire des mises à jour incluant Windows XP, comme si un navigateur web avait besoin de Windows 7 au minimum pour fonctionner. Raisonnement qui je suppose viendra aussi aux utilisateurs de Windows 7 bientôt à qui Firefox leur dira que leur OS est trop vieux sans argument. Il faut savoir que les librairies qui ont évolué pour des raisons de sécurité sont des librairies comme les signatures SHA, les protocoles SSL/TLS, etc. et il me semble évident que c'est à Firefox de fournir ces versions à jour, et non de se reposer sur ce que fournit Windows. Car, dans la mesure où Windows XP est arrêté, et même Windows 7 depuis peu, se baser sur des librairies de l'OS c'est automatiquement rendre obsolètes les ordinateurs qui les utilisent.

Ca fait quand même beaucoup pour un navigateur "libre" et "open source", je trouve.

Posted on 24-September-2020 17:39 | Category: France | comment[0] | trackback[0]

 

xlsgen 4.5.0.97 : Fix for HTML in cells (II)


Build 4.5.0.97 of xlsgen does not ignore multiple EOL characters when it occurs, especially for the calculation of row autofit.

Posted on 22-September-2020 13:43 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

xlsgen 4.5.0.96 : Fix for HTML in cells


Build 4.5.0.96 of xlsgen is a fix related to HTML in cells. It improves how non-font HTML tags relate to font HTML tags.

Posted on 17-September-2020 15:18 | Category: xlsgen, Excel generator | comment[0] | trackback[0]

 

 

<-- previous page

< July >
0102030405
0607080910
1112131415
1617181920
2122232425
2627282930
31



 

 

This site
Home
Articles

DevTools
CPU-Z
EditPlus
ExplorerXP
Kill.exe
OllyDbg
DependencyWalker
Process Explorer
autoruns.exe
Araxis
COM Trace injection
CodeStats
NetBrute
FileMon/Regmon
BoundsChecker
AQTime profiler
Source monitor
GDI leaks tracking
Rootkit revealer
Rootkit removal
RunAsLimitedUser(1)
RunAsLimitedUser(2)

 

 

Liens
Le Plan B
Un jour à Paris
Meneame
Rezo.net (aggr)
Reseau voltaire
Cuba solidarity project
Le grand soir
L'autre journal
Le courrier suisse
L'Orient, le jour
Agoravox (aggr)