如何将 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 若工作簿存在透明区域,可为其指定背景色。

最佳实践

  1. 打印用图建议使用 300 DPI 以上;仅作屏幕预览时可使用更低的 DPI。
  2. 若生成的图形在目标应用中显得过小或过大,调节 ScaleFactor 进行微调。
  3. 使用矢量图查看器(如 Inkscape、Windows 资源管理器等)打开生成的 EMF,确认所有元素均正常渲染。
 中文