如何在C#中将整个Excel工作簿转换为图像

如何在C#中将整个Excel工作簿转换为图像

将 Excel 文件作为图像作为网页、文档或报告中插入分布表时至关重要,这篇文章展示了如何将整个 Excel 工作簿转换为高品质的图像格式,使用 Aspose.Cells for .NET

为什么要将工作簿转换为图像?

  • 创建 Excel 文件预览
  • 图像格式中的档案分布表
  • 在报告或印刷工作流中插入分布表内容
  • 在不支持本地Excel视图的应用程序中显示图表

步骤实施

步骤 1: 安装 Aspose.Cells 为 .NET

使用 NuGet 将 Aspose.Cells 添加到您的项目中:

dotnet add package Aspose.Cells

步骤2:下载 Excel 文件

Workbook workbook = new Workbook("Book1.xlsx");

步骤3:设置图像选项

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200
};

这些设置控制输出格式和分辨率,您也可以设置:

  • Transparent 背景
  • OnlyArea 排除边界
  • PrintingPageType 什么内容要包含

步骤4:重新编写工作簿

WorkbookRender renderer = new WorkbookRender(workbook, options);

步骤5:将每个页面转换为图像

通过页面,并出口每个页面:

for (int i = 0; i < renderer.PageCount; i++)
{
    string fileName = $"workbook_page_{i + 1}.png";
    renderer.ToImage(i, fileName);
}

这将根据当前打印布局创建一个逻辑页面图像。

步骤6:保存图像

上面的代码已经保存了每个图像文件到磁盘使用定义的名称。

// Output:
// workbook_page_1.png
// workbook_page_2.png
// ...

步骤7:可选改进

您可以进一步优化图像:

// Example: show gridlines
options.ShowGridLines = true;

// Example: render the entire sheet content in one page
options.AllColumnsInOnePagePerSheet = true;

最佳实践

  • 使用高分辨率(200+dpi)为打印质量图像。
  • 允许 AllColumnsInOnePagePerSheet 对于大片。
  • 将输出集成到 PDF 或图像画廊的演示文稿。

常见问题与解决方案

问题解决方案
输出图像是白色确保工作簿充电并包含可见的数据
图像被切断设置 OnePagePerSheet = true 或调整页面扩展
低品质产量增加 HorizontalResolutionVerticalResolution
 中文