27 #include <document.hxx>
45 #include <com/sun/star/sheet/XSpreadsheet.hpp>
50 using ::com::sun::star::uno::Reference;
51 using ::com::sun::star::uno::UNO_QUERY;
52 using ::com::sun::star::xml::sax::XAttributeList;
73 if ( rName.toChar() !=
'\'' )
79 if ( eProt == INetProtocol::NotValid )
83 sal_Int32 nPrefLen = aPrefix.getLength();
85 OUStringBuffer aUrlBuf, aTabNameBuf;
86 aUrlBuf.append( aPrefix );
87 sal_Int32
n = rName.getLength();
92 for (sal_Int32
i = nPrefLen+1;
i < n; ++
i)
103 rUrl = aUrlBuf.makeStringAndClear();
104 rUrl = rUrl.copy(0, rUrl.getLength()-1);
112 aTabNameBuf.append(c);
120 if (aTabNameBuf.isEmpty())
123 rExtTabName = aTabNameBuf.makeStringAndClear();
129 mpCacheTable(),
mnRow(0),
mnCol(0), mnFileId(0)
137 bStartFormPage(false),
138 bPrintEntireSheet(true)
147 if ( rAttrList.is() )
149 for (
auto &it : *rAttrList)
151 switch (it.getToken())
154 sName = it.toString();
157 sStyleName = it.toString();
186 OUString aExtUrl, aExtTabName;
212 uno::Reference< xml::sax::XFastContextHandler > SAL_CALL
214 const uno::Reference< xml::sax::XFastAttributeList > & xAttrList )
252 std::make_shared<ScXMLNamedExpressionsContext::SheetLocalInserter>(
GetScImport(), nTab));
306 uno::Reference<document::XEventsSupplier> xSupplier(
GetScImport().GetTables().GetCurrentXSheet(), uno::UNO_QUERY );
340 for (
size_t i=0;
i< nCount;
i++ )
342 pDoc->AddPrintRange( nCurTab, aRangeList[
i] );
347 pDoc->ClearPrintRanges(nCurTab);
353 size_t nDepth = rColArray.
GetDepth();
354 for (
size_t i = 0;
i < nDepth; ++
i)
356 size_t nCount = rColArray.GetCount(
i);
357 for (
size_t j = 0; j < nCount; ++j)
361 rColArray.SetVisibleBelow(
i, j,
false);
366 for (
size_t i = 0;
i < nDepth; ++
i)
368 size_t nCount = rRowArray.GetCount(
i);
369 for (
size_t j = 0; j < nCount; ++j)
373 rRowArray.SetVisibleBelow(
i, j,
false);
395 ScSheetSaveData* pSheetData = comphelper::getUnoTunnelImplementation<ScModelObj>(rImport.
GetModel())->GetSheetSaveData();
407 bool bSelectProtectedCells =
false;
408 bool bSelectUnprotectedCells =
false;
409 bool bInsertColumns =
false;
410 bool bInsertRows =
false;
411 bool bDeleteColumns =
false;
412 bool bDeleteRows =
false;
414 if ( rAttrList.is() )
416 for (
auto &aIter : *rAttrList)
418 sal_Int32
nToken = aIter.getToken();
void NewSheet(const OUString &sTableName, const OUString &sStyleName, const ScXMLTabProtectionData &rProtectData)
::std::unique_ptr< ScXMLExternalTabData > pExternalRefInfo
rtl::Reference< ::xmloff::OFormLayerXMLImport > const & GetFormImport()
SC_DLLPUBLIC bool IsHidden() const
XML_SELECT_UNPROTECTED_CELLS
SCTAB GetCurrentSheet() const
ScDocument * GetDocument()
void StartStreamPos(SCTAB nTab, sal_Int32 nStartOffset)
SvXMLImport & GetImport()
bool IsXMLToken(std::u16string_view rString, enum XMLTokenEnum eToken)
FastAttributeList & castToFastAttributeList(const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList)
sal_uInt16 getExternalFileId(const OUString &rFile)
ScMyStylesImportHelper * GetStylesImportHelper()
bool mbSelectProtectedCells
virtual void SAL_CALL endFastElement(sal_Int32 nElement) override
#define XMLOFF_WARN_UNKNOWN(area, rIter)
SC_DLLPUBLIC ScExternalRefManager * GetExternalRefManager() const
ScXMLTableContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList)
virtual ~ScXMLTableProtectionContext() override
This class exists only to provide GetScImport() to its derived classes.
XML_SELECT_PROTECTED_CELLS
static OUString GetScheme(INetProtocol eTheScheme)
Use this class to manage solar mutex locking instead of calling LockSolarMutex() and UnlockSolarMutex...
ScExternalRefCache::TableTypeRef getCacheTable(sal_uInt16 nFileId, size_t nTabIndex) const
Get a cache table instance for specified table and table index.
ScXMLImport & GetScImport()
virtual ~ScXMLTableContext() override
XML_PROTECTION_KEY_DIGEST_ALGORITHM_2
ScXMLTableProtectionContext(ScXMLImport &rImport, const rtl::Reference< sax_fastparser::FastAttributeList > &rAttrList)
ScPasswordHash getHashTypeFromURI(std::u16string_view rURI)
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
css::uno::Reference< css::drawing::XShapes > const & GetCurrentXShapes()
#define XML_ELEMENT(prefix, name)
const css::uno::Reference< css::frame::XModel > & GetModel() const
ScXMLTabProtectionData & GetCurrentProtectionData()
static bool GetRangeListFromString(ScRangeList &rRangeList, const OUString &rRangeListStr, const ScDocument &rDocument, formula::FormulaGrammar::AddressConvention eConv, sal_Unicode cSeparator= ' ', sal_Unicode cQuote= '\'')
XML_PROTECTION_KEY_DIGEST_ALGORITHM
#define XMLOFF_WARN_UNKNOWN_ELEMENT(area, token)
sal_Int32 GetByteOffset() const
void ProgressBarIncrement()
bool mbSelectUnprotectedCells
static INetProtocol CompareProtocolScheme(OUString const &rTheAbsURIRef)
rtl::Reference< XMLShapeImportHelper > const & GetShapeImport()
static bool lcl_isExternalRefCache(const OUString &rName, OUString &rUrl, OUString &rExtTabName)
Determine whether this table is an external reference cache from its name.