Spreadsheet v7.2.7 – Excel layout-only blank columns not preserved

I am using Webix 7.0. with Spreadsheet version 7.2.7 and I am facing an issue while rendering certain Excel files in the Webix Spreadsheet component.

Environment

  • Webix Core: 7.0
  • Webix Spreadsheet: 7.2.7
  • Usage: Excel preview/editor inside an iframe (viewer + export use case)

Issue Description

Some Excel sheets render exactly the same as the original Excel file, but some sheets lose their original layout when loaded into Webix Spreadsheet.

Specifically:

  • Excel sheets that use leading blank columns or rows only for visual spacing / layout (no values, no formulas)
  • Content in Excel starts from column B or C , with column A used as a spacer
  • In Webix Spreadsheet, those spacer columns are dropped
  • As a result, all content shifts left and the layout no longer matches Excel

Observations

  • Sheets where the spacer column contains any value or formula (even returning “”) render correctly
  • Sheets where spacer columns contain only formatting (borders, background color, merged-cell offsets) do NOT render correctly
  • This behavior is consistent and reproducible

What I Tried

  • Avoided rewriting cell values after load
  • Removed onCellChange overrides
  • Attempted to restore layout using:
    • column widths
    • row heights
    • merged spans
  • Checked getSheetInfo() (often undefined in v7)
  • Added defensive runtime workarounds (injecting spacer columns when detected)

From analysis, it appears that Spreadsheet v7 discards layout-only blank columns/rows at import time , before any client-side logic runs.

Question / Clarification Needed

  1. Is this behavior expected by design in Spreadsheet v7.2.7?
  2. Is there any supported configuration or API to preserve Excel layout-only blank columns/rows?
  3. Does upgrading to a newer Spreadsheet version improve this behavior, or is adding a placeholder value in Excel the only recommended solution?

I would appreciate guidance on the recommended best practice for handling Excel files that rely on layout-only spacing.

Hello @nagi ,

Regarding your issue with leading blank columns or rows, a similar issue and solution to this problem has already been discussed here.

As for this question:

Does upgrading to a newer Spreadsheet version improve this behavior, or is adding a placeholder value in Excel the only recommended solution?

I recommend checking out the sheetStubs property introduced in the latest versions. This property allows you to keep the styles in empty cells when loading Excel files, which might resolve the layout issues you’re experiencing.

You can try this example to see if it helps with your problem: Code Snippet

Hi @Natalia_Shilova ,
I tested this example in the Webix Playground:

url : Code Snippet
These are the Webix and related library versions I am currently using (screenshots attached).

I also included the xlsx.core.styles.min.js file that you shared earlier in the chat. However, I am still seeing the Excel output formatted incorrectly in my application, as shown in the screenshot below.

Could you please let me know if I’m missing any configuration or if there’s something else that needs to be adjusted?

Hello @Abhishek_Reddy ,
As I could see from your screenshots your file is imported as expected in the example that you have linked ( Webix v.11.3 ), but you need help now with the 11.0.3 version.
To help you, could you please send us your file that is not loaded correctly for the tests ( you can attach it here or send me in the private messages ) ?
And what do you use for the Excel import that fails ( a button in the Spreadsheet toolbar / parse() or load() function, import by a url, etc.?

Hello @Abhishek_Reddy ,

Thank you for providing a file.
I have tested it with the Webix 11.0.3 mentioned by you earlier. You could also check it here: Code Snippet .
The result that should be seen if a sheetStubs setting is enabled and the file is imported by a toolbar button:

Could you please test this example on your device as well?
As you could see the layout including the blank columns should be visible after the import.

To achieve the same in your project, please:

  1. enable a sheetStubs setting

  2. in the example the import resources are requested from our cdn, which is a the default behaviour ( so no need to add a suggested earlier xlsx.core.styles.min.js and you can omit placing the resources locally )

  3. Additionally, as you also load the Excel file initially by a url, for this case you could define a custom proxy to add missing settings: Code Snippet .
    Alternatively, you could redefine a parseData method of the excel DataDriver: Code Snippet .

@Mari ,
Thanks for you support.

I could see the blank column is preserved now
Reason to resolve : added the webix extras which I took it from webix-cdn-extras.

But the style : color is missing in it, previous chat screen shot you look it containe green color header,
but it is missing in my local

So could you please Help me to get the styles exactly,
I tried adding sheetStubs:true but still its not working

Issue 2:
webix version: v.11.0.3
spreadSheet version : v.11.0.3
Tried: sheetStubs:true (still facing issue)

In excel one of the column I have set cell format Time as shown in screen shot

But in the my local its shown different
image

I need to resolve this asap, as data is sensitive.
Waiting for your response.
Thanks in Advance

@Mari , @Natalia_Shilova
Is this above issue is due to unavailable ‘Time’ option in menu?


I could see only few option we have when compare to excel and webix spreadsheet.

Regards,
Abhishek