create - ¿Cómo puedo dar un salto de línea en excel epplus c#
epplus php (2)
¿Tuviste que activar el ajuste de texto en las celdas? Está apagado por defecto. Así que algo como esto:
<body>
<form id="form1" runat="server">
<div>
<textarea id="TextArea1" style="height: 200px; width: 400px;" runat="server"></textarea>
</div>
<div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_OnClick" Text="Button" />
</div>
</form>
</body>
Y esto:
protected void Button1_OnClick(object sender, EventArgs e)
{
//Create the table from the textbox
var dt = new DataTable();
dt.Columns.Add("Column1");
var dr = dt.NewRow();
dr[0] = TextArea1.InnerText;
dt.Rows.Add(dr);
var excelDocName = @"c:/temp/temp.xlsx";
var aFile = new FileInfo(excelDocName);
if (aFile.Exists)
aFile.Delete();
var pck = new ExcelPackage(aFile);
var ws = pck.Workbook.Worksheets.Add("Content");
ws.Cells["A1"].LoadFromDataTable(dt, true);
ws.Cells["A1:A2"].Style.WrapText = true; //false by default
pck.Save();
}
Y lo dejo caer en el textarea:
This is line 1.
This is line 3.
This is line 5.
Que se abre con los saltos de línea mostrados.
Estoy utilizando la biblioteca Epplus para convertir dataTable
en Excel. Estoy usando un área de texto en mi sitio frontal. En el que también hay un salto de línea. Pero, el problema es cuando convierto este archivo a Excel, el texto se muestra en una línea, no con un salto de línea.
¿Cómo puedo agregar un salto de línea en Excel Epplus.
Estoy usando el siguiente script:
using (ExcelPackage pck = new ExcelPackage(newFile)) {
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts");
ws.Cells["A1"].LoadFromDataTable(dataTable, true);
pck.Save();
}
.LoadFromDataTable()
conservará los saltos de línea que existen en los datos en dataTable
.
Ejecutar este ejemplo mínimo produce una hoja de cálculo donde la cadena en la celda A2 contiene el salto de línea:
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("TestCol");
DataRow row = dt.NewRow();
row["TestCol"] = "string that"+Environment.NewLine+"contains a linebreakc";
dt.Rows.Add(row);
using (var package = new ExcelPackage())
{
ExcelWorksheet ws = package.Workbook.Worksheets.Add("DataTable");
ws.Cells["A1"].LoadFromDataTable(dt, true);
package.SaveAs(new FileInfo(@"C:/Temp/test.xlsx"));
}
¿Supongo que si los datos no contienen un salto de línea o solo es un caso en el que solo se puede ver una línea al abrir la hoja de cálculo debido a la altura de la fila?