Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > Chart图表 >
如何:从图表工作表生成缩略图

电子表格文档 API 允许您为图表工作表创建缩略图。缩略图是一个小图像,可以插入到文档、演示文稿或网站中,以显示图表工作表内容的预览。

调用 ChartSheet 对象的 ChartSheetExtensions.CreateThumbnail 扩展方法,以从图表工作表生成指定大小的缩略图。将 ImageFileFormat 枚举成员传递给此方法以设置缩略图格式。

如果图表工作表大于缩略图图像,则会裁剪图表工作表以适合缩略图。如果图表工作表较小,则剩余空间将填充默认背景色。

下面的代码示例将图表工作表另存为图像。

Vb.Net
'创建一个Workbook工作簿对象.
Using workbook As New DevExpress.Spreadsheet.Workbook()
    '从文件加载工作簿。
    workbook.LoadDocument("D:\VariableCosts.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx)

    '访问活动图表工作表。
    Dim chartSheet As DevExpress.Spreadsheet.ChartSheet = workbook.ChartSheets.ActiveChartSheet

    '创建缩略图。
    If chartSheet IsNot Nothing Then
        chartSheet.CreateThumbnail("D:\Chart_sheet_Thumbnail.png", DevExpress.Spreadsheet.ImageFileFormat.Png, 920, 670)
    End If
End Using

C#
// 创建一个Workbook工作簿对象.
using (DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook())
{
    // 从文件加载工作簿。
    workbook.LoadDocument(@"D:\VariableCosts.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx);
    
    // 访问活动图表工作表。
    DevExpress.Spreadsheet.ChartSheet chartSheet = workbook.ChartSheets.ActiveChartSheet;
    
    // 创建缩略图。
    if (chartSheet != null)
    {
        chartSheet.CreateThumbnail(@"D:\Chart_sheet_Thumbnail.png", DevExpress.Spreadsheet.ImageFileFormat.Png, 920, 670);
    }
}

自定义缩略图设置

创建一个 SheetThumbnailOptions 类实例,并将其传递给 ChartSheetExtensions.CreateThumbnail 方法以指定缩略图选项。可以使用以下选项:

SheetThumbnailOptions 属性 说明 描述
BackgroundColor 背景颜色 指定输出图像的背景色。
Resolution 分辨率 指定图像分辨率(以 DPI 为单位)。
Scale 缩放 指定在将图表工作表的内容另存为图像之前如何缩放该内容。如果 Stretch 属性设置为 true,则 Scale 属性不起作用。
Stretch 伸展 指定是否拉伸图表工作表以适合输出图像大小。

下面的代码示例指定缩略图选项并生成缩略图。

Vb.Net
'创建一个Workbook工作簿对象.
Using workbook As New DevExpress.Spreadsheet.Workbook()
    '从文件加载工作簿。
    workbook.LoadDocument("D:\VariableCosts.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx)

    ' 访问活动图表工作表。
    Dim chartSheet As DevExpress.Spreadsheet.ChartSheet = workbook.ChartSheets.ActiveChartSheet

    '指定一个缩略图选项
    Dim thumbnailOptions = New DevExpress.Spreadsheet.SheetThumbnailOptions With {
      .Resolution = 192,
      .Scale = 40,
      .BackgroundColor = Color.FromArgb(&HF2, &HF2, &HF2)
    }

    '生成一个缩略图
    If chartSheet IsNot Nothing Then
        chartSheet.CreateThumbnail("D:\Chart_sheet_Thumbnail.png", DevExpress.Spreadsheet.ImageFileFormat.Png, 800, 600, thumbnailOptions)
    End If
End Using

C#
// 创建一个Workbook工作簿对象.
using (DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook())
{
    // 从文件加载工作簿。
    workbook.LoadDocument(@"D:\VariableCosts.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx);
    
    // 访问活动图表工作表。
    DevExpress.Spreadsheet.ChartSheet chartSheet = workbook.ChartSheets.ActiveChartSheet;
    
    // 指定一个缩略图选项
    var thumbnailOptions = new DevExpress.Spreadsheet.SheetThumbnailOptions()
    {
    Resolution = 192,
    Scale = 40,
    BackgroundColor = Color.FromArgb(0xF2, 0xF2, 0xF2)
    };
    
    // 生成一个缩略图
    if (chartSheet != null)
    {
        chartSheet.CreateThumbnail(@"D:\Chart_sheet_Thumbnail.png", DevExpress.Spreadsheet.ImageFileFormat.Png, 800, 600, thumbnailOptions);
    }
}