NPOI EXCEL 插入图片 导致EXCEL 文件过大,可以进行压缩图片在插入
时间: 2024-03-11 11:49:00 浏览: 24
是的,可以通过压缩图片来减小Excel文件的大小。在使用NPOI向Excel中插入图片时,可以先将图片进行压缩,然后再将压缩后的图片插入到Excel中。NPOI提供了图片压缩的API,可以使用以下代码进行图片压缩:
```csharp
public static byte[] CompressImage(byte[] imageBytes, int quality)
{
using (var ms = new MemoryStream())
{
using (var image = Image.FromStream(new MemoryStream(imageBytes)))
{
var encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, quality);
var jpegEncoder = ImageCodecInfo.GetImageEncoders().First(x => x.FormatID == ImageFormat.Jpeg.Guid);
image.Save(ms, jpegEncoder, encoderParams);
}
return ms.ToArray();
}
}
```
其中,imageBytes是原始图片的字节数组,quality表示压缩后的图片质量,取值范围为0-100。压缩后的图片字节数组可以直接作为参数传递给NPOI的插入图片API。