sc/inc/dbdata.hxx                           |    5 ++---
 sc/source/filter/oox/tablecolumnsbuffer.cxx |   12 ++++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)

New commits:
commit a70827e777e0355b795a941a9c54eaeb4126a747
Author:     Balazs Varga <[email protected]>
AuthorDate: Mon Oct 27 11:14:28 2025 +0100
Commit:     Balazs Varga <[email protected]>
CommitDate: Fri Oct 31 16:27:51 2025 +0100

    Import and store Total rows information in ScSubtotal obj
    
    at ooxml import.
    
    Change-Id: I2c0d58a1c21800c987b9998e9cb59b39a872ee58
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193203
    Tested-by: Balazs Varga <[email protected]>
    Reviewed-by: Balazs Varga <[email protected]>

diff --git a/sc/inc/dbdata.hxx b/sc/inc/dbdata.hxx
index ade03641e5fa..656b4d1d61d5 100644
--- a/sc/inc/dbdata.hxx
+++ b/sc/inc/dbdata.hxx
@@ -245,9 +245,8 @@ public:
     SC_DLLPUBLIC void       SetAdvancedQuerySource(const ScRange* pSource);
 
     SC_DLLPUBLIC void       GetSubTotalParam(ScSubTotalParam& rSubTotalParam) 
const;
-    void        SetSubTotalParam(const ScSubTotalParam& rSubTotalParam);
-
-    void        CreateSubTotalParam(ScSubTotalParam& rSubTotalParam) const;
+    SC_DLLPUBLIC void       SetSubTotalParam(const ScSubTotalParam& 
rSubTotalParam);
+    SC_DLLPUBLIC void       CreateSubTotalParam(ScSubTotalParam& 
rSubTotalParam) const;
 
     void        GetImportParam(ScImportParam& rImportParam) const;
     void        SetImportParam(const ScImportParam& rImportParam);
diff --git a/sc/source/filter/oox/tablecolumnsbuffer.cxx 
b/sc/source/filter/oox/tablecolumnsbuffer.cxx
index 5ed301f26a5a..3e42a7825ad3 100644
--- a/sc/source/filter/oox/tablecolumnsbuffer.cxx
+++ b/sc/source/filter/oox/tablecolumnsbuffer.cxx
@@ -22,6 +22,7 @@
 #include <sal/log.hxx>
 #include <oox/helper/attributelist.hxx>
 #include <oox/token/tokens.hxx>
+#include <subtotalparam.hxx>
 
 namespace oox::xls {
 
@@ -101,6 +102,17 @@ bool TableColumns::finalizeImport( ScDBData* pDBData )
         }
         pDBData->SetTableColumnNames( std::move(aNames) );
         pDBData->SetTableColumnAttributes( std::move(aAttributesVector) );
+        // set subtotal parameters for columns
+        if (pDBData->HasTotals())
+        {
+            ScSubTotalParam aSubTotalParam;
+            pDBData->GetSubTotalParam(aSubTotalParam);
+            aSubTotalParam.bHasHeader = pDBData->HasHeader();
+            aSubTotalParam.bRemoveOnly = false;
+            aSubTotalParam.bReplace = false;
+            pDBData->CreateSubTotalParam(aSubTotalParam);
+            pDBData->SetSubTotalParam(aSubTotalParam);
+        }
         return true;
     }
     return false;

Reply via email to