Add future metadata conversion

This commit is contained in:
Viktor Andreev
2024-07-17 15:19:43 +06:00
parent 96d994dc65
commit 4af9055ade
8 changed files with 102 additions and 17 deletions

View File

@ -69,6 +69,9 @@
#include "../../XlsbFormat/Biff12_unions/TABLESLICERSEX.h"
#include "../../XlsbFormat/Biff12_unions/FRTWORKBOOK.h"
#include "../../XlsbFormat/Biff12_unions/FRTPIVOTCACHEDEF.h"
#include "../../XlsbFormat/Biff12_unions/FMD.h"
#include "../../XlsbFormat/Biff12_unions/DYNAMICARRAYMETADATA.h"
#include "../../XlsbFormat/Biff12_unions/RICHDATAMETADATA.h"
#include "../../XlsbFormat/Biff12_records/FRTBegin.h"
namespace OOX
@ -908,6 +911,31 @@ namespace OOX
}
return objectPtr;
}
XLS::BaseObjectPtr COfficeArtExtensionList::toBinMetadata()
{
XLS::BaseObjectPtr objectPtr;
if(m_arrExt.empty())
return objectPtr;
for(auto i:m_arrExt)
{
if(i->m_sUri == L"{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}")
{
auto ptr(new XLSB::FMD);
objectPtr = XLS::BaseObjectPtr(ptr);
auto ptr1(new XLSB::DYNAMICARRAYMETADATA);
ptr->m_DYNAMICARRAYMETADATA = XLS::BaseObjectPtr{ptr1};
ptr1->m_EndDynamicArrayPr = i->m_oDynamicArrayProperties->toBin();
}
else if(i->m_sUri == L"{3E2802C4-A4D2-4D8B-9148-E3BE6C30E623}")
{
auto ptr(new XLSB::FMD);
objectPtr = XLS::BaseObjectPtr(ptr);
auto ptr1(new XLSB::RICHDATAMETADATA);
ptr1->m_BeginRichValueBlock = i->m_oRichValueBlock->toBin();
}
}
return objectPtr;
}
void COfficeArtExtensionList::fromBin(XLS::BaseObjectPtr& obj)
{
if (obj->get_type() == XLS::typeFRTWORKBOOK)

View File

@ -206,6 +206,7 @@ namespace OOX
XLS::BaseObjectPtr toBinSlicerCache();
XLS::BaseObjectPtr toBinPivotCache();
XLS::BaseObjectPtr toBinConnections();
XLS::BaseObjectPtr toBinMetadata();
virtual EElementType getType() const;
std::vector<OOX::Drawing::COfficeArtExtension*> m_arrExt;