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 $149.00 USD; request a quote for a scoped proposal.

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.
现在无需付款。此操作会向我们的团队发送报价请求——我们会通过邮件跟进价格和后续步骤。
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.
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
Works across product.template, product.product, res.partner and any custom models.Model — image field and columns are mapped per profile, not hardcoded
Honors the acting user's record rules, domain filters and multi-company rules — exports only rows the user is entitled to read
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 2–4 weeks from confirmed scope. Nothing is auto-downloaded and nothing is generic — it is engineered, installed, and supported by ECOSIRE for your instance.
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.
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.
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.
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.
在 ecosire.com 上购买许可证并从您的帐户仪表板下载 Excel Export with Embedded Images 模块 ZIP。
将 ZIP 解压到服务器上的 Odoo 自定义插件文件夹中(或通过“应用程序”>“从 Odoo.sh / runbot 上的文件安装”上传)。
激活开发者模式,打开应用程序,单击更新应用程序列表,搜索 Excel Export with Embedded Images,然后按安装。
打开新菜单,粘贴您的 ECOSIRE 许可证密钥,连接任何外部凭据(Shopify、Amazon、Stripe 等),然后保存。
运行内置连接测试,同步前 10 条记录,并安排定期 cron。如果出现任何问题,请联系支持人员。
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | 奥杜本机 |
|---|---|---|---|---|
| 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 | |
| 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 | |
| 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 | |
| Security model | ir.model.access.csv + record rules, runs as acting user | Correct only if your devs implement it | Varies; access controls often minimal | |
| Automation | Optional ir.cron scheduled email export in scope | Build the cron yourself | Rarely includes scheduled delivery | |
| Support & upgrades | Post-go-live window + optional retainer for version bumps | Your team owns all maintenance | Vendor support quality varies; upgrade timing not guaranteed | |
| Ownership | Full git repo handover — you own the source | You own it | Licensed module; source may be obfuscated | |
| Delivery | 2–4 weeks build-to-order, tested on staging + rollback | Depends on internal backlog and skills | Instant download but generic and unverified on your data |
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.
This is a build-to-order module, not an instant apps.odoo.com download. Typical delivery is 2–4 weeks 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.
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.
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.
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.
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.
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.
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.