Ich baue eine Excel-Datei mit EEPLus unter MVC-5 C# -Anwendung. Alles läuft wie geplant, bis ich eine Höhe in einer Reihe einstelle (so kann ein Bild passen).Eigenartiges Verhalten beim Einstellen der Zeilenhöhe auf EPPlus
Ich lade de Bilder und stellen Sie die Höhe auf Spalte 20, etwa so:
Image cfPhoto = null;
Bitmap cfBm = null;
ExcelPicture pictureCf = null;
var photoInitialColumn = 0;
i++;
completedFormPhotos.ForEach(delegate(CompletedFormPhoto cfP)
{
cfPhoto = Image.FromFile(HostingEnvironment.MapPath("~/Content/Images/FormPhotos/" + cfP.Id + ".jpg"));
cfBm = new Bitmap(cfPhoto, new Size(215, 170));
pictureCf = worksheet.Drawings.AddPicture(cfP.Id.ToString(), cfBm);
pictureCf.SetPosition(i+1, 0, photoInitialColumn, 10);
worksheet.Cells[_alpha[photoInitialColumn] + (i + 3) + ':' + _alpha[photoInitialColumn + 1] + (i + 3)].Merge = true;
worksheet.Cells[_alpha[photoInitialColumn] + (i + 3) + ':' + _alpha[photoInitialColumn + 1] + (i + 3)].Value = cfP.comment;
worksheet.Cells[_alpha[photoInitialColumn] + (i + 3) + ':' + _alpha[photoInitialColumn + 1] + (i + 3)].Style.WrapText = true;
photoInitialColumn += 2;
//HERE I SET THE HEIGHT. At this point, i == 18
worksheet.Row(i+2).Height = 180;
});
Aber, ich habe ein Firmenlogo an der Spitze der Excel-Datei (A1 Zelle), die auch die Größe neu bestimmt wird (auf Höhe). Das ist wie folgt definiert:
Image _keyLogo = Image.FromFile(HostingEnvironment.MapPath("~/Content/Images/key_logo.png"));
var pictureLogo = worksheet.Drawings.AddPicture("Logo Key Quimica", _keyLogo);
pictureLogo.SetPosition(0, 0, 0, 0);
auf diese Resultierende:
Jede Hilfe wäre wirklich zu schätzen.
Here ist die Excel-Datei in Frage.
Dies tat den Trick selbst beim Aufruf von .SetSize (w, h) - wenn EditAs mit dem Standardwert belassen wurde, wäre das Bild auf ein Quadrat der Größe des kleineren der Parameter auf SetSize gestreckt worden. –