如何将 XLTm 文件转换为 EMF 图片
Sheetize 提供了一个简洁、高性能的 API,能够把 Excel 宏启用模板(.xltm)直接转成清晰的 EMF(增强型元文件)图片。该功能非常适合在文档中嵌入工作簿预览、生成可缩放的图形,或在不暴露原始电子表格数据的情况下制作基于矢量的报表。
为什么选择 Sheetize 进行 XLTm‑→ EMF 转换?
- 完整保真 – 保留单元格格式、图表和嵌入的图片,同时生成可无限放大的矢量图像。
- 快速且可扩展 – 为 .NET 优化,支持 Windows、macOS 与 Linux。
- 可自定义分辨率 – 通过 DPI 或缩放因子调节输出精度。
- 零依赖 – 无需安装 Office 或任何外部工具。
快速开始
在 .NET 项目中通过 NuGet 添加 Sheetise.ImageConverter 包,然后调用 ImageConverter.Process 方法即可。
示例 C# 代码
using Sheetize;
var loadOptions = new LoadOptions
{
// XLTm 源文件路径
InputFile = @"D:\Templates\InvoiceTemplate.xltm"
};
var saveOptions = new ImageSaveOptions
{
// 输出文件路径:使用 .emf 扩展名即指定 EMF 格式
OutputFile = @"D:\Images\InvoiceTemplate.emf",
// 可选:控制图像分辨率(DPI)——EMF 为矢量图,但 DPI 会影响默认尺寸
HorizontalResolution = 300,
VerticalResolution = 300,
// 可选:缩放因子(1.0 = 100%)
// ScaleFactor = 1.0
};
ImageConverter.Process(loadOptions, saveOptions);上面的代码将 InvoiceTemplate.xltm 加载后,以指定的分辨率(以及可选的缩放因子)导出为 InvoiceTemplate.emf。
EMF 输出的关键参数
| 参数 | 说明 |
|---|---|
| HorizontalResolution / VerticalResolution | 定义参考 DPI;数值越高,默认尺寸越大(后续可通过缩放调整)。 |
| ScaleFactor | 整体放大倍数,例如 2.0 会把宽高各放大一倍。 |
| BackgroundColor | 若工作簿存在透明区域,可为其指定背景色。 |
最佳实践
- 打印用图建议使用 300 DPI 以上;仅作屏幕预览时可使用更低的 DPI。
- 若生成的图形在目标应用中显得过小或过大,调节 ScaleFactor 进行微调。
- 使用矢量图查看器(如 Inkscape、Windows 资源管理器等)打开生成的 EMF,确认所有元素均正常渲染。