mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-07-10 14:15:48 +08:00
Merge pull request 'fix bugs' (#752) from fix/fix-bugs into release/v9.4.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/core/pulls/752
This commit is contained in:
@ -25,15 +25,15 @@
|
||||
<Filter Include="Common">
|
||||
<UniqueIdentifier>{02739917-e580-44c9-9b2c-8e80c7a2164d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sheets\Reader\XML">
|
||||
<UniqueIdentifier>{47d28884-9f95-479a-a812-cf3b0e0a6ac9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sheets\Reader\CellFormat">
|
||||
<UniqueIdentifier>{3bf431c7-ab39-40bb-a5ce-dbc6008ae5e5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Draw">
|
||||
<UniqueIdentifier>{63d19e50-d1a5-4bc3-802f-062b7213a8a6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sheets\CellFormat">
|
||||
<UniqueIdentifier>{3bf431c7-ab39-40bb-a5ce-dbc6008ae5e5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sheets\XML">
|
||||
<UniqueIdentifier>{47d28884-9f95-479a-a812-cf3b0e0a6ac9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\Binary\Document\BinWriter\BinaryWriterD.cpp">
|
||||
@ -115,43 +115,43 @@
|
||||
<Filter>Common</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\XMLReader\columnNameController.cpp">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\XMLReader\XLSXTableController.cpp">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\XMLReader\XML2TableConverter.cpp">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\XMLReader\XMLConverter2.cpp">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\XMLReader\XMLMap.cpp">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\XMLReader\XMLReader.cpp">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\XMLReader\XMLReader2.cpp">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\CellFormatController\CellFormatController.cpp">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\CellFormatController\CurrencyReader.cpp">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\CellFormatController\DateReader.cpp">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\CellFormatController\DigitReader.cpp">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\ChartFromToBinary.cpp">
|
||||
<Filter>Sheets</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Sheets\Reader\CellFormatController\LocalInfo.cpp">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\Binary\Document\DocWrapper\ChartSerializer.cpp" />
|
||||
<ClCompile Include="..\..\..\Binary\Document\DocWrapper\DocxSerializer.cpp" />
|
||||
@ -269,40 +269,40 @@
|
||||
<Filter>Common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\XMLReader\columnNamesController.h">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\XMLReader\XLSXTableController.h">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\XMLReader\XML2TableConverter.h">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\XMLReader\XMLConverter2.h">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\XMLReader\XMLMap.h">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\XMLReader\XMLReader.h">
|
||||
<Filter>Sheets\Reader\XML</Filter>
|
||||
<Filter>Sheets\XML</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\CellFormatController\CellFormatController.h">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\CellFormatController\CurrencyReader.h">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\CellFormatController\DateReader.h">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\CellFormatController\DigitReader.h">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\ChartFromToBinary.h">
|
||||
<Filter>Sheets</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Sheets\Reader\CellFormatController\LocalInfo.h">
|
||||
<Filter>Sheets\Reader\CellFormat</Filter>
|
||||
<Filter>Sheets\CellFormat</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\Binary\Document\DocWrapper\DocxSerializer.h" />
|
||||
<ClInclude Include="..\..\..\Binary\Document\DocWrapper\FontProcessor.h" />
|
||||
|
||||
@ -59,7 +59,7 @@ namespace OOX
|
||||
writer.WriteString(L"<person");
|
||||
WritingStringNullableAttrEncodeXmlString(L"displayName", displayName, *displayName);
|
||||
WritingStringNullableAttrString(L"id", id, *id);
|
||||
WritingStringNullableAttrString(L"userId", userId, *userId);
|
||||
WritingStringNullableAttrEncodeXmlString(L"userId", userId, *userId);
|
||||
WritingStringNullableAttrEncodeXmlString(L"providerId", providerId, *providerId);
|
||||
writer.WriteString(L"/>");
|
||||
}
|
||||
|
||||
@ -102,7 +102,7 @@ namespace OOX
|
||||
return;
|
||||
}
|
||||
|
||||
if(SimpleTypes::Spreadsheet::celltypeStr == eType || SimpleTypes::Spreadsheet::celltypeInlineStr == eType)
|
||||
if(SimpleTypes::Spreadsheet::celltypeStr == eType || SimpleTypes::Spreadsheet::celltypeInlineStr == eType || SimpleTypes::Spreadsheet::celltypeDate == eType)
|
||||
{
|
||||
m_bIsInit = true;
|
||||
m_oValue.fromXML(oReader, SimpleTypes::xmlspacePreserve == m_oSpace.GetValue());
|
||||
|
||||
@ -45,6 +45,7 @@
|
||||
#include "../ComplexTypes_Spreadsheet.h"
|
||||
|
||||
#include "../../Binary/Presentation/BinaryFileReaderWriter.h"
|
||||
#include "../../Binary/Sheets/Reader/CellFormatController/DateReader.h"
|
||||
#include "../../Binary/Sheets/Writer/CSVWriter.h"
|
||||
#include "../../../DesktopEditor/common/StreamWriter.h"
|
||||
#include "../../../DesktopEditor/common/StringExt.h"
|
||||
@ -646,7 +647,7 @@ namespace OOX
|
||||
}
|
||||
void CCellXLSB::toXLSB(NSBinPptxRW::CXlsbBinaryWriter& oStream)
|
||||
{
|
||||
_INT16 nType = XLSB::rt_CellBlank;
|
||||
_INT16 nType = XLSB::rt_CellSt;
|
||||
if(m_oFormula.m_bIsInit && SimpleTypes::Spreadsheet::celltypeSharedString == m_oType.GetValue())
|
||||
{
|
||||
m_oType.SetValue(SimpleTypes::Spreadsheet::celltypeError);
|
||||
@ -662,8 +663,20 @@ namespace OOX
|
||||
case SimpleTypes::Spreadsheet::celltypeSharedString: nType = XLSB::rt_CellIsst; break;
|
||||
case SimpleTypes::Spreadsheet::celltypeError: nType = XLSB::rt_CellError; break;
|
||||
case SimpleTypes::Spreadsheet::celltypeBool: nType = XLSB::rt_CellBool; break;
|
||||
case SimpleTypes::Spreadsheet::celltypeDate:
|
||||
{
|
||||
std::wstring tmp(m_oValue.m_oValue.m_sBuffer, m_oValue.m_oValue.m_nLen);
|
||||
DateReader dateChecker;
|
||||
double result = 0;
|
||||
bool bTime = false, bDate = false;
|
||||
if (dateChecker.GetDigitalDate(tmp, result, bDate, bTime))
|
||||
{
|
||||
nType = XLSB::rt_CellReal;
|
||||
m_oValue.m_dValue = result;
|
||||
}
|
||||
}break;
|
||||
case SimpleTypes::Spreadsheet::celltypeInlineStr:
|
||||
case SimpleTypes::Spreadsheet::celltypeStr: nType = XLSB::rt_CellSt; break;
|
||||
case SimpleTypes::Spreadsheet::celltypeStr: nType = XLSB::rt_CellSt; break;
|
||||
}
|
||||
}
|
||||
bool bIsBlankFormula = false;
|
||||
@ -730,28 +743,31 @@ namespace OOX
|
||||
oStream.XlsbStartRecord(nType, nLen);
|
||||
oStream.WriteULONG(m_nCol & 0x3FFF);
|
||||
|
||||
|
||||
oStream.WriteULONG(nFlags2);
|
||||
//todo RkNumber
|
||||
switch(nType)
|
||||
switch (nType)
|
||||
{
|
||||
case XLSB::rt_CellReal:
|
||||
case XLSB::rt_FmlaNum:
|
||||
case XLSB::rt_CellReal:
|
||||
case XLSB::rt_FmlaNum:
|
||||
{
|
||||
oStream.WriteDoubleReal(m_oValue.m_dValue);
|
||||
break;
|
||||
case XLSB::rt_CellIsst:
|
||||
}break;
|
||||
case XLSB::rt_CellIsst:
|
||||
{
|
||||
oStream.WriteULONG(m_oValue.m_nValue);
|
||||
break;
|
||||
case XLSB::rt_CellSt:
|
||||
case XLSB::rt_FmlaString:
|
||||
}break;
|
||||
case XLSB::rt_CellSt:
|
||||
case XLSB::rt_FmlaString:
|
||||
{
|
||||
oStream.WriteStringData(m_oValue.m_oValue.m_sBuffer, m_oValue.m_oValue.m_nLen);
|
||||
break;
|
||||
case XLSB::rt_CellError:
|
||||
case XLSB::rt_FmlaError:
|
||||
case XLSB::rt_CellBool:
|
||||
case XLSB::rt_FmlaBool:
|
||||
}break;
|
||||
case XLSB::rt_CellError:
|
||||
case XLSB::rt_FmlaError:
|
||||
case XLSB::rt_CellBool:
|
||||
case XLSB::rt_FmlaBool:
|
||||
{
|
||||
oStream.WriteBYTE(m_oValue.m_nValue);
|
||||
break;
|
||||
}break;
|
||||
}
|
||||
|
||||
_UINT16 nFlags = 0;
|
||||
|
||||
Reference in New Issue
Block a user