This commit is contained in:
ElenaSubbotina
2025-05-29 16:00:23 +03:00
parent cc9cb8ca05
commit 14df0d2b58
3 changed files with 32 additions and 17 deletions

View File

@ -71,12 +71,36 @@ int BoolErr::serialize(std::wostream & stream)
CP_XML_NODE(L"c")
{
CP_XML_ATTR(L"r", ref);
CP_XML_ATTR(L"t", L"b");
if (cell.ixfe - global_info_->cellStyleXfs_count > 0)
{
CP_XML_ATTR(L"s", cell.ixfe - global_info_->cellStyleXfs_count);
}
}
CP_XML_NODE(L"v")
{
if (bes.fError)
{
switch (bes.bBoolErr)
{
case 0x00: CP_XML_STREAM() << L"#NULL!"; break;
case 0x07: CP_XML_STREAM() << L"#DIV/0!"; break;
case 0x0F: CP_XML_STREAM() << L"#VALUE!"; break;
case 0x17: CP_XML_STREAM() << L"#REF!"; break;
case 0x1D: CP_XML_STREAM() << L"#NAME?"; break;
case 0x24: CP_XML_STREAM() << L"#NUM!"; break;
case 0x2A: CP_XML_STREAM() << L"#N/A"; break;
case 0x2B: CP_XML_STREAM() << L"#GETTING_DATA"; break;
default:
break;
}
}
else
{
CP_XML_STREAM() << std::to_wstring(bes.bBoolErr);
}
}
}
}
return 0;
}

View File

@ -75,31 +75,22 @@ global_info->sTheme = \
else
{
nThemeDataSize = record.getDataSize() - record.getRdPtr();
pThemeData = boost::shared_array<char>(new char[nThemeDataSize]);
pThemeData = boost::shared_array<BYTE>(new BYTE[nThemeDataSize]);
memcpy(pThemeData.get(), record.getCurData<char>(), nThemeDataSize);
record.skipNunBytes(nThemeDataSize);
std::wstring tempThemePath = global_info->tempDirectory + FILE_SEPARATOR_STR + L"theme.temp";
NSFile::CFileBinary file;
if (!file.CreateFileW(tempThemePath)) return;
file.WriteFile((BYTE*)pThemeData.get(), nThemeDataSize);
file.CloseFile();
COfficeUtils OfficeUtils(NULL);
ULONG nBufferSize = 0;
BYTE *pBuffer = NULL;
BYTE *pBuffer = NULL;
HRESULT hresult = OfficeUtils.LoadFileFromArchive(tempThemePath, L"theme1.xml", &pBuffer, nBufferSize);// todooo - parsing ThemeManager
COfficeUtils OfficeUtils(NULL);
HRESULT hresult = OfficeUtils.LoadFileFromArchive(pThemeData.get(), nThemeDataSize, L"theme1.xml", &pBuffer, nBufferSize);// todooo - parsing ThemeManager
if (hresult != S_OK || pBuffer == NULL)
hresult = OfficeUtils.LoadFileFromArchive(tempThemePath, L"theme/theme1.xml", &pBuffer, nBufferSize);
hresult = OfficeUtils.LoadFileFromArchive(pThemeData.get(), nThemeDataSize, L"theme/theme1.xml", &pBuffer, nBufferSize);
if (hresult != S_OK || pBuffer == NULL)
hresult = OfficeUtils.LoadFileFromArchive(tempThemePath, L"theme/theme/theme1.xml", &pBuffer, nBufferSize);
hresult = OfficeUtils.LoadFileFromArchive(pThemeData.get(), nThemeDataSize, L"theme/theme/theme1.xml", &pBuffer, nBufferSize);
if (hresult == S_OK && pBuffer != NULL)
{

View File

@ -56,7 +56,7 @@ public:
FrtHeader frtHeader;
_UINT32 nThemeDataSize;
boost::shared_array<char> pThemeData;
boost::shared_array<BYTE> pThemeData;
};
} // namespace XLS