EPPlus Excel AddPicture错误“列号出界”

我有以下代码:

具有“excelImage”初始化的行会抛出exception:列号超出范围。 问题的解决scheme是什么?

var range2 = worksheet.Cells ["A" + limiter.ToString ()]; range2.Value = tokenGood.id; //Take from JSON-array worksheet.Row (limiter).Height = 70; //'limiter' is like row iterator worksheet.Column (1).Width = 10; Bitmap img = new Bitmap(Image.FromFile (PIC_FILENAME)); OfficeOpenXml.Drawing.ExcelPicture excelImage = worksheet.Drawings.AddPicture ("random_string", img); //Error Line excelImage.From.Column = 3; excelImage.From.Row = limiter; excelImage.SetSize (60, 60); 

这似乎是当前(4.0.5)EPPlus中的一个错误。 尽pipe最近发布了当前的版本, CodePlex上未解决的问题仍然很多,所以我没有看到任何接近的固定版本。

我通过下载源代码解决了这个问题,在EPPlus / Drawing / ExcelDrawingBase.cs中手动更正4行并重新编译。

行是513,515(都在SetPixelHeight(int, float) )和540,542(在SetPixelWitdh(int, float) )。

我将这两行中From.ColumnFrom.Row的出现次数更改为Math.Max(From.Column, 0)Math.Max(From.Row, 0)

这里的问题是, From属性是一个不知何故未被正确初始化的对象,因此From.RowFrom.Column的值被设置为int.MinValue (它不是一个有效的列/行索引)可能会猜测。

我一直在寻找解决方法,不需要编辑源代码,但找不到任何:希望这会有所帮助。