如何在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 或调整页面扩展 |
低品质产量 | 增加 HorizontalResolution 和 VerticalResolution |