Commit 709ee194 authored by ElenaSubbotina's avatar ElenaSubbotina

fix bug #36568

parent e59eff3a
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;USE_ATL_CSTRINGS;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;DONT_WRITE_EMBEDDED_FONTS" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;USE_ATL_CSTRINGS;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;DONT_WRITE_EMBEDDED_FONTS"
MinimalRebuild="false" MinimalRebuild="false"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="3" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
Detect64BitPortabilityProblems="true" Detect64BitPortabilityProblems="true"
...@@ -392,6 +392,14 @@ ...@@ -392,6 +392,14 @@
<File <File
RelativePath="..\..\ASCOfficeDocxFile2\DocWrapper\XlsxSerializer.cpp" RelativePath="..\..\ASCOfficeDocxFile2\DocWrapper\XlsxSerializer.cpp"
> >
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/bigobj"
/>
</FileConfiguration>
</File> </File>
</Filter> </Filter>
<File <File
......
...@@ -60,7 +60,9 @@ void String::readFields(CFRecord& record) ...@@ -60,7 +60,9 @@ void String::readFields(CFRecord& record)
string = s; string = s;
} }
else else
{
record >> string; record >> string;
}
} }
} // namespace XLS } // namespace XLS
......
...@@ -32,13 +32,11 @@ ...@@ -32,13 +32,11 @@
#pragma once #pragma once
#include "BiffRecordContinued.h" #include "BiffRecordContinued.h"
#include <Logic/Biff_structures/BiffString.h> #include "../Biff_structures/BiffString.h"
namespace XLS namespace XLS
{ {
// Logical representation of String record in BIFF8
class String: public BiffRecordContinued class String: public BiffRecordContinued
{ {
BIFF_RECORD_DEFINE_TYPE_INFO(String) BIFF_RECORD_DEFINE_TYPE_INFO(String)
......
...@@ -31,16 +31,17 @@ ...@@ -31,16 +31,17 @@
*/ */
#include "FORMULA.h" #include "FORMULA.h"
#include <Logic/Biff_records/Uncalced.h> #include "../Biff_records/Uncalced.h"
#include <Logic/Biff_records/Formula.h> #include "../Biff_records/Formula.h"
#include <Logic/Biff_records/Array.h> #include "../Biff_records/Array.h"
#include <Logic/Biff_records/Table.h> #include "../Biff_records/Table.h"
#include <Logic/Biff_records/ShrFmla.h> #include "../Biff_records/ShrFmla.h"
#include <Logic/Biff_unions/SUB.h> #include "../Biff_unions/SUB.h"
#include <Logic/Biff_records/String.h> #include "../Biff_records/String.h"
#include <Logic/Biff_records/Continue.h> #include "../Biff_records/Continue.h"
#include <utils.h> #include "../../../../source/Common/utils.h"
#include "../../../../../Common/DocxFormat/Source/XML/Utils.h"
namespace XLS namespace XLS
{ {
...@@ -105,14 +106,18 @@ const bool FORMULA::loadContent(BinProcessor& proc) ...@@ -105,14 +106,18 @@ const bool FORMULA::loadContent(BinProcessor& proc)
m_sharedIndex = shared_formulas_locations_ref_.size(); m_sharedIndex = shared_formulas_locations_ref_.size();
shared_formulas_locations_ref_.push_back(shr_formula.ref_); shared_formulas_locations_ref_.push_back(shr_formula.ref_);
} }
else
{
//proc.optional<SUB>(); //proc.optional<SUB>();
} }
}
if ((formula) && (formula->fShrFmla)) if ((formula) && (formula->fShrFmla))
{ {
for (size_t i = 0; i < shared_formulas_locations_ref_.size(); i++) for (size_t i = 0; i < shared_formulas_locations_ref_.size(); i++)
{ {
if (shared_formulas_locations_ref_[i].inRange(location)) m_sharedIndex = i; if (shared_formulas_locations_ref_[i].inRange(location))
m_sharedIndex = i;
} }
} }
...@@ -208,21 +213,20 @@ int FORMULA::serialize(std::wostream & stream) ...@@ -208,21 +213,20 @@ int FORMULA::serialize(std::wostream & stream)
} }
} }
//if (formula_cash.empty()) if (formula_cash.empty() && m_Cash)
//{ todooo неверно читается - general_formulas.xls {
// if (m_Cash) String * str = dynamic_cast<String*>(m_Cash.get());
// if (str)
// String * str = dynamic_cast<String*>(m_Cash.get()); {
// if (str) formula_cash =str->string.value();
// formula_cash =str->string.value(); }
// } }
//}
if (!formula_cash.empty()) if (!formula_cash.empty())
{ {
CP_XML_NODE(L"v") CP_XML_NODE(L"v")
{ {
CP_XML_STREAM() << xml::utils::replace_text_to_xml(formula_cash); CP_XML_STREAM() << XmlUtils::EncodeXmlString(formula_cash, true);
} }
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment