Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
onlyoffice_core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
onlyoffice_core
Commits
64f578e5
Commit
64f578e5
authored
Nov 29, 2017
by
ElenaSubbotina
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
XlsFormat - ...
parent
16c57b50
Changes
36
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
937 additions
and
46 deletions
+937
-46
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/Array.cpp
...iceXlsFile2/source/XlsFormat/Logic/Biff_records/Array.cpp
+1
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/Array.h
...fficeXlsFile2/source/XlsFormat/Logic/Biff_records/Array.h
+2
-3
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.cpp
...sFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.cpp
+13
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.h
...XlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.h
+5
-3
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/BRAI.h
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/BRAI.h
+2
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/BopPop.h
...ficeXlsFile2/source/XlsFormat/Logic/Biff_records/BopPop.h
+1
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/Feature12.cpp
...lsFile2/source/XlsFormat/Logic/Biff_records/Feature12.cpp
+1
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/Feature12.h
...eXlsFile2/source/XlsFormat/Logic/Biff_records/Feature12.h
+3
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ArrayParsedFormula.h
...urce/XlsFormat/Logic/Biff_structures/ArrayParsedFormula.h
+1
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/CachedDiskHeader.cpp
...urce/XlsFormat/Logic/Biff_structures/CachedDiskHeader.cpp
+57
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/CachedDiskHeader.h
...source/XlsFormat/Logic/Biff_structures/CachedDiskHeader.h
+60
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFN12List.h
...File2/source/XlsFormat/Logic/Biff_structures/DXFN12List.h
+2
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ExtNameParsedFormula.cpp
.../XlsFormat/Logic/Biff_structures/ExtNameParsedFormula.cpp
+1
-3
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.cpp
...e/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.cpp
+4
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.h
...rce/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.h
+2
-3
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.cpp
...e/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.cpp
+43
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.h
...rce/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.h
+21
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11Fmla.cpp
...le2/source/XlsFormat/Logic/Biff_structures/Feat11Fmla.cpp
+66
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11Fmla.h
...File2/source/XlsFormat/Logic/Biff_structures/Feat11Fmla.h
+59
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11WSSListInfo.cpp
...rce/XlsFormat/Logic/Biff_structures/Feat11WSSListInfo.cpp
+104
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11WSSListInfo.h
...ource/XlsFormat/Logic/Biff_structures/Feat11WSSListInfo.h
+80
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11XMap.cpp
...le2/source/XlsFormat/Logic/Biff_structures/Feat11XMap.cpp
+97
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11XMap.h
...File2/source/XlsFormat/Logic/Biff_structures/Feat11XMap.h
+90
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ListParsedFormula.cpp
...rce/XlsFormat/Logic/Biff_structures/ListParsedFormula.cpp
+72
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ListParsedFormula.h
...ource/XlsFormat/Logic/Biff_structures/ListParsedFormula.h
+56
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ObjectParsedFormula.cpp
...e/XlsFormat/Logic/Biff_structures/ObjectParsedFormula.cpp
+1
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ParsedFormula.cpp
.../source/XlsFormat/Logic/Biff_structures/ParsedFormula.cpp
+1
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/TableFeatureType.cpp
...urce/XlsFormat/Logic/Biff_structures/TableFeatureType.cpp
+4
-6
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/TableFeatureType.h
...source/XlsFormat/Logic/Biff_structures/TableFeatureType.h
+2
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.cpp
...iceXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.cpp
+14
-5
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.h
...fficeXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.h
+6
-4
ASCOfficeXlsFile2/source/XlsFormat/Logic/WorksheetSubstream.cpp
...iceXlsFile2/source/XlsFormat/Logic/WorksheetSubstream.cpp
+5
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/XlsElementsType.h
ASCOfficeXlsFile2/source/XlsFormat/Logic/XlsElementsType.h
+6
-0
ASCOfficeXlsFile2/source/linux/XlsFormatLib.pro
ASCOfficeXlsFile2/source/linux/XlsFormatLib.pro
+10
-0
ASCOfficeXlsFile2/source/linux/xlsformatlib_logic.cpp
ASCOfficeXlsFile2/source/linux/xlsformatlib_logic.cpp
+5
-0
ASCOfficeXlsFile2/source/win32/XlsFormat.vcproj
ASCOfficeXlsFile2/source/win32/XlsFormat.vcproj
+40
-0
No files found.
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/Array.cpp
View file @
64f578e5
...
@@ -35,8 +35,7 @@
...
@@ -35,8 +35,7 @@
namespace
XLS
namespace
XLS
{
{
Array
::
Array
(
const
CellRef
&
cell_base_ref_init
)
Array
::
Array
(
const
CellRef
&
cell_base_ref_init
)
:
formula
(
false
,
cell_base_ref_init
)
:
formula
(
false
,
cell_base_ref_init
)
{
{
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/Array.h
View file @
64f578e5
...
@@ -32,8 +32,8 @@
...
@@ -32,8 +32,8 @@
#pragma once
#pragma once
#include "BiffRecord.h"
#include "BiffRecord.h"
#include
<Logic/Biff_structures/CellRangeRef.h>
#include
"../Biff_structures/CellRangeRef.h"
#include
<Logic/Biff_structures/ArrayParsedFormula.h>
#include
"../Biff_structures/ArrayParsedFormula.h"
namespace
XLS
namespace
XLS
{
{
...
@@ -49,7 +49,6 @@ public:
...
@@ -49,7 +49,6 @@ public:
~
Array
();
~
Array
();
BaseObjectPtr
clone
();
BaseObjectPtr
clone
();
void
readFields
(
CFRecord
&
record
);
void
readFields
(
CFRecord
&
record
);
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.cpp
View file @
64f578e5
...
@@ -53,6 +53,8 @@ static inline void trim(std::wstring &s)
...
@@ -53,6 +53,8 @@ static inline void trim(std::wstring &s)
AutoFilter
::
AutoFilter
()
AutoFilter
::
AutoFilter
()
{
{
wTopN
=
wJoin
=
0
;
wTopN
=
wJoin
=
0
;
size
=
-
1
;
bExist
=
false
;
}
}
...
@@ -68,6 +70,15 @@ BaseObjectPtr AutoFilter::clone()
...
@@ -68,6 +70,15 @@ BaseObjectPtr AutoFilter::clone()
void
AutoFilter
::
readFields
(
CFRecord
&
record
)
void
AutoFilter
::
readFields
(
CFRecord
&
record
)
{
{
size_t
pos_record
=
record
.
getRdPtr
();
if
(
size
<
0
)
size
=
record
.
getDataSize
()
-
pos_record
;
if
(
size
>
0
)
{
bExist
=
true
;
}
m_bAutoFilter12
=
false
;
m_bAutoFilter12
=
false
;
unsigned
short
flags
;
unsigned
short
flags
;
...
@@ -119,9 +130,9 @@ void AutoFilter::readFields(CFRecord& record)
...
@@ -119,9 +130,9 @@ void AutoFilter::readFields(CFRecord& record)
trim
(
str2
);
trim
(
str2
);
}
}
if
(
record
.
getRdPtr
()
<
record
.
getDataSize
()
)
if
(
record
.
getRdPtr
()
-
pos_record
<
size
)
{
{
int
sz
=
record
.
getDataSize
()
-
record
.
getRdPtr
(
);
int
sz
=
size
-
(
record
.
getRdPtr
()
-
pos_record
);
char
*
dd
=
new
char
[
sz
];
char
*
dd
=
new
char
[
sz
];
memcpy
(
dd
,
record
.
getCurData
<
char
>
(),
sz
);
memcpy
(
dd
,
record
.
getCurData
<
char
>
(),
sz
);
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.h
View file @
64f578e5
...
@@ -32,13 +32,11 @@
...
@@ -32,13 +32,11 @@
#pragma once
#pragma once
#include "BiffRecord.h"
#include "BiffRecord.h"
#include
<Logic/Biff_structures/AFDOper.h>
#include
"../Biff_structures/AFDOper.h"
namespace
XLS
namespace
XLS
{
{
// Logical representation of AutoFilter record in BIFF8
class
AutoFilter
:
public
BiffRecord
class
AutoFilter
:
public
BiffRecord
{
{
BIFF_RECORD_DEFINE_TYPE_INFO
(
AutoFilter
)
BIFF_RECORD_DEFINE_TYPE_INFO
(
AutoFilter
)
...
@@ -74,6 +72,10 @@ public:
...
@@ -74,6 +72,10 @@ public:
std
::
wstring
str1
;
std
::
wstring
str1
;
std
::
wstring
str2
;
std
::
wstring
str2
;
//----------------------------------------
int
size
;
bool
bExist
;
};
};
}
// namespace XLS
}
// namespace XLS
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/BRAI.h
View file @
64f578e5
...
@@ -33,8 +33,8 @@
...
@@ -33,8 +33,8 @@
#include "BiffRecord.h"
#include "BiffRecord.h"
#include
<Logic/Biff_structures/ChartParsedFormula.h>
#include
"../Biff_structures/ChartParsedFormula.h"
#include
<Logic/Biff_structures/CellRangeRef.h>
#include
"../Biff_structures/CellRangeRef.h"
namespace
XLS
namespace
XLS
{
{
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/BopPop.h
View file @
64f578e5
...
@@ -55,7 +55,7 @@ public:
...
@@ -55,7 +55,7 @@ public:
//-----------------------------
//-----------------------------
unsigned
char
pst
;
unsigned
char
pst
;
bool
fAutoSplit
;
unsigned
char
fAutoSplit
;
_UINT16
split
;
_UINT16
split
;
_INT16
iSplitPos
;
_INT16
iSplitPos
;
_INT16
pcSplitPercent
;
_INT16
pcSplitPercent
;
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/Feature12.cpp
View file @
64f578e5
...
@@ -51,6 +51,7 @@ BaseObjectPtr Feature12::clone()
...
@@ -51,6 +51,7 @@ BaseObjectPtr Feature12::clone()
void
Feature12
::
readFields
(
CFRecord
&
record
)
void
Feature12
::
readFields
(
CFRecord
&
record
)
{
{
feature11
.
readFields
(
record
);
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/Feature12.h
View file @
64f578e5
...
@@ -32,6 +32,8 @@
...
@@ -32,6 +32,8 @@
#pragma once
#pragma once
#include "BiffRecordContinued.h"
#include "BiffRecordContinued.h"
#include "Feature11.h"
namespace
XLS
namespace
XLS
{
{
...
@@ -50,6 +52,7 @@ public:
...
@@ -50,6 +52,7 @@ public:
static
const
ElementType
type
=
typeFeature12
;
static
const
ElementType
type
=
typeFeature12
;
Feature11
feature11
;
};
};
}
// namespace XLS
}
// namespace XLS
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ArrayParsedFormula.h
View file @
64f578e5
...
@@ -40,7 +40,7 @@ class CFRecord;
...
@@ -40,7 +40,7 @@ class CFRecord;
class
ArrayParsedFormula
:
public
ParsedFormula
class
ArrayParsedFormula
:
public
ParsedFormula
{
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
ArrayParsedFormula
)
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
ArrayParsedFormula
)
public:
public:
ArrayParsedFormula
(
const
bool
is_part_of_a_revision
,
const
CellRef
&
cell_base_ref
);
ArrayParsedFormula
(
const
bool
is_part_of_a_revision
,
const
CellRef
&
cell_base_ref
);
BiffStructurePtr
clone
();
BiffStructurePtr
clone
();
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/CachedDiskHeader.cpp
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "CachedDiskHeader.h"
#include <Binary/CFRecord.h>
namespace
XLS
{
BiffStructurePtr
CachedDiskHeader
::
clone
()
{
return
BiffStructurePtr
(
new
CachedDiskHeader
(
*
this
));
}
void
CachedDiskHeader
::
load
(
CFRecord
&
record
)
{
record
>>
cbdxfHdrDisk
;
if
(
cbdxfHdrDisk
>
0
)
{
rgHdrDisk
.
size
=
cbdxfHdrDisk
;
rgHdrDisk
.
load
(
record
);
}
record
>>
strStyleName
;
}
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/CachedDiskHeader.h
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffString.h"
#include "DXFN12List.h"
namespace
XLS
{
class
CFRecord
;
class
CachedDiskHeader
:
public
BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
CachedDiskHeader
)
public:
BiffStructurePtr
clone
();
static
const
ElementType
type
=
typeCachedDiskHeader
;
virtual
void
load
(
CFRecord
&
record
);
_UINT32
cbdxfHdrDisk
;
DXFN12List
rgHdrDisk
;
XLUnicodeString
strStyleName
;
};
typedef
boost
::
shared_ptr
<
CachedDiskHeader
>
CachedDiskHeaderPtr
;
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFN12List.h
View file @
64f578e5
...
@@ -52,11 +52,11 @@ public:
...
@@ -52,11 +52,11 @@ public:
virtual
void
load
(
CFRecord
&
record
);
virtual
void
load
(
CFRecord
&
record
);
int
size
;
DXFN
dxfn
;
DXFN
dxfn
;
XFExtNoFRT
xfext
;
XFExtNoFRT
xfext
;
//-----------------------------------------------------------------
//-----------------------------------------------------------------
bool
bExist
;
bool
bExist
;
int
size
;
};
};
typedef
boost
::
shared_ptr
<
DXFN12List
>
DXFN12ListPtr
;
typedef
boost
::
shared_ptr
<
DXFN12List
>
DXFN12ListPtr
;
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ExtNameParsedFormula.cpp
View file @
64f578e5
...
@@ -37,14 +37,12 @@
...
@@ -37,14 +37,12 @@
#include "ExtPtgRefErr3D.h"
#include "ExtPtgRefErr3D.h"
#include "ExtPtgAreaErr3D.h"
#include "ExtPtgAreaErr3D.h"
#include "ExtPtgErr.h"
#include "ExtPtgErr.h"
//#include <Exception/UnexpectedProgramPath.h>
namespace
XLS
namespace
XLS
{
{
ExtNameParsedFormula
::
ExtNameParsedFormula
()
ExtNameParsedFormula
::
ExtNameParsedFormula
()
:
ParsedFormula
(
CellRef
())
:
ParsedFormula
(
CellRef
())
{
{
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.cpp
View file @
64f578e5
...
@@ -47,9 +47,11 @@ void Feat11FdaAutoFilter::load(CFRecord& record)
...
@@ -47,9 +47,11 @@ void Feat11FdaAutoFilter::load(CFRecord& record)
record
>>
cbAutoFilter
;
record
>>
cbAutoFilter
;
record
.
skipNunBytes
(
2
);
record
.
skipNunBytes
(
2
);
_UINT32
size
=
cbAutoFilter
;
if
(
cbAutoFilter
>
0
&&
cbAutoFilter
<
2080
)
if
(
cbAutoFilter
)
{
recAutoFilter
.
size
=
cbAutoFilter
;
recAutoFilter
.
readFields
(
record
);
recAutoFilter
.
readFields
(
record
);
}
}
}
}
// namespace XLS
}
// namespace XLS
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.h
View file @
64f578e5
...
@@ -32,9 +32,9 @@
...
@@ -32,9 +32,9 @@
#pragma once
#pragma once
#include "BiffStructure.h"
#include "BiffStructure.h"
#include <Logic/Biff_structures/BiffString.h>
#include <Logic/Biff_records/AutoFilter.h>
#include "BiffString.h"
#include "../Biff_records/AutoFilter.h"
namespace
XLS
namespace
XLS
{
{
...
@@ -51,7 +51,6 @@ public:
...
@@ -51,7 +51,6 @@ public:
virtual
void
load
(
CFRecord
&
record
);
virtual
void
load
(
CFRecord
&
record
);
_UINT32
cbAutoFilter
;
_UINT32
cbAutoFilter
;
AutoFilter
recAutoFilter
;
AutoFilter
recAutoFilter
;
};
};
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.cpp
View file @
64f578e5
...
@@ -30,12 +30,15 @@
...
@@ -30,12 +30,15 @@
*
*
*/
*/
#include "Feat11FieldDataItem.h"
#include <Binary/CFRecord.h>
#include <Binary/CFRecord.h>
#include "Feat11FieldDataItem.h"
#include "CellRangeRef.h"
namespace
XLS
namespace
XLS
{
{
Feat11FieldDataItem
::
Feat11FieldDataItem
(
_UINT32
_lt
,
bool
bDskHeaderCache
)
:
lt
(
_lt
),
bDiskHdrCache
(
bDskHeaderCache
)
{
}
BiffStructurePtr
Feat11FieldDataItem
::
clone
()
BiffStructurePtr
Feat11FieldDataItem
::
clone
()
{
{
return
BiffStructurePtr
(
new
Feat11FieldDataItem
(
*
this
));
return
BiffStructurePtr
(
new
Feat11FieldDataItem
(
*
this
));
...
@@ -83,7 +86,45 @@ void Feat11FieldDataItem::load(CFRecord& record)
...
@@ -83,7 +86,45 @@ void Feat11FieldDataItem::load(CFRecord& record)
}
}
if
(
fAutoFilter
)
if
(
fAutoFilter
)
{
record
>>
AutoFilter
;
record
>>
AutoFilter
;
}
if
(
fLoadXmapi
)
{
record
>>
AutoFilter
;
}
if
(
fLoadFmla
)
{
fmla
.
load
(
record
);
}
if
(
fLoadTotalFmla
)
{
if
(
fLoadTotalArray
)
{
totalArrayFmla
.
load
(
record
);
}
else
{
totalFmla
.
load
(
record
);
}
}
record
>>
strTotal
;
if
(
lt
==
0x00000001
)
{
wssInfo
.
lfdt
=
lfdt
;
record
>>
wssInfo
;
}
if
(
lt
==
0x00000003
)
{
record
>>
qsif
;
}
if
(
bDiskHdrCache
)
{
record
>>
dskHdrCache
;
}
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.h
View file @
64f578e5
...
@@ -33,7 +33,13 @@
...
@@ -33,7 +33,13 @@
#include "BiffString.h"
#include "BiffString.h"
#include "DXFN12List.h"
#include "DXFN12List.h"
#include "ListParsedFormula.h"
#include "Feat11FdaAutoFilter.h"
#include "Feat11FdaAutoFilter.h"
#include "Feat11Fmla.h"
#include "Feat11XMap.h"
#include "Feat11WSSListInfo.h"
#include "CachedDiskHeader.h"
namespace
XLS
namespace
XLS
{
{
...
@@ -44,9 +50,10 @@ class Feat11FieldDataItem : public BiffStructure
...
@@ -44,9 +50,10 @@ class Feat11FieldDataItem : public BiffStructure
{
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
Feat11FieldDataItem
)
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
Feat11FieldDataItem
)
public:
public:
Feat11FieldDataItem
(
_UINT32
lt
,
bool
bDskHeaderCache
);
BiffStructurePtr
clone
();
BiffStructurePtr
clone
();
static
const
ElementType
type
=
typeFeat11FieldDataItem
;
static
const
ElementType
type
=
typeFeat11FieldDataItem
;
virtual
void
load
(
CFRecord
&
record
);
virtual
void
load
(
CFRecord
&
record
);
...
@@ -77,6 +84,19 @@ public:
...
@@ -77,6 +84,19 @@ public:
DXFN12List
dxfFmtInsertRow
;
DXFN12List
dxfFmtInsertRow
;
Feat11FdaAutoFilter
AutoFilter
;
Feat11FdaAutoFilter
AutoFilter
;
Feat11XMap
rgXmap
;
Feat11Fmla
fmla
;
ListParsedFormula
totalFmla
;
ListParsedArrayFormula
totalArrayFmla
;
XLUnicodeString
strTotal
;
Feat11WSSListInfo
wssInfo
;
_UINT32
qsif
;
CachedDiskHeader
dskHdrCache
;
//------------------------------------------------
_UINT32
lt
;
bool
bDiskHdrCache
;
};
};
typedef
boost
::
shared_ptr
<
Feat11FieldDataItem
>
Feat11FieldDataItemPtr
;
typedef
boost
::
shared_ptr
<
Feat11FieldDataItem
>
Feat11FieldDataItemPtr
;
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11Fmla.cpp
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include <Binary/CFRecord.h>
#include "Feat11Fmla.h"
#include "CellRangeRef.h"
namespace
XLS
{
Feat11Fmla
::
Feat11Fmla
()
:
bFmlaExist
(
false
)
{
}
BiffStructurePtr
Feat11Fmla
::
clone
()
{
return
BiffStructurePtr
(
new
Feat11Fmla
(
*
this
));
}
void
Feat11Fmla
::
load
(
CFRecord
&
record
)
{
unsigned
short
cbFmla
;
record
>>
cbFmla
;
if
(
0
!=
cbFmla
)
{
bFmlaExist
=
true
;
fmla
.
load
(
record
);
}
}
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11Fmla.h
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffStructure.h"
#include "ObjectParsedFormula.h"
namespace
XLS
{
class
CFRecord
;
class
Feat11Fmla
:
public
BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
Feat11Fmla
)
public:
Feat11Fmla
();
BiffStructurePtr
clone
();
static
const
ElementType
type
=
typeFeat11Fmla
;
virtual
void
load
(
CFRecord
&
record
);
ObjectParsedFormula
fmla
;
bool
bFmlaExist
;
};
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11WSSListInfo.cpp
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "Feat11WSSListInfo.h"
#include "BiffString.h"
#include "Xnum.h"
#include <Binary/CFRecord.h>
namespace
XLS
{
Feat11WSSListInfo
::
Feat11WSSListInfo
()
{
}
BiffStructurePtr
Feat11WSSListInfo
::
clone
()
{
return
BiffStructurePtr
(
new
Feat11WSSListInfo
(
*
this
));
}
void
Feat11WSSListInfo
::
load
(
CFRecord
&
record
)
{
_UINT32
flags1
,
reserved
;
_UINT16
unused2
;
unsigned
char
flags2
;
record
>>
LCID
>>
cDec
>>
flags1
>>
flags2
>>
bDefaultType
>>
unused2
;
switch
(
lfdt
)
{
case
0x00000002
:
//Number
case
0x00000006
:
//Currency
rgbDV
=
BiffStructurePtr
(
new
Xnum
);
break
;
case
0x00000003
:
//Boolean
rgbDV
=
BiffStructurePtr
(
new
BIFF_DWORD
);
break
;
case
0x00000004
:
rgbDV
=
BiffStructurePtr
(
new
DateAsNum
);
break
;
case
0x00000005
:
//Invalid
case
0x00000007
:
//Invalid
case
0x00000009
:
//Invalid
case
0x0000000a
:
//Invalid
break
;
case
0x00000001
:
//Short Text
case
0x00000008
:
//Choice
case
0x0000000b
:
//Multi-choice
rgbDV
=
BiffStructurePtr
(
new
XLUnicodeString
);
break
;
}
if
(
rgbDV
)
rgbDV
->
load
(
record
);
record
>>
strFormula
;
record
>>
reserved
;
fPercent
=
GETBIT
(
flags1
,
0
);
fDecSet
=
GETBIT
(
flags1
,
1
);
fDateOnly
=
GETBIT
(
flags1
,
2
);
fReadingOrder
=
GETBITS
(
flags1
,
3
,
4
);
fRichText
=
GETBIT
(
flags1
,
5
);
fUnkRTFormatting
=
GETBIT
(
flags1
,
6
);
fAlertUnkRTFormatting
=
GETBIT
(
flags1
,
7
);
fReadOnly
=
GETBIT
(
flags2
,
0
);
fRequired
=
GETBIT
(
flags2
,
1
);
fMinSet
=
GETBIT
(
flags2
,
2
);
fMaxSet
=
GETBIT
(
flags2
,
3
);
fDefaultSet
=
GETBIT
(
flags2
,
4
);
fDefaultDateToday
=
GETBIT
(
flags2
,
5
);
fLoadFormula
=
GETBIT
(
flags2
,
6
);
fAllowFillIn
=
GETBIT
(
flags2
,
6
);
}
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11WSSListInfo.h
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffString.h"
#include "ParsedFormula.h"
namespace
XLS
{
class
CFRecord
;
class
Feat11WSSListInfo
:
public
BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
Feat11WSSListInfo
)
public:
Feat11WSSListInfo
();
BiffStructurePtr
clone
();
static
const
ElementType
type
=
typeFeat11WSSListInfo
;
virtual
void
load
(
CFRecord
&
record
);
_UINT32
LCID
;
_UINT32
cDec
;
bool
fPercent
;
bool
fDecSet
;
bool
fDateOnly
;
unsigned
char
fReadingOrder
;
bool
fRichText
;
bool
fUnkRTFormatting
;
bool
fAlertUnkRTFormatting
;
bool
fReadOnly
;
bool
fRequired
;
bool
fMinSet
;
bool
fMaxSet
;
bool
fDefaultSet
;
bool
fDefaultDateToday
;
bool
fLoadFormula
;
bool
fAllowFillIn
;
unsigned
char
bDefaultType
;
BiffStructurePtr
rgbDV
;
XLUnicodeString
strFormula
;
//------------------------------------------------------
short
lfdt
;
};
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11XMap.cpp
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "Feat11XMap.h"
#include <Binary/CFRecord.h>
namespace
XLS
{
Feat11XMapEntry2
::
Feat11XMapEntry2
()
{
}
BiffStructurePtr
Feat11XMapEntry2
::
clone
()
{
return
BiffStructurePtr
(
new
Feat11XMapEntry2
(
*
this
));
}
void
Feat11XMapEntry2
::
load
(
CFRecord
&
record
)
{
record
>>
dwMapId
>>
rgbXPath
;
}
//----------------------------------------------------------------------
Feat11XMapEntry
::
Feat11XMapEntry
()
{
}
BiffStructurePtr
Feat11XMapEntry
::
clone
()
{
return
BiffStructurePtr
(
new
Feat11XMapEntry
(
*
this
));
}
void
Feat11XMapEntry
::
load
(
CFRecord
&
record
)
{
_UINT32
flags
;
record
>>
flags
>>
entry
;
fLoadXMap
=
GETBIT
(
flags
,
1
);
fCanBeSingle
=
GETBIT
(
flags
,
2
);
}
//----------------------------------------------------------------------
Feat11XMap
::
Feat11XMap
()
{
}
BiffStructurePtr
Feat11XMap
::
clone
()
{
return
BiffStructurePtr
(
new
Feat11XMap
(
*
this
));
}
void
Feat11XMap
::
load
(
CFRecord
&
record
)
{
_UINT16
cbFmla
;
record
>>
cbFmla
;
for
(
_UINT16
i
=
0
;
i
<
cbFmla
;
i
++
)
{
Feat11XMapEntry
entry
;
entry
.
load
(
record
);
rgXmap
.
push_back
(
entry
);
}
}
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11XMap.h
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "BiffString.h"
namespace
XLS
{
class
CFRecord
;
class
Feat11XMapEntry2
:
public
BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
Feat11XMapEntry2
)
public:
Feat11XMapEntry2
();
BiffStructurePtr
clone
();
static
const
ElementType
type
=
typeFeat11XMapEntry2
;
virtual
void
load
(
CFRecord
&
record
);
_UINT32
dwMapId
;
XLUnicodeString
rgbXPath
;
};
class
Feat11XMapEntry
:
public
BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
Feat11XMapEntry
)
public:
Feat11XMapEntry
();
BiffStructurePtr
clone
();
static
const
ElementType
type
=
typeFeat11XMapEntry
;
virtual
void
load
(
CFRecord
&
record
);
bool
fLoadXMap
;
bool
fCanBeSingle
;
Feat11XMapEntry2
entry
;
};
class
Feat11XMap
:
public
BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
Feat11XMap
)
public:
Feat11XMap
();
BiffStructurePtr
clone
();
static
const
ElementType
type
=
typeFeat11XMap
;
virtual
void
load
(
CFRecord
&
record
);
std
::
vector
<
Feat11XMapEntry
>
rgXmap
;
};
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ListParsedFormula.cpp
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "ListParsedFormula.h"
#include <Binary/CFRecord.h>
namespace
XLS
{
ListParsedFormula
::
ListParsedFormula
()
:
ParsedFormula
(
CellRef
())
{
}
BiffStructurePtr
ListParsedFormula
::
clone
()
{
return
BiffStructurePtr
(
new
ListParsedFormula
(
*
this
));
}
void
ListParsedFormula
::
load
(
CFRecord
&
record
)
{
unsigned
short
cce
;
record
>>
cce
;
record
.
skipNunBytes
(
2
);
// unused
rgce
.
load
(
record
,
cce
);
}
//-------------------------------------------------------------------------------
ListParsedArrayFormula
::
ListParsedArrayFormula
()
:
ArrayParsedFormula
(
false
,
CellRef
())
{
}
BiffStructurePtr
ListParsedArrayFormula
::
clone
()
{
return
BiffStructurePtr
(
new
ListParsedArrayFormula
(
*
this
));
}
void
ListParsedArrayFormula
::
load
(
CFRecord
&
record
)
{
ArrayParsedFormula
::
load
(
record
);
}
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ListParsedFormula.h
0 → 100644
View file @
64f578e5
/*
* (c) Copyright Ascensio System SIA 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ArrayParsedFormula.h"
namespace
XLS
{
class
ListParsedFormula
:
public
ParsedFormula
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
ListParsedFormula
)
public:
ListParsedFormula
();
BiffStructurePtr
clone
();
virtual
void
load
(
CFRecord
&
record
);
};
class
ListParsedArrayFormula
:
public
ArrayParsedFormula
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
ListParsedFormula
)
public:
ListParsedArrayFormula
();
BiffStructurePtr
clone
();
virtual
void
load
(
CFRecord
&
record
);
};
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ObjectParsedFormula.cpp
View file @
64f578e5
...
@@ -37,8 +37,7 @@ namespace XLS
...
@@ -37,8 +37,7 @@ namespace XLS
{
{
ObjectParsedFormula
::
ObjectParsedFormula
()
ObjectParsedFormula
::
ObjectParsedFormula
()
:
ParsedFormula
(
CellRef
())
:
ParsedFormula
(
CellRef
())
{
{
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ParsedFormula.cpp
View file @
64f578e5
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
#include <Binary/CFRecord.h>
#include <Binary/CFRecord.h>
#include "StringPtgParser.h"
#include "StringPtgParser.h"
#include <boost/algorithm/string.hpp>
//
#include <boost/algorithm/string.hpp>
namespace
XLS
namespace
XLS
{
{
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/TableFeatureType.cpp
View file @
64f578e5
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
#include "TableFeatureType.h"
#include "TableFeatureType.h"
#include <Binary/CFRecord.h>
#include <Binary/CFRecord.h>
#include "
../Biff_structures/
Feat11FieldDataItem.h"
#include "Feat11FieldDataItem.h"
namespace
XLS
namespace
XLS
{
{
...
@@ -117,11 +117,9 @@ void TableFeatureType::load(CFRecord& record)
...
@@ -117,11 +117,9 @@ void TableFeatureType::load(CFRecord& record)
{
{
if
(
record
.
getRdPtr
()
>=
record
.
getDataSize
())
if
(
record
.
getRdPtr
()
>=
record
.
getDataSize
())
return
;
return
;
BiffStructurePtr
item
(
new
Feat11FieldDataItem
);
arFieldData
.
push_back
(
BiffStructurePtr
(
new
Feat11FieldDataItem
(
lt
,
(
crwHeader
==
0x0000
&&
fSingleCell
))));
item
->
load
(
record
);
arFieldData
.
back
()
->
load
(
record
);
arFieldData
.
push_back
(
item
);
}
}
if
(
fLoadPldwIdDeleted
)
if
(
fLoadPldwIdDeleted
)
{
{
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/TableFeatureType.h
View file @
64f578e5
...
@@ -32,7 +32,8 @@
...
@@ -32,7 +32,8 @@
#pragma once
#pragma once
#include "../Biff_records/BiffRecord.h"
#include "../Biff_records/BiffRecord.h"
#include "../Biff_structures/BiffString.h"
#include "Feat11FieldDataItem.h"
namespace
XLS
namespace
XLS
{
{
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.cpp
View file @
64f578e5
...
@@ -34,7 +34,6 @@
...
@@ -34,7 +34,6 @@
#include "SORTDATA12.h"
#include "SORTDATA12.h"
#include "../Biff_records/FeatHdr11.h"
#include "../Biff_records/FeatHdr11.h"
#include "../Biff_records/Feature11.h"
#include "../Biff_records/Feature12.h"
#include "../Biff_records/Feature12.h"
#include "../Biff_records/ContinueFrt11.h"
#include "../Biff_records/ContinueFrt11.h"
#include "../Biff_records/List12.h"
#include "../Biff_records/List12.h"
...
@@ -128,7 +127,14 @@ const bool FEAT11::loadContent(BinProcessor& proc)
...
@@ -128,7 +127,14 @@ const bool FEAT11::loadContent(BinProcessor& proc)
}
break
;
}
break
;
case
typeList12
:
case
typeList12
:
{
{
m_arFEAT
.
back
().
m_arList12
.
push_back
(
elements_
.
front
());
if
(
m_arFEAT
.
back
().
m_AutoFilter12
)
{
m_arFEAT
.
back
().
m_arList12_2
.
push_back
(
elements_
.
front
());
}
else
{
m_arFEAT
.
back
().
m_arList12
.
push_back
(
elements_
.
front
());
}
}
break
;
}
break
;
case
typeAutoFilter12
:
case
typeAutoFilter12
:
{
{
...
@@ -150,6 +156,11 @@ int FEAT11::serialize(std::wostream & strm, size_t index)
...
@@ -150,6 +156,11 @@ int FEAT11::serialize(std::wostream & strm, size_t index)
Feature11
*
feature11
=
dynamic_cast
<
Feature11
*>
(
m_arFEAT
[
index
].
m_Feature
.
get
());
Feature11
*
feature11
=
dynamic_cast
<
Feature11
*>
(
m_arFEAT
[
index
].
m_Feature
.
get
());
Feature12
*
feature12
=
dynamic_cast
<
Feature12
*>
(
m_arFEAT
[
index
].
m_Feature
.
get
());
Feature12
*
feature12
=
dynamic_cast
<
Feature12
*>
(
m_arFEAT
[
index
].
m_Feature
.
get
());
if
(
feature12
&&
!
feature11
)
{
feature11
=
&
feature12
->
feature11
;
}
List12BlockLevel
*
block_level
=
NULL
;
List12BlockLevel
*
block_level
=
NULL
;
List12TableStyleClientInfo
*
table_style
=
NULL
;
List12TableStyleClientInfo
*
table_style
=
NULL
;
...
@@ -221,9 +232,7 @@ int FEAT11::serialize(std::wostream & strm, size_t index)
...
@@ -221,9 +232,7 @@ int FEAT11::serialize(std::wostream & strm, size_t index)
}
}
}
}
}
}
else
if
(
feature12
)
{
}
if
(
table_style
)
if
(
table_style
)
{
{
CP_XML_NODE
(
L"tableStyleInfo"
)
CP_XML_NODE
(
L"tableStyleInfo"
)
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.h
View file @
64f578e5
...
@@ -51,17 +51,19 @@ public:
...
@@ -51,17 +51,19 @@ public:
static
const
ElementType
type
=
typeFEAT11
;
static
const
ElementType
type
=
typeFEAT11
;
BaseObjectPtr
m_FeatHdr11
;
struct
_data
struct
_data
{
{
BaseObjectPtr
m_Feature
;
//11 or 12
BaseObjectPtr
m_Feature
;
//11 or 12
BaseObjectPtr
m_AutoFilter12
;
std
::
vector
<
BaseObjectPtr
>
m_arList12
;
std
::
vector
<
BaseObjectPtr
>
m_arList12
;
BaseObjectPtr
m_AutoFilter12
;
std
::
vector
<
BaseObjectPtr
>
m_arList12_2
;
BaseObjectPtr
m_SORTDATA12
;
BaseObjectPtr
m_SORTDATA12
;
};
};
std
::
vector
<
_data
>
m_arFEAT
;
BaseObjectPtr
m_FeatHdr11
;
std
::
vector
<
_data
>
m_arFEAT
;
};
};
}
// namespace XLS
}
// namespace XLS
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/WorksheetSubstream.cpp
View file @
64f578e5
...
@@ -51,6 +51,7 @@
...
@@ -51,6 +51,7 @@
#include "Biff_records/BOF.h"
#include "Biff_records/BOF.h"
#include "Biff_records/DefaultRowHeight.h"
#include "Biff_records/DefaultRowHeight.h"
#include "Biff_records/Label.h"
#include "Biff_records/Label.h"
#include "Biff_records/List12.h"
#include "Biff_unions/BACKGROUND.h"
#include "Biff_unions/BACKGROUND.h"
#include "Biff_unions/BIGNAME.h"
#include "Biff_unions/BIGNAME.h"
...
@@ -440,6 +441,10 @@ const bool WorksheetSubstream::loadContent(BinProcessor& proc)
...
@@ -440,6 +441,10 @@ const bool WorksheetSubstream::loadContent(BinProcessor& proc)
count
--
;
count
--
;
}
}
}
break
;
}
break
;
case
rt_List12
:
//LCA BI - Financial Report Usage2010.xls ??
{
count
=
proc
.
repeated
<
List12
>
(
0
,
0
);
}
break
;
case
rt_FeatHdr11
:
case
rt_FeatHdr11
:
{
{
count
=
proc
.
repeated
<
FEAT11
>
(
0
,
0
);
count
=
proc
.
repeated
<
FEAT11
>
(
0
,
0
);
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/XlsElementsType.h
View file @
64f578e5
...
@@ -557,6 +557,7 @@ enum ElementType
...
@@ -557,6 +557,7 @@ enum ElementType
typeBookExt_Conditional11
,
typeBookExt_Conditional11
,
typeBookExt_Conditional12
,
typeBookExt_Conditional12
,
typeBuiltInStyle
,
typeBuiltInStyle
,
typeCachedDiskHeader
,
typeCell
,
typeCell
,
typeCellOffsetResender
,
typeCellOffsetResender
,
typeCellRangeRef
,
typeCellRangeRef
,
...
@@ -596,6 +597,11 @@ enum ElementType
...
@@ -596,6 +597,11 @@ enum ElementType
typeFeat11RgSharepointIdDel
,
typeFeat11RgSharepointIdDel
,
typeFeat11RgSharepointIdChange
,
typeFeat11RgSharepointIdChange
,
typeFeat11RgInvalidCells
,
typeFeat11RgInvalidCells
,
typeFeat11XMapEntry2
,
typeFeat11XMapEntry
,
typeFeat11XMap
,
typeFeat11Fmla
,
typeFeat11WSSListInfo
,
typeFeatFormulaErr2
,
typeFeatFormulaErr2
,
typeFeatProtection
,
typeFeatProtection
,
typeFeatSmartTag
,
typeFeatSmartTag
,
...
...
ASCOfficeXlsFile2/source/linux/XlsFormatLib.pro
View file @
64f578e5
...
@@ -642,6 +642,11 @@ SOURCES += \
...
@@ -642,6 +642,11 @@ SOURCES += \
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
OfficeArtSplitMenuColorContainer
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
OfficeArtSplitMenuColorContainer
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
OfficeArtTertiaryFOPT
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
OfficeArtTertiaryFOPT
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
SimpleOfficeArtContainers
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
SimpleOfficeArtContainers
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ListParsedFormula
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
CachedDiskHeader
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Feat11Fmla
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Feat11WSSListInfo
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Feat11XMap
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_unions
/
AI
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_unions
/
AI
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_unions
/
ATTACHEDLABEL_bu
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_unions
/
ATTACHEDLABEL_bu
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_unions
/
AUTOFILTER_bu
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_unions
/
AUTOFILTER_bu
.
cpp
\
...
@@ -1425,6 +1430,11 @@ HEADERS += \
...
@@ -1425,6 +1430,11 @@ HEADERS += \
..
/
XlsFormat
/
Logic
/
Biff_structures
/
TxtWf
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
TxtWf
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Xnum
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Xnum
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
PBT
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
PBT
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ListParsedFormula
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
CachedDiskHeader
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Feat11Fmla
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Feat11WSSListInfo
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Feat11XMap
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
FontInfo
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
FontInfo
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
IMsoArray
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
IMsoArray
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
MSOCR
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ODRAW
/
MSOCR
.
h
\
...
...
ASCOfficeXlsFile2/source/linux/xlsformatlib_logic.cpp
View file @
64f578e5
...
@@ -619,6 +619,11 @@
...
@@ -619,6 +619,11 @@
#include "../XlsFormat/Logic/Biff_structures/AFDOperBoolErr.cpp"
#include "../XlsFormat/Logic/Biff_structures/AFDOperBoolErr.cpp"
#include "../XlsFormat/Logic/Biff_structures/AFDOperXNum.cpp"
#include "../XlsFormat/Logic/Biff_structures/AFDOperXNum.cpp"
#include "../XlsFormat/Logic/Biff_structures/PivotParsedFormula.cpp"
#include "../XlsFormat/Logic/Biff_structures/PivotParsedFormula.cpp"
#include "../XlsFormat/Logic/Biff_structures/ListParsedFormula.cpp"
#include "../XlsFormat/Logic/Biff_structures/CachedDiskHeader.cpp"
#include "../XlsFormat/Logic/Biff_structures/Feat11Fmla.cpp"
#include "../XlsFormat/Logic/Biff_structures/Feat11WSSListInfo.cpp"
#include "../XlsFormat/Logic/Biff_structures/Feat11XMap.cpp"
#include "../XlsFormat/Logic/Biff_unions/AI.cpp"
#include "../XlsFormat/Logic/Biff_unions/AI.cpp"
#include "../XlsFormat/Logic/Biff_unions/ATTACHEDLABEL_bu.cpp"
#include "../XlsFormat/Logic/Biff_unions/ATTACHEDLABEL_bu.cpp"
...
...
ASCOfficeXlsFile2/source/win32/XlsFormat.vcproj
View file @
64f578e5
...
@@ -3253,6 +3253,14 @@
...
@@ -3253,6 +3253,14 @@
RelativePath=
"..\XlsFormat\Logic\Biff_structures\BuiltInStyle.h"
RelativePath=
"..\XlsFormat\Logic\Biff_structures\BuiltInStyle.h"
>
>
</File>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\CachedDiskHeader.cpp"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\CachedDiskHeader.h"
>
</File>
<File
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Cell.cpp"
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Cell.cpp"
>
>
...
@@ -3765,6 +3773,30 @@
...
@@ -3765,6 +3773,30 @@
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Feat11FieldDataItem.h"
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Feat11FieldDataItem.h"
>
>
</File>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Feat11Fmla.cpp"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Feat11Fmla.h"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Feat11WSSListInfo.cpp"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Feat11WSSListInfo.h"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Feat11XMap.cpp"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\Feat11XMap.h"
>
</File>
<File
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\FeatFormulaErr2.cpp"
RelativePath=
"..\XlsFormat\Logic\Biff_structures\FeatFormulaErr2.cpp"
>
>
...
@@ -4101,6 +4133,14 @@
...
@@ -4101,6 +4133,14 @@
RelativePath=
"..\XlsFormat\Logic\Biff_structures\List12TableStyleClientInfo.h"
RelativePath=
"..\XlsFormat\Logic\Biff_structures\List12TableStyleClientInfo.h"
>
>
</File>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\ListParsedFormula.cpp"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\ListParsedFormula.h"
>
</File>
<File
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\LongRGB.cpp"
RelativePath=
"..\XlsFormat\Logic\Biff_structures\LongRGB.cpp"
>
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment