2013-03-28 11 views
7

È possibile impostare lo stile per un'intera colonna in EPPlus? Mi aspetterei che ho potuto solo utilizzare il metodo Column, ma quando lo faccio ho ottenere risultati strani:Come impostare lo stile per un'intera colonna in 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); 

In entrambi i casi io pongo il colore dopo l'aggiunta di alcune righe di intestazione, ma prima di aggiungere il grosso delle righe am un non impostare il colore da nessun'altra parte. Ottengo anche risultati simili inaspettati che regolano l'allineamento orizzontale. Al momento sto ricorrendo al dover impostare lo stile a livello di cella.

Sto usando in modo errato o si tratta di un bug? Utilizzo di EPPlus 3.1.2.0 ed Excel 2010 (14.0.6129.5000).

risposta

4

Provare a utilizzare intervalli; Stavo avendo problemi con l'uso dei numeri.

//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); 

Speriamo che funzioni, ma non l'ho provato.

+0

Grazie! Questo mi ha aiutato! Se stai cercando di saltare la conversione puoi anche fare 'worksheet.Dimension.End.Address' – confusedandamused

5
int indexOfColumn = ...; 
worksheet.Column(indexOfColumn).Style.Font.Color.SetColor(Color.Red); 
Problemi correlati