mirror of
https://github.com/QtExcel/QXlsx.git
synced 2025-02-06 05:08:22 +08:00
testing } else if(reader.name() == QLatin1String(pageSetup)){
This commit is contained in:
parent
20b64d0356
commit
ca957e835f
@ -119,6 +119,8 @@ public:
|
|||||||
|
|
||||||
bool isLoadPackage() const;
|
bool isLoadPackage() const;
|
||||||
|
|
||||||
|
bool changeimage(int filenoinmidea,QString newfile); // add by liufeijin20181025
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(Document)
|
Q_DISABLE_COPY(Document)
|
||||||
DocumentPrivate * const d_ptr;
|
DocumentPrivate * const d_ptr;
|
||||||
|
@ -76,6 +76,7 @@ public:
|
|||||||
DrawingAnchor(Drawing *drawing, ObjectType objectType);
|
DrawingAnchor(Drawing *drawing, ObjectType objectType);
|
||||||
virtual ~DrawingAnchor();
|
virtual ~DrawingAnchor();
|
||||||
void setObjectPicture(const QImage &img);
|
void setObjectPicture(const QImage &img);
|
||||||
|
|
||||||
void setObjectGraphicFrame(QSharedPointer<Chart> chart);
|
void setObjectGraphicFrame(QSharedPointer<Chart> chart);
|
||||||
|
|
||||||
virtual bool loadFromXml(QXmlStreamReader &reader) = 0;
|
virtual bool loadFromXml(QXmlStreamReader &reader) = 0;
|
||||||
@ -108,6 +109,30 @@ protected:
|
|||||||
QSharedPointer<Chart> m_chartFile;
|
QSharedPointer<Chart> m_chartFile;
|
||||||
|
|
||||||
int m_id;
|
int m_id;
|
||||||
|
|
||||||
|
// liufeij {{
|
||||||
|
void setObjectShape(const QImage &img); // liufeij
|
||||||
|
|
||||||
|
QString editASName;
|
||||||
|
// below only for twocellanchor shape
|
||||||
|
QPoint posTA; // for shape liufeij 20181024
|
||||||
|
QSize extTA; // for shape liufeij 20181024
|
||||||
|
int rotWithShapeTA; //// for shape liufeij 20181024
|
||||||
|
int dpiTA; //// for shape liufeij 20181024
|
||||||
|
QString sp_textlink,sp_macro,sp_blip_cstate,sp_blip_rembed;
|
||||||
|
|
||||||
|
// BELOW only for cxnSp shape
|
||||||
|
QString cxnSp_filpV,cxnSp_macro;
|
||||||
|
// belwo for cxnsp and sp
|
||||||
|
QString xsp_cNvPR_name,xsp_cNvPR_id; //x measns shape and cxnSp together using
|
||||||
|
QString xbwMode; // same as above
|
||||||
|
QString xIn_algn,xIn_cmpd,xIn_cap,xIn_w; //cxnSp only need xIn_w
|
||||||
|
QString xprstGeom_prst;
|
||||||
|
QString x_headEnd_w,x_headEnd_len,x_headEnd_tyep;
|
||||||
|
QString x_tailEnd_w,x_tailEnd_len,x_tailEnd_tyep;
|
||||||
|
QString Style_inref_idx,style_fillref_idx,style_effectref_idx,style_forntref_idx;
|
||||||
|
QString Style_inref_val,style_fillref_val,style_effectref_val,style_forntref_val;
|
||||||
|
// liufeij }}
|
||||||
};
|
};
|
||||||
|
|
||||||
class DrawingAbsoluteAnchor : public DrawingAnchor
|
class DrawingAbsoluteAnchor : public DrawingAnchor
|
||||||
|
@ -135,6 +135,7 @@ public:
|
|||||||
void setOutlineSymbolsVisible(bool visible);
|
void setOutlineSymbolsVisible(bool visible);
|
||||||
bool isWhiteSpaceVisible() const;
|
bool isWhiteSpaceVisible() const;
|
||||||
void setWhiteSpaceVisible(bool visible);
|
void setWhiteSpaceVisible(bool visible);
|
||||||
|
bool setStartPage(int spagen); //add by liufeijin20181028
|
||||||
|
|
||||||
~Worksheet();
|
~Worksheet();
|
||||||
|
|
||||||
|
@ -215,6 +215,18 @@ public:
|
|||||||
int default_row_height;
|
int default_row_height;
|
||||||
bool default_row_zeroed;
|
bool default_row_zeroed;
|
||||||
|
|
||||||
|
// liufeijin {{
|
||||||
|
// pagesetup and print settings add by liufeijin 20181028
|
||||||
|
QString PpaperSize,Pscale,PfirstPageNumber,Porientation,PuseFirstPageNumber,PhorizontalDpi,PverticalDpi, Prid,Pcopies;
|
||||||
|
|
||||||
|
|
||||||
|
// pageMargins add by liufeijin 20181028
|
||||||
|
QString PMfooter,PMheader,PMbotton,PMtop,PMright,PMleft;
|
||||||
|
// header footer contain add by liufeijin 20181028
|
||||||
|
QString MoodFooter,ModdHeader;
|
||||||
|
// liufeijin }}
|
||||||
|
|
||||||
|
|
||||||
XlsxSheetFormatProps sheetFormatProps;
|
XlsxSheetFormatProps sheetFormatProps;
|
||||||
|
|
||||||
bool windowProtection;
|
bool windowProtection;
|
||||||
|
@ -1066,4 +1066,38 @@ Document::~Document()
|
|||||||
delete d_ptr;
|
delete d_ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// add by liufeijin 20181025 {{
|
||||||
|
bool Document::changeimage(int filenoinmidea, QString newfile){
|
||||||
|
Q_D(const Document);
|
||||||
|
QImage newpic;
|
||||||
|
|
||||||
|
newpic=QImage(newfile);
|
||||||
|
|
||||||
|
QList<QSharedPointer<MediaFile> > mediaFileToLoad = d->workbook->mediaFiles();
|
||||||
|
QSharedPointer<MediaFile> mf = mediaFileToLoad[filenoinmidea];
|
||||||
|
|
||||||
|
const QString suffix = newfile.mid(newfile.lastIndexOf(QLatin1Char('.'))+1);
|
||||||
|
QString mimetypemy;
|
||||||
|
if(QString::compare("jpg", suffix, Qt::CaseInsensitive)==0)
|
||||||
|
mimetypemy="image/jpeg";
|
||||||
|
if(QString::compare("bmp", suffix, Qt::CaseInsensitive)==0)
|
||||||
|
mimetypemy="image/bmp";
|
||||||
|
if(QString::compare("gif", suffix, Qt::CaseInsensitive)==0)
|
||||||
|
mimetypemy="image/gif";
|
||||||
|
if(QString::compare("png", suffix, Qt::CaseInsensitive)==0)
|
||||||
|
mimetypemy="image/png";
|
||||||
|
|
||||||
|
QByteArray ba;
|
||||||
|
QBuffer buffer(&ba);
|
||||||
|
buffer.setBuffer(&ba);
|
||||||
|
buffer.open(QIODevice::WriteOnly);
|
||||||
|
newpic.save(&buffer,suffix.toLocal8Bit().data());
|
||||||
|
|
||||||
|
mf->set(ba,suffix,mimetypemy);
|
||||||
|
mediaFileToLoad[filenoinmidea]=mf;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// liufeijin }}
|
||||||
|
|
||||||
QT_END_NAMESPACE_XLSX
|
QT_END_NAMESPACE_XLSX
|
||||||
|
@ -95,6 +95,21 @@ void DrawingAnchor::setObjectPicture(const QImage &img)
|
|||||||
m_objectType = Picture;
|
m_objectType = Picture;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//{{ liufeijin
|
||||||
|
void DrawingAnchor::setObjectShape(const QImage &img)
|
||||||
|
{
|
||||||
|
QByteArray ba;
|
||||||
|
QBuffer buffer(&ba);
|
||||||
|
buffer.open(QIODevice::WriteOnly);
|
||||||
|
img.save(&buffer, "PNG");
|
||||||
|
|
||||||
|
m_pictureFile = QSharedPointer<MediaFile>(new MediaFile(ba, QStringLiteral("png"), QStringLiteral("image/png")));
|
||||||
|
m_drawing->workbook->addMediaFile(m_pictureFile);
|
||||||
|
|
||||||
|
m_objectType = Shape;
|
||||||
|
}
|
||||||
|
//}}
|
||||||
|
|
||||||
void DrawingAnchor::setObjectGraphicFrame(QSharedPointer<Chart> chart)
|
void DrawingAnchor::setObjectGraphicFrame(QSharedPointer<Chart> chart)
|
||||||
{
|
{
|
||||||
m_chartFile = chart;
|
m_chartFile = chart;
|
||||||
@ -159,6 +174,12 @@ void DrawingAnchor::loadXmlObject(QXmlStreamReader &reader)
|
|||||||
if (reader.name() == QLatin1String("sp")) {
|
if (reader.name() == QLatin1String("sp")) {
|
||||||
//Shape
|
//Shape
|
||||||
m_objectType = Shape;
|
m_objectType = Shape;
|
||||||
|
|
||||||
|
//{{ liufeijin
|
||||||
|
sp_textlink=reader.attributes().value(QLatin1String("textlink")).toString();
|
||||||
|
sp_macro=reader.attributes().value(QLatin1String("macro")).toString();
|
||||||
|
//}}
|
||||||
|
|
||||||
loadXmlObjectShape(reader);
|
loadXmlObjectShape(reader);
|
||||||
} else if (reader.name() == QLatin1String("grpSp")) {
|
} else if (reader.name() == QLatin1String("grpSp")) {
|
||||||
//Group Shape
|
//Group Shape
|
||||||
@ -171,6 +192,11 @@ void DrawingAnchor::loadXmlObject(QXmlStreamReader &reader)
|
|||||||
} else if (reader.name() == QLatin1String("cxnSp")) {
|
} else if (reader.name() == QLatin1String("cxnSp")) {
|
||||||
//Connection Shape
|
//Connection Shape
|
||||||
m_objectType = ConnectionShape;
|
m_objectType = ConnectionShape;
|
||||||
|
|
||||||
|
// {{ liufeijin
|
||||||
|
cxnSp_macro=reader.attributes().value(QLatin1String("macro")).toString();
|
||||||
|
// }}
|
||||||
|
|
||||||
loadXmlObjectConnectionShape(reader);
|
loadXmlObjectConnectionShape(reader);
|
||||||
} else if (reader.name() == QLatin1String("pic")) {
|
} else if (reader.name() == QLatin1String("pic")) {
|
||||||
//Picture
|
//Picture
|
||||||
@ -181,7 +207,81 @@ void DrawingAnchor::loadXmlObject(QXmlStreamReader &reader)
|
|||||||
|
|
||||||
void DrawingAnchor::loadXmlObjectConnectionShape(QXmlStreamReader &reader)
|
void DrawingAnchor::loadXmlObjectConnectionShape(QXmlStreamReader &reader)
|
||||||
{
|
{
|
||||||
Q_UNUSED(reader)
|
Q_ASSERT(reader.name() == QLatin1String("cxnSp"));
|
||||||
|
bool hasoffext=false;
|
||||||
|
while (!reader.atEnd()) {
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if (reader.name() == QLatin1String("cNvPr")){
|
||||||
|
xsp_cNvPR_name= reader.attributes().value(QLatin1String("name")).toString();
|
||||||
|
xsp_cNvPR_id= reader.attributes().value(QLatin1String("id")).toString();
|
||||||
|
}else if(reader.name() == QLatin1String("spPr")){
|
||||||
|
xbwMode= reader.attributes().value(QLatin1String("bwMode")).toString();
|
||||||
|
}else if(reader.name() == QLatin1String("xfrm")){
|
||||||
|
cxnSp_filpV= reader.attributes().value(QLatin1String("flipV")).toString();
|
||||||
|
}else if (reader.name() == QLatin1String("off")) {
|
||||||
|
posTA = loadXmlPos(reader);
|
||||||
|
hasoffext=true;
|
||||||
|
} else if (reader.name() == QLatin1String("ext")&&hasoffext) {
|
||||||
|
extTA = loadXmlExt(reader);
|
||||||
|
hasoffext=false;
|
||||||
|
}else if(reader.name() == QLatin1String("prstGeom")){
|
||||||
|
xprstGeom_prst= reader.attributes().value(QLatin1String("prst")).toString().trimmed();
|
||||||
|
}else if(reader.name() == QLatin1String("ln")){
|
||||||
|
xIn_algn= reader.attributes().value(QLatin1String("algn")).toString().trimmed();
|
||||||
|
xIn_cmpd= reader.attributes().value(QLatin1String("cmpd")).toString().trimmed();
|
||||||
|
xIn_cap= reader.attributes().value(QLatin1String("cap")).toString().trimmed();
|
||||||
|
xIn_w= reader.attributes().value(QLatin1String("w")).toString().trimmed();
|
||||||
|
}else if(reader.name() == QLatin1String("headEnd")){
|
||||||
|
x_headEnd_w= reader.attributes().value(QLatin1String("w")).toString().trimmed();
|
||||||
|
x_headEnd_len= reader.attributes().value(QLatin1String("len")).toString().trimmed();
|
||||||
|
x_headEnd_tyep= reader.attributes().value(QLatin1String("type")).toString().trimmed();
|
||||||
|
}else if(reader.name() == QLatin1String("tailEnd")){
|
||||||
|
x_tailEnd_w= reader.attributes().value(QLatin1String("w")).toString().trimmed();
|
||||||
|
x_tailEnd_len= reader.attributes().value(QLatin1String("len")).toString().trimmed();
|
||||||
|
x_tailEnd_tyep= reader.attributes().value(QLatin1String("type")).toString().trimmed();
|
||||||
|
}else if(reader.name() == QLatin1String("lnRef")){
|
||||||
|
Style_inref_idx= reader.attributes().value(QLatin1String("idx")).toString().trimmed();
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if(reader.name() == QLatin1String("schemeClr")){
|
||||||
|
Style_inref_val=reader.attributes().value(QLatin1String("val")).toString().trimmed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(reader.name() == QLatin1String("fillRef")){
|
||||||
|
style_fillref_idx= reader.attributes().value(QLatin1String("idx")).toString().trimmed();
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if(reader.name() == QLatin1String("schemeClr")){
|
||||||
|
style_fillref_val=reader.attributes().value(QLatin1String("val")).toString().trimmed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(reader.name() == QLatin1String("effectRef")){
|
||||||
|
style_effectref_idx= reader.attributes().value(QLatin1String("idx")).toString().trimmed();
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if(reader.name() == QLatin1String("schemeClr")){
|
||||||
|
style_effectref_val=reader.attributes().value(QLatin1String("val")).toString().trimmed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(reader.name() == QLatin1String("fontRef")){
|
||||||
|
style_forntref_idx= reader.attributes().value(QLatin1String("idx")).toString().trimmed();
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if(reader.name() == QLatin1String("schemeClr")){
|
||||||
|
style_forntref_val=reader.attributes().value(QLatin1String("val")).toString().trimmed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (reader.tokenType() == QXmlStreamReader::EndElement
|
||||||
|
&& reader.name() == QLatin1String("cxnSp")) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawingAnchor::loadXmlObjectGraphicFrame(QXmlStreamReader &reader)
|
void DrawingAnchor::loadXmlObjectGraphicFrame(QXmlStreamReader &reader)
|
||||||
@ -262,7 +362,101 @@ void DrawingAnchor::loadXmlObjectPicture(QXmlStreamReader &reader)
|
|||||||
|
|
||||||
void DrawingAnchor::loadXmlObjectShape(QXmlStreamReader &reader)
|
void DrawingAnchor::loadXmlObjectShape(QXmlStreamReader &reader)
|
||||||
{
|
{
|
||||||
Q_UNUSED(reader)
|
Q_ASSERT(reader.name() == QLatin1String("sp"));
|
||||||
|
bool hasoffext=false;
|
||||||
|
while (!reader.atEnd()) {
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if (reader.name() == QLatin1String("blip")) {
|
||||||
|
QString rId;
|
||||||
|
sp_blip_rembed= reader.attributes().value(QLatin1String("r:embed")).toString();
|
||||||
|
sp_blip_cstate=reader.attributes().value(QLatin1String("cstate")).toString();
|
||||||
|
rId=sp_blip_rembed;
|
||||||
|
QString name = m_drawing->relationships()->getRelationshipById(rId).target;
|
||||||
|
QString path = QDir::cleanPath(splitPath(m_drawing->filePath())[0] + QLatin1String("/") + name);
|
||||||
|
bool exist = false;
|
||||||
|
QList<QSharedPointer<MediaFile> > mfs = m_drawing->workbook->mediaFiles();
|
||||||
|
for (int i=0; i<mfs.size(); ++i) {
|
||||||
|
if (mfs[i]->fileName() == path) {
|
||||||
|
//already exist
|
||||||
|
exist = true;
|
||||||
|
m_pictureFile = mfs[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!exist) {
|
||||||
|
m_pictureFile = QSharedPointer<MediaFile> (new MediaFile(path));
|
||||||
|
m_drawing->workbook->addMediaFile(m_pictureFile, true);
|
||||||
|
}
|
||||||
|
}else if (reader.name() == QLatin1String("off")) {
|
||||||
|
posTA = loadXmlPos(reader);
|
||||||
|
hasoffext=true;
|
||||||
|
} else if (reader.name() == QLatin1String("ext")&&hasoffext) {
|
||||||
|
extTA = loadXmlExt(reader);
|
||||||
|
hasoffext=false;
|
||||||
|
}else if(reader.name() == QLatin1String("blipFill")){
|
||||||
|
rotWithShapeTA= reader.attributes().value(QLatin1String("rotWithShape")).toInt();
|
||||||
|
dpiTA= reader.attributes().value(QLatin1String("dpi")).toInt();
|
||||||
|
}else if(reader.name() == QLatin1String("cNvPr")){
|
||||||
|
xsp_cNvPR_name= reader.attributes().value(QLatin1String("name")).toString();
|
||||||
|
xsp_cNvPR_id= reader.attributes().value(QLatin1String("id")).toString();
|
||||||
|
}else if(reader.name() == QLatin1String("spPr")){
|
||||||
|
xbwMode= reader.attributes().value(QLatin1String("bwMode")).toString();
|
||||||
|
}else if(reader.name() == QLatin1String("prstGeom")){
|
||||||
|
xprstGeom_prst= reader.attributes().value(QLatin1String("prst")).toString();
|
||||||
|
}else if(reader.name() == QLatin1String("ln")){
|
||||||
|
xIn_algn= reader.attributes().value(QLatin1String("algn")).toString();
|
||||||
|
xIn_cmpd= reader.attributes().value(QLatin1String("cmpd")).toString();
|
||||||
|
xIn_cap= reader.attributes().value(QLatin1String("cap")).toString();
|
||||||
|
xIn_w= reader.attributes().value(QLatin1String("w")).toString();
|
||||||
|
}else if(reader.name() == QLatin1String("headEnd")){
|
||||||
|
x_headEnd_w= reader.attributes().value(QLatin1String("w")).toString();
|
||||||
|
x_headEnd_len= reader.attributes().value(QLatin1String("len")).toString();
|
||||||
|
x_headEnd_tyep= reader.attributes().value(QLatin1String("type")).toString();
|
||||||
|
}else if(reader.name() == QLatin1String("tailEnd")){
|
||||||
|
x_tailEnd_w= reader.attributes().value(QLatin1String("w")).toString();
|
||||||
|
x_tailEnd_len= reader.attributes().value(QLatin1String("len")).toString();
|
||||||
|
x_tailEnd_tyep= reader.attributes().value(QLatin1String("type")).toString();
|
||||||
|
}else if(reader.name() == QLatin1String("lnRef")){
|
||||||
|
Style_inref_idx= reader.attributes().value(QLatin1String("idx")).toString().trimmed();
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if(reader.name() == QLatin1String("schemeClr")){
|
||||||
|
Style_inref_val=reader.attributes().value(QLatin1String("val")).toString().trimmed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(reader.name() == QLatin1String("fillRef")){
|
||||||
|
style_fillref_idx= reader.attributes().value(QLatin1String("idx")).toString().trimmed();
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if(reader.name() == QLatin1String("schemeClr")){
|
||||||
|
style_fillref_val=reader.attributes().value(QLatin1String("val")).toString().trimmed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(reader.name() == QLatin1String("effectRef")){
|
||||||
|
style_effectref_idx= reader.attributes().value(QLatin1String("idx")).toString().trimmed();
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if(reader.name() == QLatin1String("schemeClr")){
|
||||||
|
style_effectref_val=reader.attributes().value(QLatin1String("val")).toString().trimmed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(reader.name() == QLatin1String("fontRef")){
|
||||||
|
style_forntref_idx= reader.attributes().value(QLatin1String("idx")).toString().trimmed();
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
|
if(reader.name() == QLatin1String("schemeClr")){
|
||||||
|
style_forntref_val=reader.attributes().value(QLatin1String("val")).toString().trimmed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (reader.tokenType() == QXmlStreamReader::EndElement
|
||||||
|
&& reader.name() == QLatin1String("sp")) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawingAnchor::saveXmlPos(QXmlStreamWriter &writer, const QPoint &pos) const
|
void DrawingAnchor::saveXmlPos(QXmlStreamWriter &writer, const QPoint &pos) const
|
||||||
@ -306,7 +500,109 @@ void DrawingAnchor::saveXmlObject(QXmlStreamWriter &writer) const
|
|||||||
|
|
||||||
void DrawingAnchor::saveXmlObjectConnectionShape(QXmlStreamWriter &writer) const
|
void DrawingAnchor::saveXmlObjectConnectionShape(QXmlStreamWriter &writer) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(writer)
|
writer.writeStartElement(QStringLiteral("xdr:cxnSp")); ///?
|
||||||
|
writer.writeAttribute(QStringLiteral("macro"), cxnSp_macro);
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("xdr:nvCxnSpPr"));
|
||||||
|
writer.writeEmptyElement(QStringLiteral("xdr:cNvPr"));
|
||||||
|
writer.writeAttribute(QStringLiteral("id"), xsp_cNvPR_id);
|
||||||
|
writer.writeAttribute(QStringLiteral("name"), xsp_cNvPR_name);
|
||||||
|
writer.writeEmptyElement(QStringLiteral("xdr:cNvCxnSpPr"));
|
||||||
|
writer.writeEndElement(); //xdr:nvCxnSpPr
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("xdr:spPr"));
|
||||||
|
if(!xbwMode.isNull()){
|
||||||
|
writer.writeAttribute(QStringLiteral("bwMode"), xbwMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("a:xfrm"));
|
||||||
|
if(!cxnSp_filpV.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("flipV"), cxnSp_filpV);}
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:off"));
|
||||||
|
writer.writeAttribute(QStringLiteral("x"), QString::number(posTA.x()));
|
||||||
|
writer.writeAttribute(QStringLiteral("y"), QString::number(posTA.y()));
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:ext"));
|
||||||
|
writer.writeAttribute(QStringLiteral("cx"), QString::number(extTA.width()));
|
||||||
|
writer.writeAttribute(QStringLiteral("cy"), QString::number(extTA.height()));
|
||||||
|
writer.writeEndElement(); //a:xfrm
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("a:prstGeom"));
|
||||||
|
writer.writeAttribute(QStringLiteral("prst"), xprstGeom_prst);
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:avLst"));
|
||||||
|
writer.writeEndElement(); //a:prstGeom
|
||||||
|
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("a:ln"));
|
||||||
|
if(!xIn_w.isEmpty()&&!xIn_cap.isEmpty()){
|
||||||
|
if(!xIn_w.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("w"), xIn_w);
|
||||||
|
}
|
||||||
|
if(!xIn_cap.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("cap"), xIn_cap);
|
||||||
|
}
|
||||||
|
if(!xIn_cmpd.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("cmpd"), xIn_cmpd);
|
||||||
|
}
|
||||||
|
if(!xIn_algn.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("algn"), xIn_algn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if((!x_headEnd_tyep.isEmpty())||(!x_headEnd_w.isEmpty())||(!x_headEnd_len.isEmpty())){
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:headEnd"));
|
||||||
|
if(!x_headEnd_tyep.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("type"),x_headEnd_tyep);
|
||||||
|
}
|
||||||
|
if(!x_headEnd_w.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("w"),x_headEnd_w);
|
||||||
|
}
|
||||||
|
if(!x_headEnd_len.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("len"),x_headEnd_len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if((!x_tailEnd_tyep.isEmpty())||(!x_tailEnd_w.isEmpty())||(!x_tailEnd_len.isEmpty())){
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:tailEnd"));
|
||||||
|
if(!x_tailEnd_tyep.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("type"),x_tailEnd_tyep);}
|
||||||
|
if(!x_tailEnd_w.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("w"),x_tailEnd_w);}
|
||||||
|
if(!x_tailEnd_len.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("len"),x_tailEnd_len);}
|
||||||
|
}
|
||||||
|
|
||||||
|
writer.writeEndElement();//a:ln
|
||||||
|
|
||||||
|
|
||||||
|
writer.writeEndElement(); //xdr:spPr
|
||||||
|
// writer style
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("xdr:style"));// style
|
||||||
|
writer.writeStartElement(QStringLiteral("a:lnRef"));//lnRef
|
||||||
|
writer.writeAttribute(QStringLiteral("idx"),Style_inref_idx);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:schemeClr"));//val
|
||||||
|
writer.writeAttribute(QStringLiteral("val"),Style_inref_val);
|
||||||
|
writer.writeEndElement(); // val
|
||||||
|
writer.writeEndElement(); // lnRef
|
||||||
|
writer.writeStartElement(QStringLiteral("a:fillRef"));//fillRef
|
||||||
|
writer.writeAttribute(QStringLiteral("idx"),style_fillref_idx);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:schemeClr"));//val
|
||||||
|
writer.writeAttribute(QStringLiteral("val"),style_fillref_val);
|
||||||
|
writer.writeEndElement(); // val
|
||||||
|
writer.writeEndElement(); // fillRef
|
||||||
|
writer.writeStartElement(QStringLiteral("a:effectRef"));//effectRef
|
||||||
|
writer.writeAttribute(QStringLiteral("idx"),style_effectref_idx);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:schemeClr"));//val
|
||||||
|
writer.writeAttribute(QStringLiteral("val"),style_effectref_val);
|
||||||
|
writer.writeEndElement(); // val
|
||||||
|
writer.writeEndElement(); // effectRef
|
||||||
|
writer.writeStartElement(QStringLiteral("a:fontRef"));//fontRef
|
||||||
|
writer.writeAttribute(QStringLiteral("idx"),style_forntref_idx);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:schemeClr"));//val
|
||||||
|
writer.writeAttribute(QStringLiteral("val"),style_forntref_val);
|
||||||
|
writer.writeEndElement(); // val
|
||||||
|
writer.writeEndElement(); // fontRef
|
||||||
|
writer.writeEndElement(); // style
|
||||||
|
|
||||||
|
writer.writeEndElement(); //xdr:sp
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawingAnchor::saveXmlObjectGraphicFrame(QXmlStreamWriter &writer) const
|
void DrawingAnchor::saveXmlObjectGraphicFrame(QXmlStreamWriter &writer) const
|
||||||
@ -354,7 +650,7 @@ void DrawingAnchor::saveXmlObjectPicture(QXmlStreamWriter &writer) const
|
|||||||
|
|
||||||
writer.writeStartElement(QStringLiteral("xdr:nvPicPr"));
|
writer.writeStartElement(QStringLiteral("xdr:nvPicPr"));
|
||||||
writer.writeEmptyElement(QStringLiteral("xdr:cNvPr"));
|
writer.writeEmptyElement(QStringLiteral("xdr:cNvPr"));
|
||||||
writer.writeAttribute(QStringLiteral("id"), QString::number(m_id));
|
writer.writeAttribute(QStringLiteral("id"), QString::number(m_id+1)); // liufeijin
|
||||||
writer.writeAttribute(QStringLiteral("name"), QStringLiteral("Picture %1").arg(m_id));
|
writer.writeAttribute(QStringLiteral("name"), QStringLiteral("Picture %1").arg(m_id));
|
||||||
|
|
||||||
writer.writeStartElement(QStringLiteral("xdr:cNvPicPr"));
|
writer.writeStartElement(QStringLiteral("xdr:cNvPicPr"));
|
||||||
@ -391,7 +687,134 @@ void DrawingAnchor::saveXmlObjectPicture(QXmlStreamWriter &writer) const
|
|||||||
|
|
||||||
void DrawingAnchor::saveXmlObjectShape(QXmlStreamWriter &writer) const
|
void DrawingAnchor::saveXmlObjectShape(QXmlStreamWriter &writer) const
|
||||||
{
|
{
|
||||||
Q_UNUSED(writer)
|
//{{ liufeijin
|
||||||
|
writer.writeStartElement(QStringLiteral("xdr:sp")); //xdr:sp
|
||||||
|
writer.writeAttribute(QStringLiteral("macro"), sp_macro);
|
||||||
|
writer.writeAttribute(QStringLiteral("textlink"),sp_textlink);
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("xdr:nvSpPr"));//xdr:nvSpPr
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("xdr:cNvPr"));
|
||||||
|
writer.writeAttribute(QStringLiteral("id"), xsp_cNvPR_id);
|
||||||
|
writer.writeAttribute(QStringLiteral("name"), xsp_cNvPR_name);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:extLst"));
|
||||||
|
writer.writeEndElement();
|
||||||
|
writer.writeEndElement();//xdr:cNvPr
|
||||||
|
|
||||||
|
writer.writeEmptyElement(QStringLiteral("xdr:cNvSpPr"));
|
||||||
|
|
||||||
|
writer.writeEndElement(); //xdr:nvSpPr
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("xdr:spPr"));
|
||||||
|
if(!xbwMode.isNull()){
|
||||||
|
writer.writeAttribute(QStringLiteral("bwMode"), xbwMode);
|
||||||
|
}
|
||||||
|
writer.writeStartElement(QStringLiteral("a:xfrm"));
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:off"));
|
||||||
|
writer.writeAttribute(QStringLiteral("x"), QString::number(posTA.x()));
|
||||||
|
writer.writeAttribute(QStringLiteral("y"), QString::number(posTA.y()));
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:ext"));
|
||||||
|
writer.writeAttribute(QStringLiteral("cx"), QString::number(extTA.width()));
|
||||||
|
writer.writeAttribute(QStringLiteral("cy"), QString::number(extTA.height()));
|
||||||
|
writer.writeEndElement(); //a:xfrm
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("a:prstGeom"));
|
||||||
|
writer.writeAttribute(QStringLiteral("prst"), xprstGeom_prst);
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:avLst"));
|
||||||
|
writer.writeEndElement(); //a:prstGeom
|
||||||
|
|
||||||
|
if(!m_pictureFile.isNull()){
|
||||||
|
m_drawing->relationships()->addDocumentRelationship(QStringLiteral("/image"), QStringLiteral("../media/image%1.%2").arg(m_pictureFile->index()+1).arg(m_pictureFile->suffix()));
|
||||||
|
writer.writeStartElement(QStringLiteral("a:blipFill"));
|
||||||
|
writer.writeAttribute(QStringLiteral("dpi"), QString::number(dpiTA));
|
||||||
|
writer.writeAttribute(QStringLiteral("rotWithShape"),QString::number(rotWithShapeTA));
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("a:blip"));
|
||||||
|
writer.writeAttribute(QStringLiteral("r:embed"),QStringLiteral("rId%1").arg(m_drawing->relationships()->count())); //sp_blip_rembed QStringLiteral("rId%1").arg(m_drawing->relationships()->count()) can't made new pic
|
||||||
|
writer.writeAttribute(QStringLiteral("xmlns:r"), QStringLiteral("http://schemas.openxmlformats.org/officeDocument/2006/relationships"));
|
||||||
|
if(!sp_blip_cstate.isNull()){
|
||||||
|
writer.writeAttribute(QStringLiteral("cstate"), sp_blip_cstate);
|
||||||
|
}
|
||||||
|
writer.writeEndElement();//a:blip
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:srcRect"));
|
||||||
|
writer.writeStartElement(QStringLiteral("a:stretch"));
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:fillRect"));
|
||||||
|
writer.writeEndElement(); //a:stretch
|
||||||
|
writer.writeEndElement();//a:blipFill
|
||||||
|
}
|
||||||
|
writer.writeStartElement(QStringLiteral("a:ln"));
|
||||||
|
if(!xIn_w.isEmpty()&&!xIn_cap.isEmpty()){
|
||||||
|
if(!xIn_w.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("w"), xIn_w);
|
||||||
|
}
|
||||||
|
if(!xIn_cap.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("cap"), xIn_cap);
|
||||||
|
}
|
||||||
|
if(!xIn_cmpd.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("cmpd"), xIn_cmpd);
|
||||||
|
}
|
||||||
|
if(!xIn_algn.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("algn"), xIn_algn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if((!x_headEnd_tyep.isEmpty())||(!x_headEnd_w.isEmpty())||(!x_headEnd_len.isEmpty())){
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:headEnd"));
|
||||||
|
if(!x_headEnd_tyep.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("type"),x_headEnd_tyep);
|
||||||
|
}
|
||||||
|
if(!x_headEnd_w.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("w"),x_headEnd_w);
|
||||||
|
}
|
||||||
|
if(!x_headEnd_len.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("len"),x_headEnd_len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if((!x_tailEnd_tyep.isEmpty())||(!x_tailEnd_w.isEmpty())||(!x_tailEnd_len.isEmpty())){
|
||||||
|
writer.writeEmptyElement(QStringLiteral("a:tailEnd"));
|
||||||
|
if(!x_tailEnd_tyep.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("type"),x_tailEnd_tyep);}
|
||||||
|
if(!x_tailEnd_w.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("w"),x_tailEnd_w);}
|
||||||
|
if(!x_tailEnd_len.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("len"),x_tailEnd_len);}
|
||||||
|
}
|
||||||
|
|
||||||
|
writer.writeEndElement();//a:ln
|
||||||
|
|
||||||
|
|
||||||
|
writer.writeEndElement(); //xdr:spPr
|
||||||
|
// writer style
|
||||||
|
|
||||||
|
writer.writeStartElement(QStringLiteral("xdr:style"));// style
|
||||||
|
writer.writeStartElement(QStringLiteral("a:lnRef"));//lnRef
|
||||||
|
writer.writeAttribute(QStringLiteral("idx"),Style_inref_idx);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:schemeClr"));//val
|
||||||
|
writer.writeAttribute(QStringLiteral("val"),Style_inref_val);
|
||||||
|
writer.writeEndElement(); // val
|
||||||
|
writer.writeEndElement(); // lnRef
|
||||||
|
writer.writeStartElement(QStringLiteral("a:fillRef"));//fillRef
|
||||||
|
writer.writeAttribute(QStringLiteral("idx"),style_fillref_idx);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:schemeClr"));//val
|
||||||
|
writer.writeAttribute(QStringLiteral("val"),style_fillref_val);
|
||||||
|
writer.writeEndElement(); // val
|
||||||
|
writer.writeEndElement(); // fillRef
|
||||||
|
writer.writeStartElement(QStringLiteral("a:effectRef"));//effectRef
|
||||||
|
writer.writeAttribute(QStringLiteral("idx"),style_effectref_idx);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:schemeClr"));//val
|
||||||
|
writer.writeAttribute(QStringLiteral("val"),style_effectref_val);
|
||||||
|
writer.writeEndElement(); // val
|
||||||
|
writer.writeEndElement(); // effectRef
|
||||||
|
writer.writeStartElement(QStringLiteral("a:fontRef"));//fontRef
|
||||||
|
writer.writeAttribute(QStringLiteral("idx"),style_forntref_idx);
|
||||||
|
writer.writeStartElement(QStringLiteral("a:schemeClr"));//val
|
||||||
|
writer.writeAttribute(QStringLiteral("val"),style_forntref_val);
|
||||||
|
writer.writeEndElement(); // val
|
||||||
|
writer.writeEndElement(); // fontRef
|
||||||
|
writer.writeEndElement(); // style
|
||||||
|
|
||||||
|
writer.writeEndElement(); //xdr:sp
|
||||||
|
|
||||||
|
//}} liufeijin
|
||||||
}
|
}
|
||||||
|
|
||||||
//absolute anchor
|
//absolute anchor
|
||||||
@ -494,6 +917,12 @@ DrawingTwoCellAnchor::DrawingTwoCellAnchor(Drawing *drawing, ObjectType objectTy
|
|||||||
bool DrawingTwoCellAnchor::loadFromXml(QXmlStreamReader &reader)
|
bool DrawingTwoCellAnchor::loadFromXml(QXmlStreamReader &reader)
|
||||||
{
|
{
|
||||||
Q_ASSERT(reader.name() == QLatin1String("twoCellAnchor"));
|
Q_ASSERT(reader.name() == QLatin1String("twoCellAnchor"));
|
||||||
|
|
||||||
|
//{{ liufeijin
|
||||||
|
QXmlStreamAttributes attrs = reader.attributes(); // for absolute twocell aadd by liufeijin 20181024
|
||||||
|
editASName=attrs.value(QLatin1String("editAs")).toString();
|
||||||
|
//}}
|
||||||
|
|
||||||
while (!reader.atEnd()) {
|
while (!reader.atEnd()) {
|
||||||
reader.readNextStartElement();
|
reader.readNextStartElement();
|
||||||
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
if (reader.tokenType() == QXmlStreamReader::StartElement) {
|
||||||
@ -516,27 +945,19 @@ bool DrawingTwoCellAnchor::loadFromXml(QXmlStreamReader &reader)
|
|||||||
void DrawingTwoCellAnchor::saveToXml(QXmlStreamWriter &writer) const
|
void DrawingTwoCellAnchor::saveToXml(QXmlStreamWriter &writer) const
|
||||||
{
|
{
|
||||||
writer.writeStartElement(QStringLiteral("xdr:twoCellAnchor"));
|
writer.writeStartElement(QStringLiteral("xdr:twoCellAnchor"));
|
||||||
writer.writeAttribute(QStringLiteral("editAs"), QStringLiteral("oneCell"));
|
|
||||||
|
//{{ liufeijin
|
||||||
|
// writer.writeAttribute(QStringLiteral("editAs"), QStringLiteral("oneCell"));
|
||||||
|
if(!editASName.isNull()){
|
||||||
|
writer.writeAttribute(QStringLiteral("editAs"), editASName ); //QStringLiteral("oneCell")
|
||||||
|
}
|
||||||
|
// }}
|
||||||
|
|
||||||
saveXmlMarker(writer, from, QStringLiteral("xdr:from"));
|
saveXmlMarker(writer, from, QStringLiteral("xdr:from"));
|
||||||
saveXmlMarker(writer, to, QStringLiteral("xdr:to"));
|
saveXmlMarker(writer, to, QStringLiteral("xdr:to"));
|
||||||
|
|
||||||
saveXmlObject(writer);
|
saveXmlObject(writer);
|
||||||
|
|
||||||
writer.writeStartElement(QStringLiteral("xdr:sp"));
|
|
||||||
writer.writeAttribute(QStringLiteral("textlink"), QStringLiteral(""));
|
|
||||||
writer.writeAttribute(QStringLiteral("macro"), QStringLiteral(""));
|
|
||||||
writer.writeStartElement(QStringLiteral("xdr:nvSpPr"));
|
|
||||||
writer.writeEmptyElement(QStringLiteral("xdr:cNvPr"));
|
|
||||||
|
|
||||||
writer.writeAttribute(QStringLiteral("id"), QStringLiteral("2")); //QStringLiteral("id"), QString::number(m_id)
|
|
||||||
writer.writeAttribute(QStringLiteral("name"), QStringLiteral("1")); //QStringLiteral("name"), QStringLiteral("Picture %1").arg(m_id)
|
|
||||||
writer.writeEmptyElement(QStringLiteral("xdr:cNvSpPr"));
|
|
||||||
writer.writeEndElement();// //xdr:nvSpPr
|
|
||||||
|
|
||||||
writer.writeEmptyElement(QStringLiteral("xdr:spPr"));
|
|
||||||
writer.writeEndElement();//xdr:sp add by liufeijin 20181018
|
|
||||||
|
|
||||||
writer.writeEmptyElement(QStringLiteral("xdr:clientData"));
|
writer.writeEmptyElement(QStringLiteral("xdr:clientData"));
|
||||||
writer.writeEndElement(); //xdr:twoCellAnchor
|
writer.writeEndElement(); //xdr:twoCellAnchor
|
||||||
|
|
||||||
|
@ -1224,6 +1224,54 @@ void Worksheet::saveToXmlFile(QIODevice *device) const
|
|||||||
foreach (const ConditionalFormatting cf, d->conditionalFormattingList)
|
foreach (const ConditionalFormatting cf, d->conditionalFormattingList)
|
||||||
cf.saveToXml(writer);
|
cf.saveToXml(writer);
|
||||||
d->saveXmlDataValidations(writer);
|
d->saveXmlDataValidations(writer);
|
||||||
|
|
||||||
|
//{{ liufeijin
|
||||||
|
// write pagesettings add by liufeijin 20181028
|
||||||
|
|
||||||
|
writer.writeEmptyElement(QStringLiteral("pageMargins"));
|
||||||
|
if(!d->PMleft.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("left"), d->PMleft);}
|
||||||
|
if(!d->PMright.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("right"), d->PMright);}
|
||||||
|
if(!d->PMtop.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("top"),d->PMtop);}
|
||||||
|
if(!d->PMbotton.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("bottom"), d->PMbotton);}
|
||||||
|
if(!d->PMheader.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("header"), d->PMheader);}
|
||||||
|
if(!d->PMfooter.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("footer"), d->PMfooter);}
|
||||||
|
|
||||||
|
writer.writeEmptyElement(QStringLiteral("pageSetup"));
|
||||||
|
if(!d->PverticalDpi.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("verticalDpi"), d->PverticalDpi);}
|
||||||
|
if(!d->PhorizontalDpi.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("horizontalDpi"), d->PhorizontalDpi);}
|
||||||
|
if(!d->PuseFirstPageNumber.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("useFirstPageNumber"), d->PuseFirstPageNumber);}
|
||||||
|
if(!d->PfirstPageNumber.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("firstPageNumber"), d->PfirstPageNumber);}
|
||||||
|
if(!d->Pscale.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("scale"), d->Pscale);}
|
||||||
|
if(!d->PpaperSize.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("paperSize"), d->PpaperSize);}
|
||||||
|
if(!d->Porientation.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("orientation"), d->Porientation);}
|
||||||
|
if(!d->Pcopies.isEmpty()){
|
||||||
|
writer.writeAttribute(QStringLiteral("copies"), d->Pcopies);}
|
||||||
|
// if(!d->Prid.isEmpty()){
|
||||||
|
// writer.writeAttribute(QStringLiteral("r:id"), d->Prid);}
|
||||||
|
|
||||||
|
if((!d->MoodFooter.isNull())||!(d->MoodFooter.isNull())){
|
||||||
|
writer.writeStartElement(QStringLiteral("headerFooter")); // headerFooter
|
||||||
|
if (!d->ModdHeader.isNull()){
|
||||||
|
writer.writeTextElement(QStringLiteral("oddHeader"), d->ModdHeader);}
|
||||||
|
if(!d->MoodFooter.isNull()){
|
||||||
|
writer.writeTextElement(QStringLiteral("oddFooter"), d->MoodFooter);}
|
||||||
|
writer.writeEndElement();// headerFooter
|
||||||
|
}
|
||||||
|
//}}
|
||||||
|
|
||||||
d->saveXmlHyperlinks(writer);
|
d->saveXmlHyperlinks(writer);
|
||||||
d->saveXmlDrawings(writer);
|
d->saveXmlDrawings(writer);
|
||||||
|
|
||||||
@ -1231,6 +1279,14 @@ void Worksheet::saveToXmlFile(QIODevice *device) const
|
|||||||
writer.writeEndDocument();
|
writer.writeEndDocument();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//{{ liufeijin
|
||||||
|
bool Worksheet::setStartPage(int spagen){
|
||||||
|
Q_D(Worksheet);
|
||||||
|
d->PfirstPageNumber=QString::number(spagen);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//}}
|
||||||
|
|
||||||
void WorksheetPrivate::saveXmlSheetData(QXmlStreamWriter &writer) const
|
void WorksheetPrivate::saveXmlSheetData(QXmlStreamWriter &writer) const
|
||||||
{
|
{
|
||||||
calculateSpans();
|
calculateSpans();
|
||||||
@ -2314,6 +2370,32 @@ bool Worksheet::loadFromXmlFile(QIODevice *device)
|
|||||||
d->conditionalFormattingList.append(cf);
|
d->conditionalFormattingList.append(cf);
|
||||||
} else if (reader.name() == QLatin1String("hyperlinks")) {
|
} else if (reader.name() == QLatin1String("hyperlinks")) {
|
||||||
d->loadXmlHyperlinks(reader);
|
d->loadXmlHyperlinks(reader);
|
||||||
|
//{{
|
||||||
|
} else if(reader.name() == QLatin1String("pageSetup")){
|
||||||
|
QXmlStreamAttributes attributes = reader.attributes();
|
||||||
|
d->PpaperSize = attributes.value(QLatin1String("paperSize")).toString().trimmed();
|
||||||
|
d->Pscale = attributes.value(QLatin1String("scale")).toString().trimmed();
|
||||||
|
d->PfirstPageNumber = attributes.value(QLatin1String("firstPageNumber")).toString().trimmed();
|
||||||
|
d->Porientation = attributes.value(QLatin1String("orientation")).toString().trimmed();
|
||||||
|
d->PuseFirstPageNumber = attributes.value(QLatin1String("useFirstPageNumber")).toString().trimmed();
|
||||||
|
d->PhorizontalDpi = attributes.value(QLatin1String("horizontalDpi")).toString().trimmed();
|
||||||
|
d->PverticalDpi = attributes.value(QLatin1String("verticalDpi")).toString().trimmed();
|
||||||
|
d->Prid=attributes.value(QLatin1String("r:id")).toString().trimmed();
|
||||||
|
d->Pcopies=attributes.value(QLatin1String("copies")).toString().trimmed();
|
||||||
|
} else if(reader.name() == QLatin1String("pageMargins")){
|
||||||
|
QXmlStreamAttributes attributes = reader.attributes();
|
||||||
|
d->PMfooter= attributes.value(QLatin1String("footer")).toString().trimmed();
|
||||||
|
d->PMheader = attributes.value(QLatin1String("header")).toString().trimmed();
|
||||||
|
d->PMbotton = attributes.value(QLatin1String("bottom")).toString().trimmed();
|
||||||
|
d->PMtop = attributes.value(QLatin1String("top")).toString().trimmed();
|
||||||
|
d->PMright = attributes.value(QLatin1String("right")).toString().trimmed();
|
||||||
|
d->PMleft = attributes.value(QLatin1String("left")).toString().trimmed();
|
||||||
|
} else if(reader.name() == QLatin1String("headerFooter")){
|
||||||
|
reader.readNextStartElement();
|
||||||
|
if ((reader.tokenType() == QXmlStreamReader::StartElement)&&\
|
||||||
|
reader.name() == QLatin1String("oddHeader")) {
|
||||||
|
d->ModdHeader=reader.readElementText();
|
||||||
|
//}}
|
||||||
} else if (reader.name() == QLatin1String("drawing")) {
|
} else if (reader.name() == QLatin1String("drawing")) {
|
||||||
QString rId = reader.attributes().value(QStringLiteral("r:id")).toString();
|
QString rId = reader.attributes().value(QStringLiteral("r:id")).toString();
|
||||||
QString name = d->relationships->getRelationshipById(rId).target;
|
QString name = d->relationships->getRelationshipById(rId).target;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user