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
f72d6dfe
Commit
f72d6dfe
authored
Nov 30, 2017
by
ElenaSubbotina
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
XlsFormat-...
parent
23029a6a
Changes
34
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
351 additions
and
135 deletions
+351
-135
ASCOfficeXlsFile2/source/Common/simple_xml_writer.h
ASCOfficeXlsFile2/source/Common/simple_xml_writer.h
+11
-3
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.cpp
...sFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.cpp
+2
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.h
...XlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.h
+1
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter12.cpp
...ile2/source/XlsFormat/Logic/Biff_records/AutoFilter12.cpp
+26
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter12.h
...sFile2/source/XlsFormat/Logic/Biff_records/AutoFilter12.h
+4
-4
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/CF.h
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/CF.h
+3
-5
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/CF12.h
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/CF12.h
+6
-7
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/AF12CellIcon.cpp
...2/source/XlsFormat/Logic/Biff_structures/AF12CellIcon.cpp
+56
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/AF12CellIcon.h
...le2/source/XlsFormat/Logic/Biff_structures/AF12CellIcon.h
+58
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/AF12Criteria.h
...le2/source/XlsFormat/Logic/Biff_structures/AF12Criteria.h
+2
-4
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/AFDOper.h
...XlsFile2/source/XlsFormat/Logic/Biff_structures/AFDOper.h
+1
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFN12List.cpp
...le2/source/XlsFormat/Logic/Biff_structures/DXFN12List.cpp
+3
-3
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFN12List.h
...File2/source/XlsFormat/Logic/Biff_structures/DXFN12List.h
+6
-5
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFNum.cpp
...lsFile2/source/XlsFormat/Logic/Biff_structures/DXFNum.cpp
+2
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFNumUsr.cpp
...ile2/source/XlsFormat/Logic/Biff_structures/DXFNumUsr.cpp
+4
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFNumUsr.h
...sFile2/source/XlsFormat/Logic/Biff_structures/DXFNumUsr.h
+0
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.cpp
...e/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.cpp
+6
-0
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.cpp
...e/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.cpp
+7
-8
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ODRAW/OfficeArtFOPTE.cpp
.../XlsFormat/Logic/Biff_structures/ODRAW/OfficeArtFOPTE.cpp
+0
-2
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/AUTOFILTER_bu.cpp
...ile2/source/XlsFormat/Logic/Biff_unions/AUTOFILTER_bu.cpp
+7
-8
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/CONDFMTS.cpp
...eXlsFile2/source/XlsFormat/Logic/Biff_unions/CONDFMTS.cpp
+36
-18
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/CONDFMTS.h
...iceXlsFile2/source/XlsFormat/Logic/Biff_unions/CONDFMTS.h
+7
-3
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.cpp
...iceXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.cpp
+70
-20
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/PAGESETUP.cpp
...XlsFile2/source/XlsFormat/Logic/Biff_unions/PAGESETUP.cpp
+3
-3
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/TABLESTYLES_bu.cpp
...le2/source/XlsFormat/Logic/Biff_unions/TABLESTYLES_bu.cpp
+10
-10
ASCOfficeXlsFile2/source/XlsFormat/Logic/GlobalWorkbookInfo.cpp
...iceXlsFile2/source/XlsFormat/Logic/GlobalWorkbookInfo.cpp
+0
-1
ASCOfficeXlsFile2/source/XlsFormat/Logic/XlsElementsType.h
ASCOfficeXlsFile2/source/XlsFormat/Logic/XlsElementsType.h
+1
-0
ASCOfficeXlsFile2/source/XlsXlsxConverter/xlsx_conversion_context.cpp
...File2/source/XlsXlsxConverter/xlsx_conversion_context.cpp
+6
-5
ASCOfficeXlsFile2/source/XlsXlsxConverter/xlsx_conversion_context.h
...lsFile2/source/XlsXlsxConverter/xlsx_conversion_context.h
+2
-0
ASCOfficeXlsFile2/source/XlsXlsxConverter/xlsx_sheet_context.cpp
...ceXlsFile2/source/XlsXlsxConverter/xlsx_sheet_context.cpp
+0
-15
ASCOfficeXlsFile2/source/XlsXlsxConverter/xlsx_sheet_context.h
...ficeXlsFile2/source/XlsXlsxConverter/xlsx_sheet_context.h
+0
-1
ASCOfficeXlsFile2/source/linux/XlsFormatLib.pro
ASCOfficeXlsFile2/source/linux/XlsFormatLib.pro
+2
-0
ASCOfficeXlsFile2/source/linux/xlsformatlib_logic.cpp
ASCOfficeXlsFile2/source/linux/xlsformatlib_logic.cpp
+1
-0
ASCOfficeXlsFile2/source/win32/XlsFormat.vcproj
ASCOfficeXlsFile2/source/win32/XlsFormat.vcproj
+8
-0
No files found.
ASCOfficeXlsFile2/source/Common/simple_xml_writer.h
View file @
f72d6dfe
...
...
@@ -57,6 +57,8 @@ namespace writer
static
const
char
colon
=
':'
;
static
const
char
amp
=
'&'
;
static
const
char
apos
=
'\''
;
static
const
char
a
=
'\x0a'
;
static
const
char
*
cdata_open
()
{
return
"<![CDATA["
;
}
static
const
char
*
cdata_close
()
{
return
"]]>"
;
}
static
const
char
*
amp_str
(){
return
"&"
;
}
...
...
@@ -64,6 +66,7 @@ namespace writer
static
const
char
*
right_brocket_str
()
{
return
">"
;
}
static
const
char
*
apos_str
()
{
return
"'"
;
}
static
const
char
*
quote_str
()
{
return
"""
;
}
static
const
char
*
a_str
()
{
return
" "
;
}
};
template
<
>
...
...
@@ -78,14 +81,17 @@ namespace writer
static
const
wchar_t
colon
=
L':'
;
static
const
wchar_t
amp
=
L'&'
;
static
const
wchar_t
apos
=
L'\''
;
static
const
wchar_t
*
cdata_open
()
{
return
L"<![CDATA["
;
}
static
const
wchar_t
a
=
L'\x0a'
;
static
const
wchar_t
*
cdata_open
()
{
return
L"<![CDATA["
;
}
static
const
wchar_t
*
cdata_close
()
{
return
L"]]>"
;
}
static
const
wchar_t
*
amp_str
(){
return
L"&"
;
}
static
const
wchar_t
*
left_brocket_str
()
{
return
L"<"
;
}
static
const
wchar_t
*
right_brocket_str
()
{
return
L">"
;
}
static
const
wchar_t
*
apos_str
()
{
return
L"'"
;
}
static
const
wchar_t
*
quote_str
()
{
return
L"""
;
}
};
static
const
wchar_t
*
a_str
()
{
return
L" "
;
}
};
template
<
class
V
>
class
element
;
...
...
@@ -279,7 +285,9 @@ namespace writer
case
chars
<
T
>
:
:
quote
:
wr_
.
puts
(
chars
<
T
>::
quote_str
());
break
;
default:
case
chars
<
T
>
:
:
a
:
wr_
.
puts
(
chars
<
T
>::
a_str
());
break
;
default:
wr_
.
putc
(
*
str
);
break
;
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.cpp
View file @
f72d6dfe
...
...
@@ -53,7 +53,7 @@ static inline void trim(std::wstring &s)
AutoFilter
::
AutoFilter
()
{
wTopN
=
wJoin
=
0
;
size
=
-
1
;
size
=
0xffffffff
;
bExist
=
false
;
}
...
...
@@ -72,7 +72,7 @@ void AutoFilter::readFields(CFRecord& record)
{
size_t
pos_record
=
record
.
getRdPtr
();
if
(
size
<
0
)
size
=
record
.
getDataSize
()
-
pos_record
;
if
(
size
==
0xffffffff
)
size
=
record
.
getDataSize
()
-
pos_record
;
if
(
size
>
0
)
{
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter.h
View file @
f72d6dfe
...
...
@@ -73,9 +73,8 @@ public:
std
::
wstring
str2
;
//----------------------------------------
int
size
;
bool
bExist
;
_UINT32
size
;
};
}
// namespace XLS
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter12.cpp
View file @
f72d6dfe
...
...
@@ -31,6 +31,13 @@
*/
#include "AutoFilter12.h"
#include "../Biff_structures/DXFN12List.h"
#include "../Biff_structures/BiffString.h"
#include "../Biff_structures/AFDOper.h"
#include "../Biff_structures/AF12Criteria.h"
#include "../Biff_structures/AF12CellIcon.h"
namespace
XLS
{
...
...
@@ -58,12 +65,29 @@ void AutoFilter12::readFields(CFRecord& record)
record
>>
frtRefHeader
>>
iEntry
>>
fHideArrow
>>
ft
>>
cft
>>
cCriteria
>>
cDateGroupings
>>
flags
>>
unused2
>>
idList
;
// TODO доделать
record
.
skipNunBytes
(
record
.
getDataSize
()
-
record
.
getRdPtr
());
_GUID_
guid_num
;
record
>>
guid_num
;
guidSview
=
STR
::
guid2bstr
(
guid_num
);
record
.
skipNunBytes
(
record
.
getDataSize
()
-
record
.
getRdPtr
());
//-------------------------------------------------------------------------------------------------------
std
::
list
<
CFRecordPtr
>&
recs
=
continue_records
[
rt_ContinueFrt12
];
size_t
size
=
recs
.
size
();
switch
(
ft
)
{
case
0x00000000
:
//not exist
break
;
case
0x00000001
:
rgb
=
BiffStructurePtr
(
new
DXFN12List
);
//color
break
;
case
0x00000002
:
rgb
=
BiffStructurePtr
(
new
DXFN12List
);
//font
break
;
case
0x00000003
:
rgb
=
BiffStructurePtr
(
new
AF12CellIcon
);
//icon
break
;
}
if
(
rgb
)
rgb
->
load
(
record
);
while
(
!
recs
.
empty
()
)
{
record
.
appendRawData
(
recs
.
front
());
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/AutoFilter12.h
View file @
f72d6dfe
...
...
@@ -34,10 +34,7 @@
#include "BiffRecordContinued.h"
#include "../Biff_structures/FrtRefHeader.h"
#include "../Biff_structures/BiffString.h"
#include "../Biff_structures/FrtRefHeader.h"
#include "../Biff_structures/AFDOper.h"
#include "../Biff_structures/AF12Criteria.h"
namespace
XLS
{
...
...
@@ -65,6 +62,9 @@ public:
_UINT32
cCriteria
;
_UINT32
cDateGroupings
;
_UINT32
idList
;
std
::
wstring
guidSview
;
BiffStructurePtr
rgb
;
BiffStructurePtrVector
arAF12Criteries
;
};
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/CF.h
View file @
f72d6dfe
...
...
@@ -32,14 +32,12 @@
#pragma once
#include "BiffRecord.h"
#include
<Logic/Biff_structures/DXFN.h>
#include
<Logic/Biff_structures/CFParsedFormulaNoCCE.h>
#include
"../Biff_structures/DXFN.h"
#include
"../Biff_structures/CFParsedFormulaNoCCE.h"
namespace
XLS
{
// Logical representation of CF record in BIFF8
class
CF
:
public
BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO
(
CF
)
...
...
@@ -50,7 +48,6 @@ public:
BaseObjectPtr
clone
();
void
readFields
(
CFRecord
&
record
);
static
const
ElementType
type
=
typeCF
;
...
...
@@ -69,6 +66,7 @@ public:
CFParsedFormulaNoCCE
rgce2
;
BaseObjectPtr
m_CFEx
;
BaseObjectPtr
m_CF12
;
GlobalWorkbookInfoPtr
global_info_
;
};
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_records/CF12.h
View file @
f72d6dfe
...
...
@@ -32,18 +32,16 @@
#pragma once
#include "BiffRecord.h"
#include
<Logic/Biff_structures/FrtRefHeader.h>
#include
<Logic/Biff_structures/DXFN12.h>
#include
<Logic/Biff_structures/CFParsedFormulaNoCCE.h>
#include
<Logic/Biff_structures/CFParsedFormula.h>
#include
<Logic/Biff_structures/CFExTemplateParams.h>
#include
"../Biff_structures/FrtRefHeader.h"
#include
"../Biff_structures/DXFN12.h"
#include
"../Biff_structures/CFParsedFormulaNoCCE.h"
#include
"../Biff_structures/CFParsedFormula.h"
#include
"../Biff_structures/CFExTemplateParams.h"
namespace
XLS
{
// Logical representation of CF12 record in BIFF8
class
CF12
:
public
BiffRecord
{
BIFF_RECORD_DEFINE_TYPE_INFO
(
CF12
)
...
...
@@ -84,6 +82,7 @@ public:
int
dxfId_
;
BaseObjectPtr
m_CFEx
;
BaseObjectPtr
m_CF12_2
;
};
typedef
boost
::
shared_ptr
<
CF12
>
CF12Ptr
;
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/AF12CellIcon.cpp
0 → 100644
View file @
f72d6dfe
/*
* (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 "AF12CellIcon.h"
#include <Binary/CFRecord.h>
namespace
XLS
{
BiffStructurePtr
AF12CellIcon
::
clone
()
{
return
BiffStructurePtr
(
new
AF12CellIcon
(
*
this
));
}
AF12CellIcon
::
AF12CellIcon
()
{
}
AF12CellIcon
::~
AF12CellIcon
()
{
}
void
AF12CellIcon
::
load
(
CFRecord
&
record
)
{
record
>>
iIconSet
>>
iIcon
;
}
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/AF12CellIcon.h
0 → 100644
View file @
f72d6dfe
/*
* (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"
namespace
XLS
{
class
AF12CellIcon
:
public
BiffStructure
{
BASE_STRUCTURE_DEFINE_CLASS_NAME
(
AF12CellIcon
)
public:
BiffStructurePtr
clone
();
AF12CellIcon
();
~
AF12CellIcon
();
virtual
void
load
(
CFRecord
&
record
);
static
const
ElementType
type
=
typeAF12CellIcon
;
_UINT32
iIconSet
;
_UINT32
iIcon
;
};
typedef
boost
::
shared_ptr
<
AF12CellIcon
>
AF12CellIconPtr
;
}
// namespace XLS
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/AF12Criteria.h
View file @
f72d6dfe
...
...
@@ -31,8 +31,7 @@
*/
#pragma once
#include <Logic/Biff_records/BiffRecord.h>
#include <Logic/Biff_structures/BiffString.h>
#include "BiffString.h"
#include "AFDOper.h"
namespace
XLS
...
...
@@ -49,8 +48,7 @@ public:
virtual
void
load
(
CFRecord
&
record
);
static
const
ElementType
type
=
typeAF12Criteria
;
static
const
ElementType
type
=
typeAF12Criteria
;
AFDOper
doper
;
XLUnicodeStringNoCch
str
;
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/AFDOper.h
View file @
f72d6dfe
...
...
@@ -32,7 +32,7 @@
#pragma once
#include <Logic/Biff_records/BiffRecord.h>
#include
<Logic/Biff_structures/BiffString.h>
#include
"BiffString.h"
#include "AFDOperStr.h"
#include "AFDOperRk.h"
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFN12List.cpp
View file @
f72d6dfe
...
...
@@ -44,8 +44,8 @@ BiffStructurePtr DXFN12List::clone()
DXFN12List
::
DXFN12List
()
{
bExist
=
false
;
size
=
-
1
;
bExist
=
false
;
size
=
0xffffffff
;
}
...
...
@@ -57,7 +57,7 @@ void DXFN12List::load(CFRecord& record)
{
size_t
pos_record
=
record
.
getRdPtr
();
if
(
size
<
0
)
size
=
record
.
getDataSize
()
-
pos_record
;
if
(
size
==
0xffffffff
)
size
=
record
.
getDataSize
()
-
pos_record
;
if
(
size
>
0
)
{
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFN12List.h
View file @
f72d6dfe
...
...
@@ -31,10 +31,11 @@
*/
#pragma once
#include "BiffString.h"
#include "DXFN.h"
#include "XFExtNoFRT.h"
#include "../Biff_records/BiffRecord.h"
#include "../Biff_structures/BiffString.h"
#include "../Biff_structures/DXFN.h"
#include "../Biff_structures/XFExtNoFRT.h"
namespace
XLS
{
...
...
@@ -48,7 +49,7 @@ public:
DXFN12List
();
~
DXFN12List
();
static
const
ElementType
type
=
typeDXFN12List
;
static
const
ElementType
type
=
typeDXFN12List
;
virtual
void
load
(
CFRecord
&
record
);
...
...
@@ -56,7 +57,7 @@ public:
XFExtNoFRT
xfext
;
//-----------------------------------------------------------------
bool
bExist
;
int
size
;
_UINT32
size
;
};
typedef
boost
::
shared_ptr
<
DXFN12List
>
DXFN12ListPtr
;
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFNum.cpp
View file @
f72d6dfe
...
...
@@ -47,12 +47,13 @@ BiffStructurePtr DXFNum::clone()
void
DXFNum
::
load
(
CFRecord
&
record
)
{
if
(
!
parent
)
return
;
if
(
parent
->
ifmtNinch
)
return
;
if
(
parent
->
fIfmtUser
)
{
record
>>
user_defined
;
}
if
(
!
parent
->
ifmtNinch
)
//
else
else
{
record
>>
fmt_id
;
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFNumUsr.cpp
View file @
f72d6dfe
...
...
@@ -50,7 +50,10 @@ BiffStructurePtr DXFNumUsr::clone()
void
DXFNumUsr
::
load
(
CFRecord
&
record
)
{
record
>>
cb
>>
fmt
;
record
>>
cb
;
fmt
.
setSize
(
cb
);
record
>>
fmt
;
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/DXFNumUsr.h
View file @
f72d6dfe
...
...
@@ -50,7 +50,6 @@ public:
virtual
void
load
(
CFRecord
&
record
);
unsigned
short
cb
;
XLUnicodeString
fmt
;
};
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FdaAutoFilter.cpp
View file @
f72d6dfe
...
...
@@ -45,6 +45,12 @@ BiffStructurePtr Feat11FdaAutoFilter::clone()
void
Feat11FdaAutoFilter
::
load
(
CFRecord
&
record
)
{
record
>>
cbAutoFilter
;
if
(
cbAutoFilter
>=
0xffff0000
)
{
//LCA BI - Financial Report Usage2010.xls
return
;
}
record
.
skipNunBytes
(
2
);
if
(
cbAutoFilter
>
0
&&
cbAutoFilter
<
2080
)
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/Feat11FieldDataItem.cpp
View file @
f72d6dfe
...
...
@@ -77,14 +77,12 @@ void Feat11FieldDataItem::load(CFRecord& record)
{
dxfFmtAgg
.
size
=
cbFmtAgg
;
record
>>
dxfFmtAgg
;
}
}
if
(
cbFmtInsertRow
>
0
)
{
dxfFmtInsertRow
.
size
=
cbFmtInsertRow
;
record
>>
dxfFmtInsertRow
;
}
}
if
(
fAutoFilter
)
{
record
>>
AutoFilter
;
...
...
@@ -92,9 +90,8 @@ void Feat11FieldDataItem::load(CFRecord& record)
if
(
fLoadXmapi
)
{
record
>>
AutoFilter
;
record
>>
rgXmap
;
}
if
(
fLoadFmla
)
{
fmla
.
load
(
record
);
...
...
@@ -110,8 +107,10 @@ void Feat11FieldDataItem::load(CFRecord& record)
totalFmla
.
load
(
record
);
}
}
record
>>
strTotal
;
if
(
fLoadTotalStr
)
{
record
>>
strTotal
;
}
if
(
lt
==
0x00000001
)
{
wssInfo
.
lfdt
=
lfdt
;
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ODRAW/OfficeArtFOPTE.cpp
View file @
f72d6dfe
...
...
@@ -122,8 +122,6 @@ void OfficeArtFOPTE::load(XLS::CFRecord& record)
opid
=
GETBITS
(
flags
,
0
,
13
);
fBid
=
GETBIT
(
flags
,
14
);
fComplex
=
GETBIT
(
flags
,
15
);
// TODO: complex data shall be parsed here
}
OfficeArtFOPTEPtr
OfficeArtFOPTE
::
load_and_create
(
XLS
::
CFRecord
&
record
)
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/AUTOFILTER_bu.cpp
View file @
f72d6dfe
...
...
@@ -31,11 +31,13 @@
*/
#include "AUTOFILTER.h"
#include <Logic/Biff_records/AutoFilterInfo.h>
#include <Logic/Biff_records/AutoFilter12.h>
#include <Logic/Biff_records/AutoFilter.h>
#include <Logic/Biff_records/ContinueFrt12.h>
#include <Logic/Biff_unions/SORTDATA12.h>
#include "SORTDATA12.h"
#include "../Biff_records/AutoFilterInfo.h"
#include "../Biff_records/AutoFilter12.h"
#include "../Biff_records/AutoFilter.h"
#include "../Biff_records/ContinueFrt12.h"
#include "../Biff_structures/AF12Criteria.h"
namespace
XLS
{
...
...
@@ -45,12 +47,10 @@ AUTOFILTER::AUTOFILTER()
{
}
AUTOFILTER
::~
AUTOFILTER
()
{
}
class
Parenthesis_AUTOFILTER_1
:
public
ABNFParenthesis
{
BASE_OBJECT_DEFINE_CLASS_NAME
(
Parenthesis_AUTOFILTER_1
)
...
...
@@ -79,7 +79,6 @@ BaseObjectPtr AUTOFILTER::clone()
return
BaseObjectPtr
(
new
AUTOFILTER
(
*
this
));
}
// AUTOFILTER = AutoFilterInfo *(AutoFilter / (AutoFilter12 *ContinueFrt12)) *SORTDATA12
const
bool
AUTOFILTER
::
loadContent
(
BinProcessor
&
proc
)
{
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/CONDFMTS.cpp
View file @
f72d6dfe
...
...
@@ -31,13 +31,14 @@
*/
#include "CONDFMTS.h"
#include <Logic/Biff_unions/CONDFMT.h>
#include <Logic/Biff_unions/CONDFMT12.h>
#include <Logic/Biff_records/CFEx.h>
#include <Logic/Biff_records/CF12.h>
#include <Logic/Biff_records/CF.h>
#include <Logic/Biff_records/CondFmt.h>
#include <Logic/Biff_records/CondFmt12.h>
#include "CONDFMT.h"
#include "CONDFMT12.h"
#include "../Biff_records/CFEx.h"
#include "../Biff_records/CF12.h"
#include "../Biff_records/CF.h"
#include "../Biff_records/CondFmt.h"
#include "../Biff_records/CondFmt12.h"
namespace
XLS
{
...
...
@@ -84,7 +85,9 @@ public:
{
return
false
;
}
//proc.optional<CF12>(); // TODO: uncomment this and pass a base cell reference to the constructor
CellRef
ref
;
CF12
cf
(
ref
);
proc
.
optional
(
cf
);
return
true
;
};
};
...
...
@@ -113,18 +116,27 @@ const bool CONDFMTS::loadContent(BinProcessor& proc)
count
=
proc
.
repeated
<
Parenthesis_CONDFMTS_2
>
(
0
,
0
);
if
(
count
>
0
)
res
=
true
;
while
(
count
>
0
)
while
(
!
elements_
.
empty
())
{
m_arCFEx
.
insert
(
m_arCFEx
.
begin
(),
elements_
.
back
());
elements_
.
pop_back
();
count
--
;
}
if
(
elements_
.
front
()
->
get_type
()
==
typeCFEx
)
{
_data_ex
data_ex
;
data_ex
.
ex
=
elements_
.
front
();
m_arCFEx
.
push_back
(
data_ex
);
}
else
{
if
(
!
m_arCFEx
.
empty
())
m_arCFEx
.
back
().
cf12
=
elements_
.
front
();
}
elements_
.
pop_front
();
}
//----------------------------------------------------------------------------
for
(
size_t
i
=
0
;
i
<
m_arCFEx
.
size
();
i
++
)
{
if
(
!
m_arCFEx
[
i
])
continue
;
CFEx
*
cfEx
=
dynamic_cast
<
CFEx
*>
(
m_arCFEx
[
i
].
get
());
CFEx
*
cfEx
=
dynamic_cast
<
CFEx
*>
(
m_arCFEx
[
i
].
ex
.
get
());
if
(
cfEx
)
{
size_t
ind_cf
=
cfEx
->
content
.
icf
;
...
...
@@ -139,7 +151,10 @@ const bool CONDFMTS::loadContent(BinProcessor& proc)
{
CF
*
cf
=
dynamic_cast
<
CF
*>
(
CONDFMT_
->
m_arCF
[
ind_cf
].
get
());
if
(
cf
)
cf
->
m_CFEx
=
m_arCFEx
[
i
];
{
cf
->
m_CFEx
=
m_arCFEx
[
i
].
ex
;
cf
->
m_CF12
=
m_arCFEx
[
i
].
cf12
;
}
}
}
...
...
@@ -151,7 +166,10 @@ const bool CONDFMTS::loadContent(BinProcessor& proc)
{
CF12
*
cf
=
dynamic_cast
<
CF12
*>
(
CONDFMT12_
->
m_arCF12
[
ind_cf
].
get
());
if
(
cf
)
cf
->
m_CFEx
=
m_arCFEx
[
i
];
{
cf
->
m_CFEx
=
m_arCFEx
[
i
].
ex
;
cf
->
m_CF12_2
=
m_arCFEx
[
i
].
cf12
;
}
}
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/CONDFMTS.h
View file @
f72d6dfe
...
...
@@ -36,8 +36,6 @@
namespace
XLS
{
// Logical representation of CONDFMTS union of records
class
CONDFMTS
:
public
CompositeObject
{
BASE_OBJECT_DEFINE_CLASS_NAME
(
CONDFMTS
)
...
...
@@ -54,7 +52,13 @@ public:
int
serialize
(
std
::
wostream
&
stream
);
std
::
vector
<
BaseObjectPtr
>
m_arCONDFMT
;
//CONDFMT or CONDFMT12
std
::
vector
<
BaseObjectPtr
>
m_arCFEx
;
struct
_data_ex
{
BaseObjectPtr
ex
;
BaseObjectPtr
cf12
;
};
std
::
vector
<
_data_ex
>
m_arCFEx
;
};
}
// namespace XLS
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/FEAT11.cpp
View file @
f72d6dfe
...
...
@@ -40,11 +40,14 @@
#include "../Biff_records/AutoFilter12.h"
#include "../Biff_records/ContinueFrt12.h"
#include "../Biff_records/List12.h"
#include "../Biff_records/SortData.h"
#include "../Biff_structures/List12BlockLevel.h"
#include "../Biff_structures/List12TableStyleClientInfo.h"
#include "../Biff_structures/List12DisplayName.h"
#include "../Biff_structures/Feat11FieldDataItem.h"
#include "../Biff_structures/AF12Criteria.h"
#include "../Biff_structures/SortCond12.h"
namespace
XLS
{
...
...
@@ -154,8 +157,10 @@ int FEAT11::serialize(std::wostream & strm, size_t index)
{
FeatHdr11
*
feature
=
dynamic_cast
<
FeatHdr11
*>
(
m_FeatHdr11
.
get
());
Feature11
*
feature11
=
dynamic_cast
<
Feature11
*>
(
m_arFEAT
[
index
].
m_Feature
.
get
());
Feature12
*
feature12
=
dynamic_cast
<
Feature12
*>
(
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
());
AutoFilter12
*
filter
=
dynamic_cast
<
AutoFilter12
*>
(
m_arFEAT
[
index
].
m_AutoFilter12
.
get
());
SORTDATA12
*
sort
=
dynamic_cast
<
SORTDATA12
*>
(
m_arFEAT
[
index
].
m_SORTDATA12
.
get
());
if
(
feature12
&&
!
feature11
)
{
...
...
@@ -176,34 +181,78 @@ int FEAT11::serialize(std::wostream & strm, size_t index)
if
(
!
display_name
)
display_name
=
dynamic_cast
<
List12DisplayName
*>
(
list_prop
->
rgbList12
.
get
());
}
//----------------------------------------------------------------------------------------------------------------------------------
std
::
wstring
display
,
comment
;
if
(
display_name
)
{
display
=
display_name
->
stListName
.
value
();
comment
=
display_name
->
stListComment
.
value
();
}
CP_XML_WRITER
(
strm
)
{
CP_XML_NODE
(
L"table"
)
{
CP_XML_ATTR
(
L"xmlns"
,
L"http://schemas.openxmlformats.org/spreadsheetml/2006/main"
);
if
(
display_name
)
{
if
(
!
display_name
->
stListName
.
value
().
empty
())
CP_XML_ATTR
(
L"displayName"
,
display_name
->
stListName
.
value
());
if
(
!
display_name
->
stListComment
.
value
().
empty
())
CP_XML_ATTR
(
L"comment"
,
display_name
->
stListComment
.
value
());
}
if
(
block_level
)
{
if
(
!
block_level
->
stData
.
value
().
empty
())
CP_XML_ATTR
(
L"dataCellStyle"
,
block_level
->
stData
.
value
());
}
if
(
feature11
)
{
CP_XML_ATTR
(
L"id"
,
feature11
->
rgbFeat
.
idList
);
CP_XML_ATTR
(
L"name"
,
feature11
->
rgbFeat
.
rgbName
.
value
());
CP_XML_ATTR
(
L"ref"
,
feature11
->
sqref
);
if
(
display
.
empty
())
display
=
feature11
->
rgbFeat
.
rgbName
.
value
();
CP_XML_ATTR
(
L"id"
,
feature11
->
rgbFeat
.
idList
);
CP_XML_ATTR
(
L"name"
,
feature11
->
rgbFeat
.
rgbName
.
value
());
CP_XML_ATTR
(
L"displayName"
,
display
);
CP_XML_ATTR
(
L"ref"
,
feature11
->
sqref
);
if
(
!
comment
.
empty
())
CP_XML_ATTR
(
L"comment"
,
comment
);
if
(
feature11
->
rgbFeat
.
fAutoFilter
)
if
(
block_level
)
{
if
(
!
block_level
->
stData
.
value
().
empty
())
CP_XML_ATTR
(
L"dataCellStyle"
,
block_level
->
stData
.
value
());
}
if
(
feature11
->
rgbFeat
.
fAutoFilter
&&
(
filter
||
sort
))
{
CP_XML_NODE
(
L"autoFilter"
)
if
(
sort
)
{
SortData
*
sort_data
=
dynamic_cast
<
SortData
*>
(
sort
->
m_SortData
.
get
());
CP_XML_NODE
(
L"autoFilter"
)
{
//if (filter)
//else
CP_XML_ATTR
(
L"ref"
,
sort_data
->
rfx
);
}
CP_XML_NODE
(
L"sortState"
)
{
CP_XML_ATTR
(
L"ref"
,
sort_data
->
rfx
);
for
(
size_t
s
=
0
;
s
<
sort_data
->
sortCond12Array
.
size
();
s
++
)
{
SortCond12
*
sort_cond
=
dynamic_cast
<
SortCond12
*>
(
sort_data
->
sortCond12Array
[
s
].
get
());
CP_XML_NODE
(
L"sortCondition"
)
{
CP_XML_ATTR
(
L"descending"
,
sort_cond
->
fSortDes
);
CP_XML_ATTR
(
L"ref"
,
sort_cond
->
rfx
.
toString
());
}
}
}
}
else
{
CP_XML_ATTR
(
L"ref"
,
feature11
->
sqref
);
CP_XML_NODE
(
L"autoFilter"
)
{
//CP_XML_ATTR(L"ref", filter->rfx);
for
(
size_t
k
=
0
;
k
<
(
std
::
min
)((
size_t
)
1
,
filter
->
arAF12Criteries
.
size
());
k
++
)
{
AF12Criteria
*
af12Criteria
=
dynamic_cast
<
AF12Criteria
*>
(
filter
->
arAF12Criteries
[
k
].
get
());
if
(
af12Criteria
==
NULL
)
continue
;
//CP_XML_NODE(L"filter")
{
//CP_XML_ATTR(L"val", af12Criteria->_str);
CP_XML_ATTR
(
L"ref"
,
af12Criteria
->
_str
);
}
}
}
}
}
...
...
@@ -228,6 +277,7 @@ int FEAT11::serialize(std::wostream & strm, size_t index)
//if (!field->stData.value().empty())
// CP_XML_ATTR(L"dataDxfId", field->stData.value());
}
//totalsRowFunction
}
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/PAGESETUP.cpp
View file @
f72d6dfe
...
...
@@ -217,9 +217,9 @@ int PAGESETUP::serialize(std::wostream & stream)
if
(
!
r
)
CP_XML_ATTR
(
L"right"
,
0.75
);
}
CP_XML_NODE
(
L"pageSetup"
)
{
}
//CP_XML_NODE(L"pageSetup") - для chartsheet аккуратнее
//
{
//
}
if
(
m_Header
||
m_Footer
)
{
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_unions/TABLESTYLES_bu.cpp
View file @
f72d6dfe
...
...
@@ -163,19 +163,19 @@ int TABLESTYLES::serialize(std::wostream & stream)
case
0x0000000a
:
CP_XML_ATTR
(
L"type"
,
L"lastHeaderCell"
);
break
;
case
0x0000000b
:
CP_XML_ATTR
(
L"type"
,
L"firstTotalCell"
);
break
;
case
0x0000000c
:
CP_XML_ATTR
(
L"type"
,
L"lastTotalCell"
);
break
;
case
0x0000000d
:
CP_XML_ATTR
(
L"type"
,
L"firstSubtotalColumn"
);
break
;
//??
case
0x0000000e
:
CP_XML_ATTR
(
L"type"
,
L"
firstSubtotalColumn"
);
break
;
//even
case
0x0000000f
:
CP_XML_ATTR
(
L"type"
,
L"
lastSubtotalColumn"
);
break
;
//odd
case
0x00000010
:
CP_XML_ATTR
(
L"type"
,
L"firstSubtotalRow"
);
break
;
//??
case
0x00000011
:
CP_XML_ATTR
(
L"type"
,
L"
firstSubtotalRow"
);
break
;
//even
case
0x00000012
:
CP_XML_ATTR
(
L"type"
,
L"
lastSubtotalRow"
);
break
;
//odd
case
0x0000000d
:
CP_XML_ATTR
(
L"type"
,
L"firstSubtotalColumn"
);
break
;
case
0x0000000e
:
CP_XML_ATTR
(
L"type"
,
L"
secondSubtotalColumn"
);
break
;
case
0x0000000f
:
CP_XML_ATTR
(
L"type"
,
L"
thirdSubtotalColumn"
);
break
;
case
0x00000010
:
CP_XML_ATTR
(
L"type"
,
L"firstSubtotalRow"
);
break
;
case
0x00000011
:
CP_XML_ATTR
(
L"type"
,
L"
secondSubtotalRow"
);
break
;
case
0x00000012
:
CP_XML_ATTR
(
L"type"
,
L"
thirdSubtotalRow"
);
break
;
case
0x00000013
:
CP_XML_ATTR
(
L"type"
,
L"blankRow"
);
break
;
case
0x00000014
:
CP_XML_ATTR
(
L"type"
,
L"firstColumnSubheading"
);
break
;
case
0x00000015
:
CP_XML_ATTR
(
L"type"
,
L"
first
ColumnSubheading"
);
break
;
case
0x00000016
:
CP_XML_ATTR
(
L"type"
,
L"
lastColumnSubheading"
);
break
;
case
0x00000015
:
CP_XML_ATTR
(
L"type"
,
L"
second
ColumnSubheading"
);
break
;
case
0x00000016
:
CP_XML_ATTR
(
L"type"
,
L"
thirdColumnSubheading"
);
break
;
case
0x00000017
:
CP_XML_ATTR
(
L"type"
,
L"firstRowSubheading"
);
break
;
case
0x00000018
:
CP_XML_ATTR
(
L"type"
,
L"
first
RowSubheading"
);
break
;
case
0x00000019
:
CP_XML_ATTR
(
L"type"
,
L"
last
RowSubheading"
);
break
;
case
0x00000018
:
CP_XML_ATTR
(
L"type"
,
L"
second
RowSubheading"
);
break
;
case
0x00000019
:
CP_XML_ATTR
(
L"type"
,
L"
third
RowSubheading"
);
break
;
case
0x0000001a
:
CP_XML_ATTR
(
L"type"
,
L"pageFieldLabels"
);
break
;
case
0x0000001b
:
CP_XML_ATTR
(
L"type"
,
L"pageFieldValues"
);
break
;
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/GlobalWorkbookInfo.cpp
View file @
f72d6dfe
...
...
@@ -215,7 +215,6 @@ void GlobalWorkbookInfo::GetDigitFontSizePixels()
}
catch
(...)
{
// TODO: default value!
}
}
...
...
ASCOfficeXlsFile2/source/XlsFormat/Logic/XlsElementsType.h
View file @
f72d6dfe
...
...
@@ -546,6 +546,7 @@ enum ElementType
typeBopPopCustomPiesIndices
,
typeIXFCellMulBlankSpecial
,
typeAddinUdf
,
typeAF12CellIcon
,
typeAF12Criteria
,
typeAFDOper
,
typeAFDOperRk
,
...
...
ASCOfficeXlsFile2/source/XlsXlsxConverter/xlsx_conversion_context.cpp
View file @
f72d6dfe
...
...
@@ -128,10 +128,6 @@ void xlsx_conversion_context::set_sheet_type(int type)
if
(
sheets_
.
empty
())
return
;
sheets_
.
back
()
->
type
=
type
;
if
(
type
==
3
)
{
get_sheet_context
().
set_chart_view
();
}
}
void
xlsx_conversion_context
::
start_table
()
{
...
...
@@ -170,6 +166,8 @@ void xlsx_conversion_context::set_sheet_id(int id)
{
if
(
id
<
0
)
return
;
sheets_
.
back
()
->
id
=
id
;
sheets_map_
.
insert
(
std
::
make_pair
(
id
,
sheets_
.
size
()
-
1
));
}
void
xlsx_conversion_context
::
start_chart
()
{
...
...
@@ -246,8 +244,11 @@ void xlsx_conversion_context::end_document()
{
std
::
wstringstream
workbook_content
;
for
(
size_t
i
=
0
;
i
<
sheets_
.
size
();
i
++
)
//for (size_t i = 0; i < sheets_.size(); i++) нужно по id
for
(
std
::
map
<
int
,
int
>::
iterator
it
=
sheets_map_
.
begin
();
it
!=
sheets_map_
.
end
();
it
++
)
{
int
i
=
it
->
second
;
package
::
sheet_content_ptr
content
=
package
::
sheet_content
::
create
();
const
std
::
wstring
slideRId
=
std
::
wstring
(
L"sId"
)
+
std
::
to_wstring
(
i
+
1
);
...
...
ASCOfficeXlsFile2/source/XlsXlsxConverter/xlsx_conversion_context.h
View file @
f72d6dfe
...
...
@@ -130,7 +130,9 @@ private:
size_t
next_vml_file_id_
;
//используется для footer/header & comments
std
::
map
<
int
,
int
>
sheets_map_
;
std
::
vector
<
xlsx_xml_worksheet_ptr
>
sheets_
;
std
::
wstring
connections_
;
std
::
map
<
std
::
wstring
,
std
::
wstring
>
query_tables_
;
std
::
map
<
std
::
wstring
,
std
::
wstring
>
control_props_
;
...
...
ASCOfficeXlsFile2/source/XlsXlsxConverter/xlsx_sheet_context.cpp
View file @
f72d6dfe
...
...
@@ -59,21 +59,6 @@ void xlsx_sheet_context::start_table()
tables_state_
.
push_back
(
table_state_ptr
(
new
table_state
(
context_
)));
}
void
xlsx_sheet_context
::
set_chart_view
()
{
CP_XML_WRITER
(
context_
.
current_sheet
().
sheetViews
())
{
CP_XML_NODE
(
L"sheetViews"
)
{
CP_XML_NODE
(
L"sheetView"
)
{
CP_XML_ATTR
(
L"showGridLines"
,
0
);
CP_XML_ATTR
(
L"workbookViewId"
,
0
);
}
}
}
}
void
xlsx_sheet_context
::
end_table
()
{
if
(
!
get_drawing_context
().
empty
())
...
...
ASCOfficeXlsFile2/source/XlsXlsxConverter/xlsx_sheet_context.h
View file @
f72d6dfe
...
...
@@ -59,7 +59,6 @@ public:
xlsx_sheet_context
(
xlsx_conversion_context
&
Context
);
void
start_table
();
void
set_chart_view
();
void
end_table
();
xlsx_drawing_context
&
get_drawing_context
();
...
...
ASCOfficeXlsFile2/source/linux/XlsFormatLib.pro
View file @
f72d6dfe
...
...
@@ -375,6 +375,7 @@ SOURCES += \
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AFDOper
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AFDOperRk
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AFDOperStr
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AF12CellIcon
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AntiMoniker
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
ArrayParsedFormula
.
cpp
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
Bes
.
cpp
\
...
...
@@ -1183,6 +1184,7 @@ HEADERS += \
..
/
XlsFormat
/
Logging
/
Logger
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AddinUdf
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AF12Criteria
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AF12CellIcon
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AFDOper
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AFDOperRk
.
h
\
..
/
XlsFormat
/
Logic
/
Biff_structures
/
AFDOperStr
.
h
\
...
...
ASCOfficeXlsFile2/source/linux/xlsformatlib_logic.cpp
View file @
f72d6dfe
...
...
@@ -624,6 +624,7 @@
#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_structures/AF12CellIcon.cpp"
#include "../XlsFormat/Logic/Biff_unions/AI.cpp"
#include "../XlsFormat/Logic/Biff_unions/ATTACHEDLABEL_bu.cpp"
...
...
ASCOfficeXlsFile2/source/win32/XlsFormat.vcproj
View file @
f72d6dfe
...
...
@@ -3121,6 +3121,14 @@
RelativePath=
"..\XlsFormat\Logic\Biff_structures\AddinUdf.h"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\AF12CellIcon.cpp"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\AF12CellIcon.h"
>
</File>
<File
RelativePath=
"..\XlsFormat\Logic\Biff_structures\AF12Criteria.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