Commit 709ee194 authored by ElenaSubbotina's avatar ElenaSubbotina

fix bug #36568

parent e59eff3a
......@@ -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"
MinimalRebuild="false"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
......@@ -392,6 +392,14 @@
<File
RelativePath="..\..\ASCOfficeDocxFile2\DocWrapper\XlsxSerializer.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/bigobj"
/>
</FileConfiguration>
</File>
</Filter>
<File
......
......@@ -60,7 +60,9 @@ void String::readFields(CFRecord& record)
string = s;
}
else
{
record >> string;
}
}
} // namespace XLS
......
......@@ -32,13 +32,11 @@
#pragma once
#include "BiffRecordContinued.h"
#include <Logic/Biff_structures/BiffString.h>
#include "../Biff_structures/BiffString.h"
namespace XLS
{
// Logical representation of String record in BIFF8
class String: public BiffRecordContinued
{
BIFF_RECORD_DEFINE_TYPE_INFO(String)
......
......@@ -31,16 +31,17 @@
*/
#include "FORMULA.h"
#include <Logic/Biff_records/Uncalced.h>
#include <Logic/Biff_records/Formula.h>
#include <Logic/Biff_records/Array.h>
#include <Logic/Biff_records/Table.h>
#include <Logic/Biff_records/ShrFmla.h>
#include <Logic/Biff_unions/SUB.h>
#include <Logic/Biff_records/String.h>
#include <Logic/Biff_records/Continue.h>
#include <utils.h>
#include "../Biff_records/Uncalced.h"
#include "../Biff_records/Formula.h"
#include "../Biff_records/Array.h"
#include "../Biff_records/Table.h"
#include "../Biff_records/ShrFmla.h"
#include "../Biff_unions/SUB.h"
#include "../Biff_records/String.h"
#include "../Biff_records/Continue.h"
#include "../../../../source/Common/utils.h"
#include "../../../../../Common/DocxFormat/Source/XML/Utils.h"
namespace XLS
{
......@@ -105,14 +106,18 @@ const bool FORMULA::loadContent(BinProcessor& proc)
m_sharedIndex = shared_formulas_locations_ref_.size();
shared_formulas_locations_ref_.push_back(shr_formula.ref_);
}
//proc.optional<SUB>();
else
{
//proc.optional<SUB>();
}
}
if ((formula) && (formula->fShrFmla))
{
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)
}
}
//if (formula_cash.empty())
//{ todooo неверно читается - general_formulas.xls
// if (m_Cash)
//
// String * str = dynamic_cast<String*>(m_Cash.get());
// if (str)
// formula_cash =str->string.value();
// }
//}
if (formula_cash.empty() && m_Cash)
{
String * str = dynamic_cast<String*>(m_Cash.get());
if (str)
{
formula_cash =str->string.value();
}
}
if (!formula_cash.empty())
{
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