Mercurial > clickerconvert
diff src/converter.cpp @ 12:21f11f988115
Make sure strings don't start with = and duplicate text instead of formula
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 22 Mar 2016 17:21:33 +0100 |
parents | a10425e7ef98 |
children | 101ee762f021 |
line wrap: on
line diff
--- a/src/converter.cpp Tue Mar 22 16:45:51 2016 +0100 +++ b/src/converter.cpp Tue Mar 22 17:21:33 2016 +0100 @@ -154,7 +154,11 @@ cursor = choiceMatch.capturedEnd(); /* Write the values */ - xlsx.write(row, 1, choiceMatch.captured(1), mChoiceTextFmt); + QString choiceName = choiceMatch.captured(1).trimmed(); + if (choiceName.startsWith("=")) { + choiceName = " " + choiceName; + } + xlsx.write(row, 1, choiceName, mChoiceTextFmt); bool ok; double percent = choiceMatch.captured(3).toDouble(&ok); if (!ok) { @@ -205,6 +209,7 @@ qDebug() << "cursor is at: " << cursor; qDebug() << "text match starts at: " << textMatch.capturedStart(); xlsx.write(row - 1, 26, combined, mFreeTextFmt); + xlsx.write(row - 1, 1, combined, mFreeTextFmt); cursor = textMatch.capturedEnd(); textMatch = freetxtEx.match(input, cursor); continue; @@ -213,6 +218,9 @@ QString text = textMatch.captured(1).trimmed(); qDebug() << "Found free text: " << text; + if (text.startsWith("=")) { + text = " " + text; + } /* Merge the cells */ xlsx.mergeCells(QString("A%1:C%1").arg(row), mFreeTextFmt); @@ -222,7 +230,7 @@ */ /* Write the values */ xlsx.write(QString("Z%1").arg(row), text, mFreeTextFmt); - xlsx.write(row, 1, QString("=Z%1").arg(row)); + xlsx.write(row, 1, text, mFreeTextFmt); row++; textMatch = freetxtEx.match(input, cursor); }