diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/Attribute.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/Attribute.java
index 4a6b7d44a1c41cd5a7deb68ba203b3c154e3c37f..8345bf97abd69cf3d4de8fe768637b71bc488081 100644
--- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/Attribute.java
+++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/Attribute.java
@@ -72,6 +72,8 @@ public enum Attribute
 
     REGISTRATOR("Registrator", false, false, true),
 
+    SIZE("Size", false, false, true),
+
     SAMPLE("Sample", false, false, true),
 
     SPACE("Space", true, true, true),
diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSDataSetExportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSDataSetExportHelper.java
index 492ada932ecf4fb21957e77083db71cfdfcbba12..5bdeabb7d58c1b848afa53a3e419d397439c26aa 100644
--- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSDataSetExportHelper.java
+++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/export/helper/XLSDataSetExportHelper.java
@@ -121,19 +121,8 @@ public class XLSDataSetExportHelper extends AbstractXLSEntityExportHelper<DataSe
     @Override
     protected Attribute[] getAttributes(final Collection<DataSet> dataSets)
     {
-        final boolean includeSample = dataSets.stream().anyMatch(dataSet -> dataSet.getSample() != null);
-        final boolean includeExperiment = dataSets.stream().anyMatch(dataSet -> dataSet.getSample() == null && dataSet.getExperiment() != null);
-
-        return Stream.concat(
-                Stream.concat(
-                        Stream.of(PERM_ID, CODE, ARCHIVING_STATUS, PRESENT_IN_ARCHIVE, STORAGE_CONFIRMATION),
-                        Stream.ofNullable(includeSample ? SAMPLE : null)
-                ),
-                Stream.concat(
-                        Stream.ofNullable(includeExperiment ? EXPERIMENT : null),
-                        Stream.of(PARENTS, CHILDREN, REGISTRATOR, REGISTRATION_DATE, MODIFIER, MODIFICATION_DATE)
-                )
-        ).toArray(Attribute[]::new);
+        return new Attribute[] { PERM_ID, CODE, ARCHIVING_STATUS, PRESENT_IN_ARCHIVE, STORAGE_CONFIRMATION, SAMPLE, EXPERIMENT, PARENTS, CHILDREN,
+                REGISTRATOR, REGISTRATION_DATE, MODIFIER, MODIFICATION_DATE };
     }
 
     @Override
@@ -160,6 +149,11 @@ public class XLSDataSetExportHelper extends AbstractXLSEntityExportHelper<DataSe
                 final PhysicalData physicalData = dataSet.getPhysicalData();
                 return physicalData != null ? physicalData.isStorageConfirmation().toString().toUpperCase() : null;
             }
+            case SIZE:
+            {
+                final PhysicalData physicalData = dataSet.getPhysicalData();
+                return physicalData != null ? physicalData.getSize().toString() : null;
+            }
             case CODE:
             {
                 return dataSet.getCode();
@@ -171,9 +165,8 @@ public class XLSDataSetExportHelper extends AbstractXLSEntityExportHelper<DataSe
             }
             case EXPERIMENT:
             {
-                final Sample sample = dataSet.getSample();
                 final Experiment experiment = dataSet.getExperiment();
-                return sample == null && experiment != null ? experiment.getIdentifier().getIdentifier() : null;
+                return experiment != null ? experiment.getIdentifier().getIdentifier() : null;
             }
             case REGISTRATOR:
             {
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetExpectations.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetExpectations.java
index fccc56487f72b0567809947b1a5f4a0366d98cbf..fb9a9a24de8e0101cade0373f61f98049014d717 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetExpectations.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/DataSetExpectations.java
@@ -74,11 +74,14 @@ class DataSetExpectations extends Expectations
 
                 final Sample[] samples = new Sample[2];
 
+                final Experiment sampleExperiment = new Experiment();
+                sampleExperiment.setIdentifier(new ExperimentIdentifier("/TEST/TEST"));
+
                 samples[0] = new Sample();
-                samples[0].setIdentifier(new SampleIdentifier("/TEST/TEST_2"));
+                samples[0].setIdentifier(new SampleIdentifier("/TEST/TEST/TEST_2"));
 
                 samples[1] = new Sample();
-                samples[1].setIdentifier(new SampleIdentifier("/TEST/TEST_3"));
+                samples[1].setIdentifier(new SampleIdentifier("/TEST/TEST/TEST_3"));
 
                 final Experiment experiment = new Experiment();
                 experiment.setIdentifier(new ExperimentIdentifier("/TEST/TEST_1"));
@@ -137,6 +140,7 @@ class DataSetExpectations extends Expectations
                 dataSets[1].setCode("TEST_2");
                 dataSets[1].setPhysicalData(physicalData[1]);
                 dataSets[1].setSample(samples[0]);
+                dataSets[1].setExperiment(sampleExperiment);
                 dataSets[1].setType(dataSetTypes[0]);
                 dataSets[1].setProperty("$NAME", "<i>Test 2</i>");
                 dataSets[1].setProperty("$ATTACHMENT", "file1.bin");
@@ -152,6 +156,7 @@ class DataSetExpectations extends Expectations
                 dataSets[2].setCode("TEST_3");
                 dataSets[2].setPhysicalData(physicalData[2]);
                 dataSets[2].setSample(samples[1]);
+                dataSets[2].setExperiment(sampleExperiment);
                 dataSets[2].setType(dataSetTypes[0]);
                 dataSets[2].setProperty("$NAME", "Test 3");
                 dataSets[2].setProperty("$ATTACHMENT", "file2.bin");
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-filtered-fields.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-filtered-fields.xlsx
index 0f906b44ffc06e134fb121ace0ac6509fb277dd7..c72d63912e693fbd49a865b5b4e66e94ccc66e04 100644
Binary files a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-filtered-fields.xlsx and b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-filtered-fields.xlsx differ
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-plain-text.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-plain-text.xlsx
index 9077e4d823c7a224080539661eaaca4a54ac4b44..3f69fe76dc1a2ee4dbc880714936b13287b3b9f0 100644
Binary files a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-plain-text.xlsx and b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-plain-text.xlsx differ
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-rich-text.xlsx b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-rich-text.xlsx
index a872b05d2070ab60de061ad8e6d23f6aec863f81..69fb52c5ce44bed5aec6bc9833aee538cd3134b7 100644
Binary files a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-rich-text.xlsx and b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/generic/server/xls/export/resources/export-data-set-rich-text.xlsx differ