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

Method savePackage

src/3rdparty/QXlsx/source/xlsxdocument.cpp:322–457  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

320}
321
322bool DocumentPrivate::savePackage(QIODevice *device) const
323{
324 Q_Q(const Document);
325
326 ZipWriter zipWriter(device);
327 if (zipWriter.error())
328 return false;
329
330 contentTypes->clearOverrides();
331
332 DocPropsApp docPropsApp(DocPropsApp::F_NewFromScratch);
333 DocPropsCore docPropsCore(DocPropsCore::F_NewFromScratch);
334
335 // save worksheet xml files
336 QList<QSharedPointer<AbstractSheet> > worksheets = workbook->getSheetsByTypes(AbstractSheet::ST_WorkSheet);
337 if (!worksheets.isEmpty())
338 docPropsApp.addHeadingPair(QStringLiteral("Worksheets"), worksheets.size());
339
340 for (int i = 0 ; i < worksheets.size(); ++i)
341 {
342 QSharedPointer<AbstractSheet> sheet = worksheets[i];
343 contentTypes->addWorksheetName(QStringLiteral("sheet%1").arg(i+1));
344 docPropsApp.addPartTitle(sheet->sheetName());
345
346 zipWriter.addFile(QStringLiteral("xl/worksheets/sheet%1.xml").arg(i+1), sheet->saveToXmlData());
347
348 Relationships *rel = sheet->relationships();
349 if (!rel->isEmpty())
350 zipWriter.addFile(QStringLiteral("xl/worksheets/_rels/sheet%1.xml.rels").arg(i+1), rel->saveToXmlData());
351 }
352
353 //save chartsheet xml files
354 QList<QSharedPointer<AbstractSheet> > chartsheets = workbook->getSheetsByTypes(AbstractSheet::ST_ChartSheet);
355 if (!chartsheets.isEmpty())
356 docPropsApp.addHeadingPair(QStringLiteral("Chartsheets"), chartsheets.size());
357 for (int i=0; i<chartsheets.size(); ++i)
358 {
359 QSharedPointer<AbstractSheet> sheet = chartsheets[i];
360 contentTypes->addWorksheetName(QStringLiteral("sheet%1").arg(i+1));
361 docPropsApp.addPartTitle(sheet->sheetName());
362
363 zipWriter.addFile(QStringLiteral("xl/chartsheets/sheet%1.xml").arg(i+1), sheet->saveToXmlData());
364 Relationships *rel = sheet->relationships();
365 if (!rel->isEmpty())
366 zipWriter.addFile(QStringLiteral("xl/chartsheets/_rels/sheet%1.xml.rels").arg(i+1), rel->saveToXmlData());
367 }
368
369 // save external links xml files
370 for (int i=0; i<workbook->d_func()->externalLinks.count(); ++i)
371 {
372 SimpleOOXmlFile *link = workbook->d_func()->externalLinks[i].data();
373 contentTypes->addExternalLinkName(QStringLiteral("externalLink%1").arg(i+1));
374
375 zipWriter.addFile(QStringLiteral("xl/externalLinks/externalLink%1.xml").arg(i+1), link->saveToXmlData());
376 Relationships *rel = link->relationships();
377 if (!rel->isEmpty())
378 zipWriter.addFile(QStringLiteral("xl/externalLinks/_rels/externalLink%1.xml.rels").arg(i+1), rel->saveToXmlData());
379 }

Callers 1

saveAsMethod · 0.80

Calls 15

errorMethod · 0.80
clearOverridesMethod · 0.80
getSheetsByTypesMethod · 0.80
addHeadingPairMethod · 0.80
addWorksheetNameMethod · 0.80
argMethod · 0.80
addPartTitleMethod · 0.80
sheetNameMethod · 0.80
addFileMethod · 0.80
addExternalLinkNameMethod · 0.80
addWorkbookMethod · 0.80
drawingsMethod · 0.80

Tested by

no test coverage detected