diff --git a/OOXML/XlsxFormat/Slicer/SlicerCacheExt.cpp b/OOXML/XlsxFormat/Slicer/SlicerCacheExt.cpp index 9d294356df..90740eded4 100644 --- a/OOXML/XlsxFormat/Slicer/SlicerCacheExt.cpp +++ b/OOXML/XlsxFormat/Slicer/SlicerCacheExt.cpp @@ -50,6 +50,8 @@ #include "../../XlsbFormat/Biff12_unions/TABLESLICERCACHEIDS.h" #include "../../XlsbFormat/Biff12_unions/TABLESLICERCACHEID.h" #include "../../XlsbFormat/Biff12_records/TableSlicerCacheID.h" +#include "../../XlsbFormat/Biff12_records/FRTBegin.h" +#include "../../XlsbFormat/Biff12_structures/FRTProductVersion.h" #include "../../Binary/Presentation/XmlWriter.h" #include "../../Binary/Presentation/BinReaderWriterDefines.h" @@ -1129,6 +1131,12 @@ void CSlicerStyles::fromBin(XLS::BaseObjectPtr &obj) XLS::BaseObjectPtr CSlicerStyles::toBin() { auto ptr(new XLSB::STYLESHEET14); + auto ptr1(new XLSB::FRTBegin); + ptr->m_BrtFRTBegin = XLS::BaseObjectPtr{ptr1}; + XLSB::FRTProductVersion version; + version.product = 0; + version.version = 0; + ptr1->productVersion = version; XLS::BaseObjectPtr objectPtr(ptr); auto slicerStyle(new XLSB::SLICERSTYLES); ptr->m_SLICERSTYLES = XLS::BaseObjectPtr {slicerStyle}; diff --git a/OOXML/XlsxFormat/Styles/Borders.cpp b/OOXML/XlsxFormat/Styles/Borders.cpp index d835092476..11548d478e 100644 --- a/OOXML/XlsxFormat/Styles/Borders.cpp +++ b/OOXML/XlsxFormat/Styles/Borders.cpp @@ -146,6 +146,8 @@ namespace OOX { XLSB::Color col; col.xColorType = 0; + col.nTintAndShade = 0; + col.index = 0; ptr->brtColor = col; } diff --git a/OOXML/XlsxFormat/Styles/XlsxStyles.cpp b/OOXML/XlsxFormat/Styles/XlsxStyles.cpp index 2e945d49f9..059707090a 100644 --- a/OOXML/XlsxFormat/Styles/XlsxStyles.cpp +++ b/OOXML/XlsxFormat/Styles/XlsxStyles.cpp @@ -246,8 +246,8 @@ namespace OOX if (m_oColors.IsInit()) stylesStream->m_COLORPALETTE = m_oColors->toBin(); - if (m_oExtLst.IsInit()) - stylesStream->m_FRTSTYLESHEET = m_oExtLst->toBinStyles(); + if (m_oExtLst.IsInit()) + stylesStream->m_FRTSTYLESHEET = m_oExtLst->toBinStyles(); return objectPtr; } void CStyles::read(const CPath& oPath) diff --git a/OOXML/test/xlsx2xlsb/conversion.cpp b/OOXML/test/xlsx2xlsb/conversion.cpp index 2cfc2bc58b..d6625a6cdf 100644 --- a/OOXML/test/xlsx2xlsb/conversion.cpp +++ b/OOXML/test/xlsx2xlsb/conversion.cpp @@ -142,7 +142,7 @@ TEST_F(XlsbSimpleTests1, WorkbookTest) ASSERT_EQ(fileContent, exampleContent); } -TEST_F(XlsbSimpleTests1, DISABLED_StylesTest) +TEST_F(XlsbSimpleTests1, StylesTest) { auto tempDir = XlsbSimpleTests1::tempDir; std::wstring path1(tempDir + FILE_SEPARATOR_STR + L"result_unpacked"+ FILE_SEPARATOR_STR + L"xl" +