❗ “Add Row” and “Add Column” Actions Insert in Incorrect Location in Aspose GridJS & Unfreeze Cell Not Reflected in Saved Copy After JSON Merge in Aspose GridJS

@chirags
We can reproduce this issue.
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): CELLSGRIDJS-1823 Range format does not work as expected

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.

I’m facing two issues while working with Aspose.Cells + GridJs:


1. Limited Rows & Columns on Initial Load

When the sheet loads in GridJs, it’s only showing about 13 rows (screenshot attached) instead of the expected default Excel grid (e.g., 1048576 rows × 16384 columns).

image.png (4.5 KB)

Could you please confirm:

  • Is GridJs loading rows/columns dynamically based on MaxDisplayRange or existing data?

  • Is there a setting to pre-load more rows/columns on initial load so the user can scroll without adding rows manually?


2. Blank Cells Locked After Protection

On the server side, I’m using the below logic to unlock all cells first, then lock only the cells mentioned in my dtTable configuration.

However, after saving, even blank cells (outside the locked ranges) are locked and can’t be edited in the UI.

Code snippet:


sheet.Cells.MaxDisplayRange.ApplyStyle(unlockStyle, unlockFlag)

This appears to only affect the used range, meaning cells outside MaxDisplayRange (blank area) remain locked because Excel defaults them to locked style.


Expected:

  • Unlock all cells in the worksheet, not just the used range.

  • Only apply locking to the specific cells/ranges from dtTable.


Could you please guide me on:

  • The correct approach to unlock the entire sheet (full row/column range) before applying locks?

  • How to ensure GridJs loads the desired number of rows and columns at sheet initialization?

Thanks for your help and guidance.

@chirags

  1. Is GridJs loading rows/columns dynamically based on MaxDisplayRange or existing data.
    Yes.

in server side:
you can set

Config.EmptySheetMaxCol/Config.EmptySheetMaxRow

or via set GridJsOptions.EmptySheetMaxCol/ EmptySheetMaxRow

 services.Configure<GridJsOptions>(options =>
{
  
    options.FileCacheDirectory = @"D:\tmpdel\storage\wb3";
    options.EmptySheetMaxRow = 50;
}

in Clinet js:
in load options we can set the default empty row/col len

 const option = {
     updateMode: 'server',
     updateUrl: '/GridJs2/UpdateCell',
     showToolbar: true,
     ........
     row: { len:39 },
     col: { len:33}

 };

we can also change the row/col len at runtime

xs.sheet.data.rows.len=100;
xs.sheet.data.cols.len=50;
xs.reRender();

@chirags

Please use Cells.ApplyStyle() method to apply style to the whole sheet.

The issues you have found earlier (filed as CELLSGRIDJS-1787,CELLSGRIDJS-1789,CELLSGRIDJS-1790,CELLSGRIDJS-1823) have been fixed in this update. This message was posted using Bugs notification tool by leoluo

Thank you for all the bug fixes in the new version 25.8 — the improvements are working great.

I noticed one behavior:

  • If I insert a row or column in the middle of the sheet, it saves automatically.

  • But if I insert a row after the last row or a column after the last column, it does not save automatically.

Could you please check if this is expected behavior or if it can be handled in a future update?

Thanks again for the quick fixes and support.

@chirags
the newly added rows or columns will take affect only after you set cell value in those row/column,
otherwise it still treat as empty rows/columns.
when you save the spreadsheet files,you scroll down ,it shows empty rows after the rows which has content, you don’t know how many total rows actually.

In v25.8, adding a hyperlink/link is not saving. Could you please check?

@chirags,

I tested it using the online Excel editor (created by Aspose.Cells.GridJs) and found, in the generated Excel file, the hyperlinks/links are not retained.

We require thorough evaluation of the issue. 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): CELLSGRIDJS-1852

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 Team,

I noticed a difference in behavior when handling cell updates via the cells-updated event.

Here’s my code:

xs.on('cells-updated', (name, cells) => {                      
    cells.forEach((acell, index, array) => {
        console.log('acell got updated:', acell);
        // acell.text shows current cell value
    });
});

:test_tube: Behavior Observed:

  • When I click Format Cell (e.g., set number format), the value in acell.text does not change immediately.
  • But when I click Percentage format, acell.text shows the updated value directly.

:pushpin: Request:

Could you please check why the behavior is inconsistent between different format options (general/number vs percentage)?
I’ve attached a screenshot showing this difference for reference.

image.png (448 Bytes)
image.png (1.6 KB)
image.png (10.1 KB)

Percentage format
image.png (448 Bytes)
image.png (1.1 KB)
image.png (10.4 KB)

Thanks for your support.

@chirags
Hello, I’ve observed that adjusting the number format options in Format Cell triggers a real-time update of the cell value, thus firing the cells-updated event. I have created a ticket to optimize this.

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): CELLSGRIDJS-1864

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.

The issues you have found earlier (filed as CELLSGRIDJS-1864,CELLSGRIDJS-1852) have been fixed in this update. This message was posted using Bugs notification tool by leoluo

@chirags
Those issues have been fixed in v25.9. Please have a try.
You shall update serverside to the latest v25.9 version in nuget package.
and the client js to the latest v25.9 version also.

Thank you for the update. We found another issue:

When we load a file and go to the Review tab, clicking on Edit Comment spoils the UI layout.

Steps to reproduce:

  1. Load any file in GridJs.

  2. Do not make any changes.

  3. Go directly to the Review tab.

  4. Click on Edit Comment.

  5. The UI gets spoiled (please check the attached screenshot for reference).

image.png (71.4 KB)
image.png (25.0 KB)

Could you please verify this behavior and confirm if it’s a bug or if there is a specific way to handle the edit option under the Review menu?

Thank you for your support.

@chirags
we cannot reproduce this issue.
by running the latest demo in

or

or in our live app

can you provide your sample project?

I also tried the same steps in your online demo, and the issue is happening there as well.

Steps followed:

  1. Opened your online demo.

  2. Loaded a file.

  3. Without making any changes, went to the Review tab.

  4. Clicked Edit Comment.

  5. The UI layout was spoiled (screenshot attached).

    image.png (37.4 KB)

This confirms that the issue is not specific to my environment but also reproducible in your demo. Could you please check and fix this?

Thank you.

@chirags,

I am sorry but still I could not reproduce the issue using the online editor app created by latest version of Aspose.Cells.GridJs. I simply load an Excel file into it and do as you directed, it works fine and the UI does not get spoiled.

@chirags
Furthermore, we also tried using Firefox and Edge, but we still couldn’t reproduce this issue. Could you please record a screen video to demonstrate the problem?

This seems to be a file-specific issue, because it works properly with other files.

However, I also found another problem: when I export as PDF, the output is not correct. Some columns are being cut off and moved to the next page instead of fitting properly on the same page.

image.png (41.0 KB)

Could you please check this behavior as well?

Thank you.

@chirags,

Please zip and attach the template Excel file and output PDF by Aspose.Cells for .NET. We will check your issue soon.