Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Documents
  3. Spreadsheet XLSX Ghost Cells Cleaner v 19.0
  4. Sales Conditions FAQ

Spreadsheet XLSX Ghost Cells Cleaner

by ezway technology https://ezway-technology.com
Odoo

$ 236.05

v 19.0 Third Party
This module requires Odoo Enterprise Edition.
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Documents (documents)
• Discuss (mail)
Lines of code 718
Technical Name addon_custom_spreadsheet
LicenseOPL-1
Websitehttps://ezway-technology.com
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Documents (documents)
• Discuss (mail)
Lines of code 718
Technical Name addon_custom_spreadsheet
LicenseOPL-1
Websitehttps://ezway-technology.com
  • Description
  • License

🧹 Spreadsheet XLSX Ghost Cells Cleaner

Fix "Out of Memory" and "RangeError" errors when opening large Excel files in Odoo

✨ Key Features

⚡

Automatic Server-Side Cleaning

XLSX files are cleaned on-the-fly on the server before being sent to the browser — no action required from the user.

🛡️

Client-Side Fallback

A JavaScript patch acts as a safety net and cleans ghost cells directly in the browser if server-side cleaning is bypassed.

🖱️

Manual Cleaning Action

Clean any existing XLSX file in your Documents library with a single click using the dedicated action button.

🧠

Smart Detection

Threshold-based detection only processes files that actually need cleaning, keeping performance overhead minimal.

🔒

Non-Destructive

Original files are never modified in the database. Cleaning happens entirely in memory during file delivery.

📉

Up to 99% Size Reduction

Ghost cells are stripped with optimized Python regex processing, shrinking bloated files from megabytes to kilobytes.

❓ The Problem: Ghost Cells

⚠️ Does this happen to you?
Your Odoo Spreadsheet crashes with "Out of Memory" or "RangeError" when opening an Excel file — even though the file looks small and contains only a few rows of data.

When you format an entire column or row in Excel (e.g., make column A bold, or paint an entire row in yellow), Excel silently generates millions of "ghost cells" — empty cells that carry only a style attribute and no actual data. These cells are invisible in Excel, but when Odoo parses the XML of the XLSX file, the browser runs out of memory trying to render them all.

📊 Real-World Performance

Metric ❌ Before Cleaning ✅ After Cleaning
File size 25 MB 250 KB (−99%)
Total cells parsed ~500,000 ~5,000
Ghost cells ~495,000 (99 %) 0
Result Browser crash Opens in 2 seconds

⚙️ How It Works

  1. Server intercepts the file request — when the browser requests an XLSX file, the Odoo controller intercepts it before delivery.
  2. Ghost cell detection — the module checks the raw XML inside the XLSX zip for the characteristic pattern of empty styled cells: <c r="A1" s="1"/>.
  3. Regex-based stripping — if ghost cells exceed the configured threshold, they are removed from every sheet XML in memory using fast Python regex.
  4. Re-compressed delivery — the cleaned XLSX is repackaged with maximum compression (level 9) and sent to the browser.
  5. JavaScript safety net — a client-side patch catches any file that bypasses server-side cleaning and applies the same removal logic before the spreadsheet engine parses the XML.

🔧 Technical Details

Parameter Default Value Description
Activation threshold 1 KB / sheet Minimum ghost cell XML size per sheet to trigger cleaning
Max file size 20 MB Files above this size are skipped (too large for in-memory processing)
Supported formats .xlsx, .xlsm Standard Office Open XML formats
Compression level 9 (maximum) zlib compression level for the repackaged XLSX

What Gets Removed

  • Empty cells with only a style attribute: <c r="A1" s="1"/>
  • Empty rows with no cell children: <row r="5"/>
  • Any cell node that has no <v> value, <f> formula or <is> inline string

📦 Installation

  1. Make sure the Documents and Spreadsheet modules are installed
  2. Copy the addon_custom_spreadsheet folder into your Odoo addons directory
  3. In Odoo: Apps → Update App List → Search "Spreadsheet XLSX Ghost Cells Cleaner" → Install
  4. Optionally clear the assets cache: Settings → Technical → Regenerate Assets
  5. Done! The module is active immediately — no configuration required
💡 Tip — Manual Cleaning of Existing Files
Already have bloated XLSX files in your Documents library? Open the file record, click the "Clean Ghost Cells" action button and save. The cleaned version replaces the attachment directly in the database.
✅ Zero Configuration
After installation, every XLSX file opened through Odoo Documents or Odoo Spreadsheet is automatically cleaned on the server. No settings, no toggles, no maintenance.

✅ Perfect Use Cases

  • Excel files where entire columns or rows have been formatted (bold, background color, border, etc.)
  • Files that crash Odoo Spreadsheet with "Out of Memory" or "RangeError"
  • Large XLSX files that take several minutes to open or never finish loading
  • Excel templates with extensive pre-applied formatting
  • Reports exported by third-party ERP or BI tools that format full sheets

📋 Requirements

  • Odoo 19.0 Enterprise
  • spreadsheet module installed
  • documents_spreadsheet module installed
  • Python 3.10+
  • No additional Python libraries required

Stop the crashes. Open Excel files instantly.

Install once and forget about "Out of Memory" errors forever.

Spreadsheet XLSX Ghost Cells Cleaner — Version 2.0

License OPL-1 | Compatible with Odoo 19.0+ | By ezway technology

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with