- 首页
- Apps
- SaaS Tools
- Excel Export with Embedded Images
示意预览A build-to-order Odoo module that exports list views and report data to native .xlsx with real image thumbnails
embedded directly in the cells — no Base64 strings, no broken links.
ECOSIRE scopes, builds, installs, and supports it for you.
什么是 Excel Export with Embedded Images?
A build-to-order Odoo module that exports list views and report data to native .xlsx with real image thumbnails embedded directly in the cells — no Base64 strings, no broken links. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
核心功能
按需定制,全程代劳
无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。
- 1
您下单
以一次性构建价格开始。我们在启动时与您共同确定范围。
- 2
我们构建与安装
ECOSIRE 在您的 Odoo 上构建、配置并安装。
- 3
上线 + 支持
约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。
技术规格
- Odoo 兼容性
- Odoo 17, Odoo 18, Odoo 19
- 版本
- 企业版和社区版
- 许可证
- 许可证需要确认
- Python 要求
- Python 3.10+
- 数据库
- PostgreSQL 12+
关于此产品
Catalog and inventory teams live in Excel when they share data outside Odoo — with suppliers, buyers, marketplaces, and auditors. But the moment images matter, Odoo's native export breaks down. The standard list export dumps binary image_1920 / image_128 fields as enormous Base64 text strings (or omits them entirely), so a product sheet meant to show 300 thumbnails arrives as unreadable character soup. QWeb PDF reports embed images beautifully but aren't editable, and the built-in XLSX exporter (report_xlsx style output) writes plain text and numbers only. There is no supported path in Odoo core to get an actual picture sitting inside cell B2.
We build a dedicated export engine that closes that gap. It reads Odoo binary image fields through the ORM, decodes them server-side, resizes them to a configurable thumbnail dimension with Pillow, and streams them into a real .xlsx workbook using xlsxwriter's insert_image() so each thumbnail is anchored, scaled, and clipped to its row. The exporter is driven by a per-model export profile (stored in a config model with ir.model.access.csv rules) that lets you choose which fields become columns, their order, headers, number/date formatting, column widths, and row height to fit the image. It hangs off a Server Action / list-view "Export to Excel (with images)" menu entry, so managers select filtered records in any tree view — product.template, res.partner, or a custom model — and pull exactly the visible, filtered set. Under the hood it respects the same domain, record rules, and multi-company access the user already has, so nobody exports rows they can't see.
Because every business asks for something specific — a supplier price list with logo watermarks, a stock report grouped by category with cost columns hidden by role, a marketplace feed with SKU + barcode + main image — we deliver this as a scoped module, not a rigid off-the-shelf download. During the scoping call we confirm which models and fields you need, whether the export runs interactively or as a scheduled ir.cron job emailing a workbook, branded header/footer templates, and whether you're on Odoo 17.0, 18.0, or 19.0 (Community or Enterprise). We then build against your exact version and data, test it on a staging copy of your database, and hand over clean, documented source in your own git repository. Typical delivery is one working week from confirmed scope. Nothing is auto-downloaded and nothing is generic — it is engineered, installed, and supported by ECOSIRE for your instance.
你得到什么
- Installable, version-matched module source code for your Odoo 17.0, 18.0, or 19.0 instance (Community or Enterprise)
- Installation and configuration on your environment, including export-profile setup for your target models and fields
- Technical documentation: model/field mapping, __manifest__.py dependencies, security (ir.model.access.csv + record rules), and extension points
- End-user guide plus a live training session for the catalog/inventory team on running and formatting exports
- Post-go-live support window for defect fixes and questions after deployment
- UAT on a staging copy of your database with a documented rollback plan before touching production
- Full git repository handover so you own and can maintain the source
- Optional scheduled-export (ir.cron) and branded-template setup where included in scope
这是给谁的
Catalog Manager
Maintains thousands of product.template records and constantly shares visual product sheets with buyers, marketplaces and print teams. Needs SKU, price and a real thumbnail side by side in an editable Excel file, not a Base64 string or a locked PDF.
Inventory / Warehouse Manager
Runs stock and valuation reports filtered by location or category and needs to circulate them with product images so pickers and auditors can visually confirm items. Wants the exact filtered list exported with images and cost columns gated by role.
Procurement / Supplier Relations Lead
Sends branded price lists and RFQ packs to vendors. Needs a header/footer-branded workbook with product image, supplier reference and pricing, ideally on a scheduled ir.cron drop to a recipient list.
Odoo Administrator
Owns the instance and must keep it upgrade-safe. Wants a clean module with pinned dependencies, ir.model.access.csv security, no core monkey-patching, and a git handover they can maintain across 17/18/19 upgrades.
Excel Export with Embedded Images 如何比较
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | Odoo 原生 |
|---|---|---|---|---|
| Image handling | Real thumbnails embedded in cells via insert_image() | Possible but you build the Pillow/xlsxwriter pipeline yourself | Often exports Base64 text or a URL, not a real picture | Dumps Base64 string or omits the image entirely |
| Version & edition fit | Built against your exact 17/18/19, Community or Enterprise | Whatever your team targets and maintains | One build; may lag your version or edition | Ships with core; no image-in-cell capability |
| Scope match | Your models, columns, formatting and branding by design | Fully bespoke but all effort is on you | Fixed feature set; you adapt to it | Generic export with no configuration for images |
| Security model | ir.model.access.csv + record rules, runs as acting user | Correct only if your devs implement it | Varies; access controls often minimal | Standard export permissions, no export-profile control |
| Automation | Optional ir.cron scheduled email export in scope | Build the cron yourself | Rarely includes scheduled delivery | Manual export only |
| Support & upgrades | Post-go-live window + optional retainer for version bumps | Your team owns all maintenance | Vendor support quality varies; upgrade timing not guaranteed | Community/Enterprise support, no custom-feature help |
| Ownership | Full git repo handover — you own the source | You own it | Licensed module; source may be obfuscated | N/A — it's core |
| Delivery | one working week build-to-order, tested on staging + rollback | Depends on internal backlog and skills | Instant download but generic and unverified on your data | Already installed, but lacks the capability |
关于Excel Export with Embedded Images的常见问题
How is this different from Odoo's built-in list export or XLSX report?
Odoo's native list export writes binary image fields as raw Base64 text (or drops them), and the standard XLSX exporter only outputs text and numbers. This module decodes the image server-side, resizes it, and inserts a real picture into the cell with xlsxwriter's insert_image() — an editable spreadsheet where the thumbnail actually appears, anchored and scaled to the row.
What is the delivery lead time?
This is a build-to-order module, not an instant apps.odoo.com download. Typical delivery is one working week from confirmed scope. The timeline starts once we agree the target models, columns, image fields, branding and your Odoo version on the scoping call. Nothing auto-downloads — we build, test on staging, and install it for you.
Which Odoo versions and editions are supported?
Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. We build against your exact version so the ORM, view and reporting APIs match. If you later upgrade, we handle the version bump as part of a support engagement since it's your own maintained source.
How does support and updates work after go-live?
Every build includes a post-go-live support window for defect fixes and questions. Because you receive the full git repository, you own the code and can maintain it in-house or keep it on a support/retainer arrangement with ECOSIRE — including version upgrades and new model/column additions as your needs grow.
Can it export any model, or just products?
Any model. The exporter is driven by a per-model profile, so it works with product.template, res.partner or any custom models.Model that has a binary image field. During scoping we map the models, columns and image fields you need — nothing is hardcoded to products.
Will it respect our access rights and multi-company setup?
Yes. Exports run as the acting user, so record rules, domain filters and multi-company rules are enforced — users only export rows they can already read. Who may run or configure exports is controlled via ir.model.access.csv and optional record rules defined during the build.
Can exports be automated instead of run by hand?
Yes, where it's in scope. We can wire an ir.cron scheduled action that renders the workbook and emails it to a recipient list on a recurring cadence — useful for weekly supplier price lists or stock reports — in addition to the on-demand list-view export.
相关模块
Excel Export with Embedded Images
A build-to-order Odoo module that exports list views and report data to native .xlsx with real image thumbnails embedded directly in the cells — no Base64 strings, no broken links. ECOSIRE scopes, builds, installs, and supports it for you.
- Real image thumbnails inserted into cells via xlsxwriter insert_image() with per-cell anchoring, x/y scale, and object positioning — never Base64 text dumps
- Server-side decode of Odoo binary fields (image_1920, image_128, custom binary) and Pillow resize to a configurable thumbnail dimension for small, fast workbooks
- Per-model export profile config object controlling column selection, order, headers, number/date formats, column widths and row heights to fit images
- List-view integration via a Server Action / ir.actions.act_window menu so users export the exact filtered, sorted, multi-selected record set they see



