public static void paintCell(
string value, int row, int col, ExcelWorksheet worksheet,
ExcelHorizontalAlignment HA = ExcelHorizontalAlignment.Left,
ExcelVerticalAlignment VA = ExcelVerticalAlignment.Bottom,
ExcelBorderStyle border = ExcelBorderStyle.None,
float fontSize = 10f,
bool wrapText = false
)
{
if (value?.StartsWith("=") == true)
{
worksheet.Cells[row, col].Formula = value;
}
else
{
worksheet.Cells[row, col].Value = value;
}
worksheet.Cells[row, col].Style.HorizontalAlignment = HA;
worksheet.Cells[row, col].Style.VerticalAlignment = VA;
worksheet.Cells[row, col].Style.Border.BorderAround(border);
worksheet.Cells[row, col].Style.Font.Size = fontSize;
worksheet.Cells[row, col].Style.WrapText = wrapText;
}
Если ячейки без объеденения, то высота строки подстраивается автоматически чтобы влез весь текст.
paintCell(data.WorkClassName, row, 2, worksheet, wrapText: true);
Но если объеденить ячейки, то высота не подгоняется автоматически, текст переносится, но высота ячейки остается в 1 строку текста.
paintCell(data.WorkClassName, row, 2, worksheet, wrapText: true);
worksheet.Cells[row, 2, row, 3].Merge = true;