Fix Issue #83: Make sure chartsheet appear on the proper location.
This commit is contained in:
@@ -483,10 +483,10 @@ void Workbook::saveToXmlFile(QIODevice *device) const
|
|||||||
writer.writeEndElement();//bookViews
|
writer.writeEndElement();//bookViews
|
||||||
|
|
||||||
writer.writeStartElement(QStringLiteral("sheets"));
|
writer.writeStartElement(QStringLiteral("sheets"));
|
||||||
//work sheets
|
int worksheetIndex = 0;
|
||||||
QList<QSharedPointer<AbstractSheet> > worksheets = getSheetsByTypes(AbstractSheet::ST_WorkSheet);
|
int chartsheetIndex = 0;
|
||||||
for (int i=0; i<worksheets.size(); ++i) {
|
for (int i=0; i<d->sheets.size(); ++i) {
|
||||||
QSharedPointer<AbstractSheet> sheet = worksheets[i];
|
QSharedPointer<AbstractSheet> sheet = d->sheets[i];
|
||||||
writer.writeEmptyElement(QStringLiteral("sheet"));
|
writer.writeEmptyElement(QStringLiteral("sheet"));
|
||||||
writer.writeAttribute(QStringLiteral("name"), sheet->sheetName());
|
writer.writeAttribute(QStringLiteral("name"), sheet->sheetName());
|
||||||
writer.writeAttribute(QStringLiteral("sheetId"), QString::number(sheet->sheetId()));
|
writer.writeAttribute(QStringLiteral("sheetId"), QString::number(sheet->sheetId()));
|
||||||
@@ -495,23 +495,11 @@ void Workbook::saveToXmlFile(QIODevice *device) const
|
|||||||
else if (sheet->sheetState() == AbstractSheet::SS_VeryHidden)
|
else if (sheet->sheetState() == AbstractSheet::SS_VeryHidden)
|
||||||
writer.writeAttribute(QStringLiteral("state"), QStringLiteral("veryHidden"));
|
writer.writeAttribute(QStringLiteral("state"), QStringLiteral("veryHidden"));
|
||||||
|
|
||||||
d->relationships->addDocumentRelationship(QStringLiteral("/worksheet"), QStringLiteral("worksheets/sheet%1.xml").arg(i+1));
|
if (sheet->sheetType() == AbstractSheet::ST_WorkSheet)
|
||||||
writer.writeAttribute(QStringLiteral("r:id"), QStringLiteral("rId%1").arg(d->relationships->count()));
|
d->relationships->addDocumentRelationship(QStringLiteral("/worksheet"), QStringLiteral("worksheets/sheet%1.xml").arg(++worksheetIndex));
|
||||||
}
|
else
|
||||||
|
d->relationships->addDocumentRelationship(QStringLiteral("/chartsheet"), QStringLiteral("chartsheets/sheet%1.xml").arg(++chartsheetIndex));
|
||||||
|
|
||||||
//chart sheets
|
|
||||||
QList<QSharedPointer<AbstractSheet> > chartsheets = getSheetsByTypes(AbstractSheet::ST_ChartSheet);
|
|
||||||
for (int i=0; i<chartsheets.size(); ++i) {
|
|
||||||
QSharedPointer<AbstractSheet> sheet = chartsheets[i];
|
|
||||||
writer.writeEmptyElement(QStringLiteral("sheet"));
|
|
||||||
writer.writeAttribute(QStringLiteral("name"), sheet->sheetName());
|
|
||||||
writer.writeAttribute(QStringLiteral("sheetId"), QString::number(sheet->sheetId()));
|
|
||||||
if (sheet->sheetState() == AbstractSheet::SS_Hidden)
|
|
||||||
writer.writeAttribute(QStringLiteral("state"), QStringLiteral("hidden"));
|
|
||||||
else if (sheet->sheetState() == AbstractSheet::SS_VeryHidden)
|
|
||||||
writer.writeAttribute(QStringLiteral("state"), QStringLiteral("veryHidden"));
|
|
||||||
|
|
||||||
d->relationships->addDocumentRelationship(QStringLiteral("/chartsheet"), QStringLiteral("chartsheets/sheet%1.xml").arg(i+1));
|
|
||||||
writer.writeAttribute(QStringLiteral("r:id"), QStringLiteral("rId%1").arg(d->relationships->count()));
|
writer.writeAttribute(QStringLiteral("r:id"), QStringLiteral("rId%1").arg(d->relationships->count()));
|
||||||
}
|
}
|
||||||
writer.writeEndElement();//sheets
|
writer.writeEndElement();//sheets
|
||||||
|
|||||||
Reference in New Issue
Block a user