Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > 图片 >
如何:插入和删除图片

此示例演示如何使用 PictureCollection.AddPicture 方法重载将图片从不同源插入到工作表中。

使用 PictureCollection.GetPicturesByName 方法可以获取具有指定名称的所有图片。调用 PictureCollection.GetPictureById 方法,按图片的唯一 ID 查找图片。

若要从工作表中删除图片,请使用图片的 Shape.Delete 方法。

#从文件或流

Vb.Net
'创建一个Workbook工作簿对象.
Dim workbook As New DevExpress.Spreadsheet.Workbook()
workbook.BeginUpdate()
'将测量单位设置为毫米。
workbook.Unit = DevExpress.Office.DocumentUnit.Millimeter
Try
    Dim worksheet As Worksheet = workbook.Worksheets(0)
    '插入文件中的图片,使其左上角位于指定的单元格中。
    '默认情况下,图片名为图片1..picture NN。
    worksheet.Pictures.AddPicture("D:\Pictures\x-docserver.png", worksheet.Cells("A1"))
    ' 在离左70毫米、离上40毫米处插入一张图片,并将其调整为宽85毫米、高25毫米,锁定纵横比。
    worksheet.Pictures.AddPicture("D:\Pictures\x-docserver.png", 70, 40, 85, 25, True)
    ' 插入要删除的图片
    worksheet.Pictures.AddPicture("D:\Pictures\x-docserver.png", 0, 0)
    '删除最后插入的图片。
    '根据形状的名称查找形状。该方法返回具有相同名称的形状的集合。
    Dim picShape As Picture = worksheet.Pictures.GetPicturesByName("Picture 3")(0)
    picShape.Delete()
Finally
    workbook.EndUpdate()
End Try

C#
// 创建一个Workbook工作簿对象.
DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook();
workbook.BeginUpdate();
// 将测量单位设置为毫米。
workbook.Unit = DevExpress.Office.DocumentUnit.Millimeter;
try
{
    Worksheet worksheet = workbook.Worksheets[0];
    // 插入文件中的图片,使其左上角位于指定的单元格中。
    // 默认情况下,图片名为图片1..picture NN。
    worksheet.Pictures.AddPicture(@"D:\Pictures\x-docserver.png", worksheet.Cells["A1"]);
    // 在离左70毫米、离上40毫米处插入一张图片,并将其调整为宽85毫米、高25毫米,锁定纵横比。
    worksheet.Pictures.AddPicture(@"D:\Pictures\x-docserver.png", 70, 40, 85, 25, true);
    // 插入要删除的图片
    worksheet.Pictures.AddPicture(@"D:\Pictures\x-docserver.png", 0, 0);
    // 删除最后插入的图片。
    // 根据形状的名称查找形状。该方法返回具有相同名称的形状的集合。
    Picture picShape = worksheet.Pictures.GetPicturesByName("Picture 3")[0];
    picShape.Delete();
}
finally
{
    workbook.EndUpdate();
}


从 URI

Vb.Net
'创建一个Workbook工作簿对象.
Dim workbook As New DevExpress.Spreadsheet.Workbook()
Dim imageUri As String = "https://www.devexpress.com/Products/NET/Controls/WinForms/spreadsheet/i/winforms-spreadsheet-control.png"
'根据URL创建一个图片
Dim imageSource As DevExpress.Spreadsheet.SpreadsheetImageSource = DevExpress.Spreadsheet.SpreadsheetImageSource.FromUri(imageUri, workbook)
'将测量单位设置为点。
workbook.Unit = DevExpress.Office.DocumentUnit.Point

workbook.BeginUpdate()
Try
    Dim worksheet As DevExpress.Spreadsheet.Worksheet = workbook.Worksheets(0)
    '插入电子表格ImageSource中的图片,从左起100磅,从上起40磅,并将其调整为宽300磅、高200磅。
    worksheet.Pictures.AddPicture(imageSource, 100, 40, 300, 200)
Finally
    workbook.EndUpdate()
End Try
    

C#
// 创建一个Workbook工作簿对象.
DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook();
string imageUri = "https://www.devexpress.com/Products/NET/Controls/WinForms/spreadsheet/i/winforms-spreadsheet-control.png";
// 根据URL创建一个图片
DevExpress.Spreadsheet.SpreadsheetImageSource imageSource = DevExpress.Spreadsheet.SpreadsheetImageSource.FromUri(imageUri, workbook);
// 将测量单位设置为点。
workbook.Unit = DevExpress.Office.DocumentUnit.Point;

workbook.BeginUpdate();
try
{
    DevExpress.Spreadsheet.Worksheet worksheet = workbook.Worksheets[0];
    // 插入电子表格ImageSource中的图片,从左起100磅,从上起40磅,并将其调整为宽300磅、高200磅。
    worksheet.Pictures.AddPicture(imageSource, 100, 40, 300, 200);
}
finally
{
    workbook.EndUpdate();
}