Domanda

Attualmente sto usando qualcosa di simile, inserisci in linea stringa in una cella :

new Cell() 
{ 
    CellReference = "E2", 
    StyleIndex = (UInt32Value)4U, 
    DataType = CellValues.InlineString, 
    InlineString = new InlineString(new Text( "some text")) 
}

Ma \n non funziona per inserire un'interruzione di riga, come posso fare questo?


La risposta

new Cell(
         new CellValue("string \n string")
        ) 
    { 
        CellReference = "E2", 
        StyleIndex = (UInt32Value)4U, 
        DataType = CellValues.String         
    }
È stato utile?

Soluzione

Provare CellValues.Stringa invece di CellValues.InlineString.

Altri suggerimenti

Hai bisogno di fare due cose:

1.) Marco cella come "ritorno a capo del Testo".Si può fare questo in un foglio di calcolo a mano se si utilizza un foglio di lavoro esistente come modello.Basta fare clic destro sulla cella e selezionare "Formato Celle.."fare clic su "Allineamento"scheda e verificare l' "Testo A Capo"casella di controllo.
O... È possibile impostare il CellFormat a livello di programmazione.Se si dispone di un CellFormat oggetto chiamato "cf ", si potrebbe fare qualcosa di simile a questo:

cf.ApplyAlignment = true;//Set this so that Excel knows to use it.
if (cf.Alignment == null)//If no pre-existing Alignment, then add it.
  cf.Alignment = new Alignment() { WrapText = true };
Alignment a = cf.Alignment;
if (a.WrapText == null || a.WrapText.Value == false)
  a.WrapText = new BooleanValue(true);//Update pre-existing Alignment.

2.) Non si deve usare " ", invece si dovrebbe essere utilizzando lo standard carriage return + line feed combinazione:" "
Se si sta mescolando le due (es." " senza precedenti " " e " "), questo dovrebbe risolvere il problema prima di inserire il valore della cella:

sHeaderText = sHeaderText.Replace("\r\n", "\n").Replace("\n", "\r\n");

Io, me stesso, non utilizzare CellValues.String o anche CellValues.InlineString.
Invece di costruire il mio testo utilizzando cellule CellValues.SharedString (come Excel).
Per Bool io uso "CellValues.Boolean"e per tutti gli altri (numeri e date) non ho il cell Tipo di dati per nulla, perché questo è ciò che Excel fa quando guardo il codice che crea.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top