C# 在Aspose.Cells中插入由Byte[]转成的Image 详细代码
时间: 2023-12-04 13:01:38 浏览: 167
C# byte数组与Image相互转换的方法
以下是一个完整的示例代码,演示了如何使用 Aspose.Cells 在 Excel 表格中插入由 byte[] 转换为 Image 的图片:
```csharp
using Aspose.Cells;
using Aspose.Words.Drawing;
using System.Drawing;
using System.IO;
namespace InsertImageToExcel
{
class Program
{
static void Main(string[] args)
{
// 创建 Workbook 对象并加载 Excel 文件
Workbook workbook = new Workbook("Sample.xlsx");
// 获取第一个工作表
Worksheet worksheet = workbook.Worksheets[0];
// 从文件中读取图片字节流
byte[] bytes = File.ReadAllBytes("Sample.png");
// 将字节流转换为 Image 对象
Image image;
using (MemoryStream ms = new MemoryStream(bytes))
{
image = Image.FromStream(ms);
}
// 插入图片到指定单元格
int rowIndex = 1;
int colIndex = 1;
int pictureIndex = worksheet.Pictures.Add(rowIndex, colIndex, image);
// 设置图片大小和位置
Picture pic = worksheet.Pictures[pictureIndex];
pic.WidthInch = 2;
pic.HeightInch = 2;
pic.Left = 100;
pic.Top = 100;
// 保存 Excel 文件
workbook.Save("Output.xlsx");
// 打开 Excel 文件
System.Diagnostics.Process.Start("Output.xlsx");
}
}
}
```
这段代码将 Sample.png 图片插入到 Sample.xlsx 文件的第一个工作表中的第一个单元格。图片的大小为 2 英寸 x 2 英寸,左上角位置距离单元格左上角坐标 (100, 100)。保存后会将文件输出到 Output.xlsx,然后自动打开该文件。需要注意的是,该示例代码需要引用 Aspose.Cells 和 Aspose.Words.Drawing 命名空间。
阅读全文