Epplus, рисунок листа Excel, логотип рисуется сначала в столбце 2, а затем под ним рисуется соответствующая таблица, но поскольку ширина столбца таблицы является переменной, она автоматически расширяет изображение логотипа
Вот как я хочу, чтобы это было
![RequiredImagelink](https://s3.amazonaws.com/rs.adx.io/Required.png)
Но вот как это рендеринг
![ActualImageLink](https://s3.amazonaws.com/rs.adx.io/Actual.png)
Код рендеринга изображений
double imageColumnStartOffset = 0;
for (var i = 1; i < position.CurrentColumn; i++)
{
imageColumnStartOffset += excelWorkSheet.Column(i).Width;
}
int rowKey = Thread.CurrentThread.ManagedThreadId; //Using the current thread id as the unique key. Any better ideas? If yes, feel free to change this :)
if (!ModifiedRowCollection.ContainsKey(rowKey))
{
excelWorkSheet.Row(position.CurrentRow).Height = Pixel2Points(height);
ModifiedRowCollection.Add(rowKey, position.CurrentRow);
}
image.SetPosition(Points2PixelRow((int)imageRowStartOffset), Points2PixelColumn((int)imageColumnStartOffset));
image.SetSize(width, height);
Таблица изображений Рисунок кода
if (cell.CellDataFormat == CellDataFormat.Image)
{
Image image = null;
if (((Image)cell.Value) != null)
{
//Its a stream
image = (Image)cell.Value;
}
else
image = null;
if (image != null)
{
//excelWorkSheet.Drawings.AddPicture()
var pic = excelWorkSheet.Drawings.AddPicture("Pic" + Guid.NewGuid(), image);
pic.From.Column = pic.To.Column = position.CurrentColumn - 1;
pic.From.Row = pic.To.Row = position.CurrentRow - 1;
pic.SetPosition(pic.From.Row, 5, pic.From.Column, 5);
excelWorkSheet.Row(position.CurrentRow).Height = pic.Image.Height;
imageCollection.Add(new Dictionary<int, ExcelPicture>() { { position.CurrentColumn, pic } });
}
}
if (i == (totalRows - 1))
{
foreach (var image in imageCollection)
{
var column = image.Keys.FirstOrDefault();
var pic = image[column];
excelWorkSheet.Column(column).Width = 300/(7.5) +5;
pic.SetSize(pic.Image.Width, pic.Image.Height);
}
TableWidth += excelWorkSheet.Column(position.CurrentColumn).Width;
}
Что я пробовал
1. Исправление размера столбца перед рисованием изображения.
2. Блокировка строки
3. Фактический размер логотипа составляет 188 * 56, я попытался уменьшить его до 100 * 56, тогда растяжение не произошло, я предполагаю, что растяжение происходит, только если размер изображения больше размера столбца по умолчанию