此示例演示如何使用 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(); } |