MCPcopy Create free account
hub / github.com/KDE/labplot / saveToXmlFile

Method saveToXmlFile

src/3rdparty/QXlsx/source/xlsxworkbook.cpp:450–556  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

448}
449
450void Workbook::saveToXmlFile(QIODevice *device) const
451{
452 Q_D(const Workbook);
453 d->relationships->clear();
454 if (d->sheets.isEmpty())
455 const_cast<Workbook *>(this)->addSheet();
456
457 QXmlStreamWriter writer(device);
458
459 writer.writeStartDocument(QStringLiteral("1.0"), true);
460 writer.writeStartElement(QStringLiteral("workbook"));
461 writer.writeAttribute(QStringLiteral("xmlns"), QStringLiteral("http://schemas.openxmlformats.org/spreadsheetml/2006/main"));
462 writer.writeAttribute(QStringLiteral("xmlns:r"), QStringLiteral("http://schemas.openxmlformats.org/officeDocument/2006/relationships"));
463
464 writer.writeEmptyElement(QStringLiteral("fileVersion"));
465 writer.writeAttribute(QStringLiteral("appName"), QStringLiteral("xl"));
466 writer.writeAttribute(QStringLiteral("lastEdited"), QStringLiteral("4"));
467 writer.writeAttribute(QStringLiteral("lowestEdited"), QStringLiteral("4"));
468 writer.writeAttribute(QStringLiteral("rupBuild"), QStringLiteral("4505"));
469// writer.writeAttribute(QStringLiteral("codeName"), QStringLiteral("{37E998C4-C9E5-D4B9-71C8-EB1FF731991C}"));
470
471 writer.writeEmptyElement(QStringLiteral("workbookPr"));
472 if (d->date1904)
473 writer.writeAttribute(QStringLiteral("date1904"), QStringLiteral("1"));
474 writer.writeAttribute(QStringLiteral("defaultThemeVersion"), QStringLiteral("124226"));
475
476 writer.writeStartElement(QStringLiteral("bookViews"));
477 writer.writeEmptyElement(QStringLiteral("workbookView"));
478 writer.writeAttribute(QStringLiteral("xWindow"), QString::number(d->x_window));
479 writer.writeAttribute(QStringLiteral("yWindow"), QString::number(d->y_window));
480 writer.writeAttribute(QStringLiteral("windowWidth"), QString::number(d->window_width));
481 writer.writeAttribute(QStringLiteral("windowHeight"), QString::number(d->window_height));
482 //Store the firstSheet when it isn't the default
483 //For example, when "the first sheet 0 is hidden", the first sheet will be 1
484 if (d->firstsheet > 0)
485 writer.writeAttribute(QStringLiteral("firstSheet"), QString::number(d->firstsheet + 1));
486 //Store the activeTab when it isn't the first sheet
487 if (d->activesheetIndex > 0)
488 writer.writeAttribute(QStringLiteral("activeTab"), QString::number(d->activesheetIndex));
489 writer.writeEndElement();//bookViews
490
491 writer.writeStartElement(QStringLiteral("sheets"));
492 int worksheetIndex = 0;
493 int chartsheetIndex = 0;
494 for (int i=0; i<d->sheets.size(); ++i) {
495 QSharedPointer<AbstractSheet> sheet = d->sheets[i];
496 writer.writeEmptyElement(QStringLiteral("sheet"));
497 writer.writeAttribute(QStringLiteral("name"), sheet->sheetName());
498 writer.writeAttribute(QStringLiteral("sheetId"), QString::number(sheet->sheetId()));
499 if (sheet->sheetState() == AbstractSheet::SS_Hidden)
500 writer.writeAttribute(QStringLiteral("state"), QStringLiteral("hidden"));
501 else if (sheet->sheetState() == AbstractSheet::SS_VeryHidden)
502 writer.writeAttribute(QStringLiteral("state"), QStringLiteral("veryHidden"));
503
504 if (sheet->sheetType() == AbstractSheet::ST_WorkSheet)
505 d->relationships->addDocumentRelationship(QStringLiteral("/worksheet"), QStringLiteral("worksheets/sheet%1.xml").arg(++worksheetIndex));
506 else
507 d->relationships->addDocumentRelationship(QStringLiteral("/chartsheet"), QStringLiteral("chartsheets/sheet%1.xml").arg(++chartsheetIndex));

Callers

nothing calls this directly

Calls 11

sheetNameMethod · 0.80
sheetIdMethod · 0.80
sheetStateMethod · 0.80
sheetTypeMethod · 0.80
argMethod · 0.80
clearMethod · 0.45
isEmptyMethod · 0.45
addSheetMethod · 0.45
sizeMethod · 0.45
countMethod · 0.45

Tested by

no test coverage detected