2013-03-28 5 views
7

Можно ли установить стиль для всего столбца в EPPlus? Я бы ожидать, что я мог бы просто использовать метод Column, но когда я делаю, я получаю странные результаты:Как установить стиль для всего столбца в EPPlus?

//Sets all cells in all columns to Red 
worksheet.Column(1).Style.Font.Color.SetColor(Color.Red); 

//Sets some cells in column B to red. 
worksheet.Column(2).Style.Font.Color.SetColor(Color.Red); 

В обеих случаях я устанавливаю цвет после добавления некоторых строк заголовка, но перед добавлением большой частью строк ам не устанавливая цвет где-либо еще. Я также получаю аналогичные неожиданные результаты, устанавливающие горизонтальное выравнивание. В настоящий момент я прибегаю к тому, чтобы установить стиль на уровне ячейки.

Я использую его неправильно или это ошибка? Использование EPPlus 3.1.2.0 и Excel 2010 (14.0.6129.5000).

ответ

4

Попробуйте использовать диапазоны; У меня была проблема с использованием номеров.

//Get the final row for the column in the worksheet 
int finalrows = worksheet.dimension.End.Row; 

//Convert into a string for the range. 
string ColumnString = "A1:A" + finalrows.ToString(); 

//Convert the range to the color Red 
worksheet.Cells[ColumnString].Style.Font.Color.SetColor(Color.Red); 

Надеюсь, это сработает, но я не пробовал.

+0

Спасибо! Это помогло мне! Если вы пытаетесь пропустить преобразование, вы также можете сделать 'workheet.Dimension.End.Address' – confusedandamused

5
int indexOfColumn = ...; 
worksheet.Column(indexOfColumn).Style.Font.Color.SetColor(Color.Red); 
Смежные вопросы