Estoy usando LINQ to XML para crear un archivo Excel XML. Quiero incluir nuevas líneas dentro de las celdas. Excel utiliza el literal
para representar una nueva línea. Si trato de agregar esta usando un xtext:Excel XML Newline en la Celda
XText newlineElement = new XText("Foo Bar");
me sale:
Foo
Bar
que se muestra en Excel como:
Foo Bar
¿Hay una manera de escriba 

en el archivo XML sin hacer un
String.Replace("
", " ")
sobre el texto del archivo resultante?
EDIT Aquí hay un fragmento de código que muestra cómo creo una fila para el documento de Excel. Lo estaba evitando porque es un poco desordenado. :) Avíseme si más código ayudaría, o si esto solo agrega más confusión.
En este ejemplo, el newlineElement
descrito anteriormente está representado por el único XText en el ejemplo de código.
const string CELL = "{urn:schemas-microsoft-com:office:spreadsheet}Cell";
const string DATA = "{urn:schemas-microsoft-com:office:spreadsheet}Data";
const string STYLE = "{urn:schemas-microsoft-com:office:spreadsheet}StyleID";
const string TYPE= "{urn:schemas-microsoft-com:office:spreadsheet}Type";
const string HEIGHT = "{urn:schemas-microsoft-com:office:spreadsheet}Height";
const string ROW = "{urn:schemas-microsoft-com:office:spreadsheet}Row";
...
XElement rowElement = new XElement(Row,
new XElement(CELL,
new XAttribute(STYLE, "s0")),
new XElement(CELL,
new XElement(DATA,
new XText(description.Replace("\n", " ")),
new XAttribute(TYPE, "String")),
new XAttribute(STYLE, "sWrap")),
new XElement(CELL,
new XAttribute(STYLE, "s0")),
new XAttribute(HEIGHT, height));
Esto produce:
<ss:Row ss:Height="45">
<ss:Cell ss:StyleID="s0" />
<ss:Cell ss:StyleID="sWrap">
<ss:Data ss:Type="String">Foo&#10;Bar</ss:Data>
</ss:Cell>
<ss:Cell ss:StyleID="s0" />
</ss:Row>
Gracias por la ayuda hasta el momento!
Lo creas o no, esto no parece posible. – SLaks
¿Podría publicar algún código de ejemplo de cómo se está incorporando en el archivo de Excel? – CoderDennis
Básicamente, sería bueno ver algún código que muestre cómo está utilizando el objeto newlineElement después de crearlo. – CoderDennis