Add basic conditional formatting writer support.

This commit is contained in:
Debao Zhang
2013-11-28 00:39:23 +08:00
parent 1b57b6f042
commit c82cf47e2f
18 changed files with 844 additions and 7 deletions
+19
View File
@@ -35,6 +35,7 @@
#include "xlsxcell.h"
#include "xlsxcell_p.h"
#include "xlsxcellrange.h"
#include "xlsxconditionalformatting_p.h"
#include <QVariant>
#include <QDateTime>
@@ -931,6 +932,22 @@ bool Worksheet::addDataValidation(const DataValidation &validation)
return true;
}
bool Worksheet::addConditionalFormatting(const ConditionalFormatting &cf)
{
Q_D(Worksheet);
if (cf.ranges().isEmpty())
return false;
for (int i=0; i<cf.d->cfRules.size(); ++i) {
const QSharedPointer<XlsxCfRuleData> &rule = cf.d->cfRules[i];
if (!rule->dxfFormat.isEmpty())
d->workbook->styles()->addDxfFormat(rule->dxfFormat);
rule->priority = 1;
}
d->conditionalFormattingList.append(cf);
return true;
}
int Worksheet::insertImage(int row, int column, const QImage &image, const QPointF &offset, double xScale, double yScale)
{
Q_D(Worksheet);
@@ -1120,6 +1137,8 @@ void Worksheet::saveToXmlFile(QIODevice *device)
writer.writeEndElement();//sheetData
d->writeMergeCells(writer);
foreach (const ConditionalFormatting cf, d->conditionalFormattingList)
cf.saveToXml(writer);
d->writeDataValidation(writer);
d->writeHyperlinks(writer);
d->writeDrawings(writer);