EPPlus: как я могу назначить границу вокруг каждой ячейки после применения LoadFromCollection?

Вопрос:В моем экспорте ActionResult я смог загрузить модель в свой ExcelPackage. В тех случаях, когда возникают проблемы, назначается граница вокруг каждой ячейки после применения LoadFromCollection. В то время как AutoFitColumns правильно применяется, применяемый стиль границы применяется только к Cells["D1"], но не к таблице. BorderAround успешно помещает границу вокруг всей таблицы, но я скорее применим к

Вопрос:

В моем экспорте ActionResult я смог загрузить модель в свой ExcelPackage.

В тех случаях, когда возникают проблемы, назначается граница вокруг каждой ячейки после применения LoadFromCollection. В то время как AutoFitColumns правильно применяется, применяемый стиль границы применяется только к Cells[«D1»], но не к таблице.

BorderAround успешно помещает границу вокруг всей таблицы, но я скорее применим к границе к ячейкам внутри таблицы. Есть ли способ, которым я могу это сделать?

// Fill worksheet with data to export var modelCells = worksheet.Cells[«D1»]; var border = modelCells.Style.Border.Top.Style = modelCells.Style.Border.Left.Style = modelCells.Style.Border.Right.Style = modelCells.Style.Border.Bottom.Style = ExcelBorderStyle.Medium; modelCells .LoadFromCollection(Collection: exportQuery, PrintHeaders: true) .AutoFitColumns(); Лучший ответ:

Если я знаю количество столбцов, которые имеет модель, я могу подсчитать количество строк с помощью функции и сделать это:

var modelRows = exportQuery.Count()+1; string modelRange = «D1:F» + modelRows.ToString(); var modelTable = worksheet.Cells[modelRange];

Или, с большим контекстом. Я подтвердил, что EPPlus примет строковую переменную в ячейках [], что позволяет мне выбрать всю таблицу и правильно применить мой стиль границ и AutoFitColumns{}. Все, что мне нужно сделать вручную, – введите начальный столбец и конечный столбец в переменной modelRange.

var modelCells = worksheet.Cells[«D1»]; var modelRows = exportQuery.Count()+1; string modelRange = «D1:F» + modelRows.ToString(); var modelTable = worksheet.Cells[modelRange]; // Assign borders modelTable.Style.Border.Top.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Left.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Right.Style = ExcelBorderStyle.Thin; modelTable.Style.Border.Bottom.Style = ExcelBorderStyle.Thin; // Fill worksheet with data to export modelCells.LoadFromCollection(Collection: exportQuery, PrintHeaders: true); modelTable.AutoFitColumns();

Оцените статью
Добавить комментарий