sc/source/filter/excel/xename.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
New commits: commit bf4fe0c2ba1d0a44cc07c6afba6d56b8adf8af50 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sun Feb 23 20:36:26 2025 +0000 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Mon Feb 24 09:40:32 2025 +0100 tdf#164249 adjust XML_localSheetId to take into account not exported sheets this is to avoid failure on re-import of: XmlFilterBase::importFragment - XML parser failed in fragment 'xl/workbook.xml' com.sun.star.uno.RuntimeException message: "invalid sheet index used at sc/source/filter/oox/workbookhelper.cxx:438" Error: source file could not be loaded Change-Id: I235edd018c4ebcd4bafa9c549bdec9f23f0bd6b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182069 Tested-by: Caolán McNamara <caolan.mcnam...@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins diff --git a/sc/source/filter/excel/xename.cxx b/sc/source/filter/excel/xename.cxx index aa33b31deeb3..2312a7920613 100644 --- a/sc/source/filter/excel/xename.cxx +++ b/sc/source/filter/excel/xename.cxx @@ -330,6 +330,9 @@ OUString XclExpName::GetWithDefaultRangeSeparator( const OUString& rSymbol ) con void XclExpName::SaveXml( XclExpXmlStream& rStrm ) { sax_fastparser::FSHelperPtr& rWorkbook = rStrm.GetCurrentStream(); + // Sheets where IsExportTab is not true are not exported, so use mnXclTab + // (1 based) to get the sheetid as of the exported document's perspective. + SCTAB nXlsxTab = mnXclTab - 1; rWorkbook->startElement( XML_definedName, // OOXTODO: XML_comment, "", // OOXTODO: XML_customMenu, "", @@ -338,7 +341,7 @@ void XclExpName::SaveXml( XclExpXmlStream& rStrm ) // OOXTODO: XML_functionGroupId, "", // OOXTODO: XML_help, "", XML_hidden, ToPsz( ::get_flag( mnFlags, EXC_NAME_HIDDEN ) ), - XML_localSheetId, sax_fastparser::UseIf(OString::number( mnScTab ), mnScTab != SCTAB_GLOBAL), + XML_localSheetId, sax_fastparser::UseIf(OString::number(nXlsxTab), mnScTab != SCTAB_GLOBAL), XML_name, maOrigName.toUtf8(), // OOXTODO: XML_publishToServer, "", // OOXTODO: XML_shortcutKey, "",