binary_spreadsheet
The binary field widget with the download deliberately removed, twice over: once in the template and once in the handler. The value it holds is not a file anyone can usefully open.
| Technical name | binary_spreadsheet |
|---|---|
| Field types | binary |
| Views | form |
| Module | spreadsheet, installed with Documents, Dashboards and other spreadsheet features |
| Used in core | 1 occurrence, the data field on the spreadsheet dashboard form in spreadsheet_dashboard |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0 |
| No-code setup | No. It is a developer-facing field set in view XML |
| Alternatives | binary, many2many_binary, image |
What the spreadsheet binary field does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
filename | string (attribute) | Inherited from the binary widget. Names the companion char field holding the uploaded file's name. Still used on upload, even though downloading is disabled. |
accepted_file_extensions | string | Inherited from the binary widget. Restricts what the upload control accepts. |
Downloading is disabled in two places. The template inherits the binary field's template and removes the download block, and the component overrides the download handler with an empty method. There is no option to re-enable it; a genuine export goes through the spreadsheet application's own export action.
Working examples
Removed twice, on purpose
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. Byte-identical to Odoo 19 on the development branch. |
| Odoo 19.0 | Verified | Verified against the shipped source. Byte-identical to Odoo 18. |
| Odoo 18.0 | Verified | First version. |
| Odoo 17.0 | Not available | Widget does not exist. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. The widget arrived in Odoo 18 and the Odoo 18 and Odoo 19 files are byte-identical, so nothing needs attention. On Odoo 17 and earlier the field, where shown at all, used the plain binary widget with its download link.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| There is no download link | Intended. The template removes it and the handler is overridden to do nothing. Export from the spreadsheet application instead; the stored value is not a usable file. |
| The field is not on the form | The core view restricts it to the developer group. Enable developer mode, or add the user to that group if they genuinely need it. |
| Uploading a file breaks the spreadsheet | The field expects Odoo's internal spreadsheet data, not an arbitrary file. Replace the data only with a value produced by Odoo itself. |
| The file name is empty after upload | The companion field named by the filename attribute is not in the view. Add it, invisible is enough. |
| Missing widget error | The spreadsheet module is not installed in that database. Install a module that brings spreadsheets in, or use the plain binary widget. |
Spreadsheet binary field vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
binary_spreadsheet | Binary fields whose contents are not a file the user could open | The binary widget with downloading removed from both the template and the handler |
| binary | Real files users should be able to download | Keeps the download link and its handler |
| many2many_binary | A list of attached files | Several attachments rather than one binary value |
| image | Pictures stored on the record | Renders the image instead of a file row |
Frequently asked questions
Why can I not download the spreadsheet data?+
How do I export an Odoo spreadsheet then?+
Why is the field hidden for most users?+
Does it support the binary widget's options?+
Which versions have it?+
Spreadsheets that stay connected to your live data
Odoo spreadsheets pull from the database and update themselves, which is exactly what an exported file cannot do. We build reporting spreadsheets and dashboards inside Odoo on versions 16 through 19, so the numbers stop being a monthly copy job.
Book a free consultation