From b3bdbf25f157b294d4e75742bb0bdf5b456ed550 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Fri, 3 Jul 2020 19:51:27 +0200 Subject: [PATCH] Wrap numeric values in LaTeX export with $. See https://www.heidisql.com/forum.php?t=36530 --- source/exportgrid.pas | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/source/exportgrid.pas b/source/exportgrid.pas index ed3e4965..a50ed1ef 100644 --- a/source/exportgrid.pas +++ b/source/exportgrid.pas @@ -850,16 +850,33 @@ begin tmp := tmp + ' ' + Data + '' + CRLF; end; - efExcel, efCSV, efLaTeX, efWiki, efMarkDown: begin + efExcel, efCSV: begin // Escape encloser characters inside data per de-facto CSV. Data := StringReplace(Data, Encloser, Encloser+Encloser, [rfReplaceAll]); - if GridData.IsNull(Col) and (ExportFormat in [efExcel, efCSV, efMarkDown]) then + if GridData.IsNull(Col) then Data := editNull.Text else Data := Encloser + Data + Encloser; tmp := tmp + Data + Separator; end; + efLaTeX: begin + if (not GridData.IsNull(Col)) and (GridData.DataType(Col).Category in [dtcInteger, dtcReal]) then + // Special encloser for numeric values, see https://www.heidisql.com/forum.php?t=36530 + Data := '$' + Data + '$'; + tmp := tmp + Data + Separator; + end; + + efWiki: begin + tmp := tmp + Data + Separator; + end; + + efMarkDown: begin + if GridData.IsNull(Col) then + Data := editNull.Text; + tmp := tmp + Data + Separator; + end; + efXML: begin // Print cell start tag. tmp := tmp + #9#9'