Queries about Aspose cells smart markers

@pgcentric
Please check group.zip (56.2 KB)

We have supported “range” parameter of smart marker and sorting json data source with designer.SortDataSource = true;

This fix will be included into the next version 25.8 which will be released in the next month.

BTW, we can not support group with yoga.json because we can not find relations between two properties.

@pgcentric
We have supported sorting json data source to fix the issue CELLSJAVA-46414 in the next version 25.8.
See attached template file and codes:
CellsJava46414.zip (19.3 KB)

The issues you have found earlier (filed as CELLSJAVA-46414,CELLSJAVA-46426) have been fixed in Aspose.Cells for Java 25.8.

Thank you,
We are testing the transpose functionality of Excel. Excel provides “=TRANSPOSE(range)” function, so we tried &==TRANSPOSE(A2:A7) this produces"=@TRANSPOSE(@A2:A7)".
When we use the default formula =TRANSPOSE(A2:A7), and in the code setting

designer.setCalculateFormula(true);

This produces the result, but adds 0 to empty fields. As data is always dynamic, for example, “&=node.arrayNumber”, this could have 5 elements, 4 elements, or 10 elements. The above approach is not reliable.
Could you please advise on how we can handle this scenario with TRANSPOSE when working with dynamic arrays and Smart Markers?
transpose.zip (29.9 KB)

@pgcentric,

I tested your scenario/case using your template Excel file and JSON data file. Could you please also share a sample Excel file having your expected data and formulas into the specified cells. We will look into it soon.

@pgcentric

The resultant formula you require for such situation is the new kind of array formula supported by new version of ms excel: dynamic array formulas

Currently such kind of formula has not been supported by smark marker yet. We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): CELLSJAVA-46470

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.

Hi, when testing subtotal, we observed the following
When creating a subtotal with productID, one extra row gets added above the smart marker. Also last column’s cell border-bottom style is different than the previous columns. Could you please check this
Thanks
subtotal_sort.zip (30.7 KB)

@pgcentric
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

CELLSJAVA-46473: last column’s cell border-bottom style is different than the previous columns
CELLSJAVA-46472: one extra row gets added above the smart marker

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.

@pgcentric
Please check the range "A1:C3“,”A4:C6“ in ”subtotal sort“, there are only top borders on the smart markers. There is a confusion. Should we copy borders to each data row or not ? Some users do not want to copy to each row for they want to make the old borders as a splitter of header and data.

@pgcentric

TRANSPOSE.zip (25.5 KB)
Please check the attached file, I changed the smart marker formula to dynamic formula, it worked file.
We will enlarge the range A2:A7 when processing data.

@pgcentric
We have supported setting dynamic array formula for dynamic formula smart marker, please change smart marker as :
&==TRANSPOSE(OFFSET($A$2,0,0,COUNTA($A$2:A{-1}),1))~(formula:dynamicarray)
This feature will be included into next version 25.9.

@pgcentric,

This is to inform you that the issues (“CELLSJAVA-46472” and “CELLSJAVA-46473”) have been resolved. The fixes/enhancements will be incorporated in the next release (Aspose.Cells v25.9), which is scheduled for the first half of September 2025. You will receive a notification once the new version is released.

Hi, while testing this fix, we observed that if we want to group by “Fabric”.It is not producing expected results. Could you please check this? Also, is there official documentation about the “Range” parameter ?
Expected :
expected.png (19.5 KB)

Template, Data, Output
group_column.zip (36.0 KB)

@pgcentric
We have analyzed your expected result image. We have found that your expected results require grouping “Materials.DSSection.C$Name” and sorting the data in descending order. But there is one issue, the data you need to group is at the next level of “Materials.C$Name”.

Grouping data based on the next level and sorting it in descending order will break the original data structure and fail to obtain the expected data results.

Additionally, there is currently no document available regarding the range parameter. We will add it soon.

We are unable to implement your requirements through the smart marker. Sorry for any inconvenience caused to you.

Thank you for the quick response.

@pgcentric
You are welcome. If you have any questions, please feel free to contact us at any time.

@pgcentric,

Please note that we have recently added documents featuring examples with details on the “range” parameter, “if” parameter and using variables in Smart Markers. Please feel free to check these documents, which also include detailed explanation and sample files for your reference.

Hi, we are testing the range parameter in Aspose Smart Markers. We observed that when multiple ranges are placed in the same column, the cell name is being overridden.

Could you please check? The issue can be reproduced in the attached file, sheet “nested”.
range.zip (23.3 KB)

@pgcentric,

Thank you for sharing the sample files and JSON data.

We apologize for the inconvenience caused by the cell overriding issue when multiple ranges are placed in the same column. Could you kindly provide your standalone sample Java code that you are using? Additionally, we would greatly appreciate it if you could share a sample Excel file illustrating your expected results. This will help us evaluate the issue more accurately and work towards a solution that aligns with your desired outcome.

Hi, please find the expected output template, data, and current output in the attachment

@Test
  void generatedDocumentWithExcel() {
    try {
      String data = "template-nested-index-data.json";
      String fileName = "src/test/resources/input/excel/templates/valid-template-array-direct-access-using-index-with-range.xlsx";
      final WorkbookDesigner designer = new WorkbookDesigner();
      designer.setWorkbook(new Workbook(fileName));
      String[] smartMarkers = designer.getSmartMarkers();
//      List<String> smartMarkersList = Arrays.asList(smartMarkers);
//      log.debug("Got smart markers {}", smartMarkersList);
      String jsonFile = testFileUtils.readJsonFile("input/excel/data", data);
      designer.setJsonDataSource("node", jsonFile);
      designer.setCalculateFormula(true);
      designer.process();
      designer
              .getWorkbook()
              .save("src/test/resources/input/excel/range-output.xlsx", SaveFormat.XLSX);
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }

range-updated.zip (35.6 KB)