[英]How can I give line break in excel epplus c#
我正在使用Epplus庫來轉換dataTable
中的數據表。我在我的前端站點中使用了一個文本區域。 其中也有一個換行符。 但是,問題是當我將此文件轉換為 Excel 時,文本顯示在一行中而不是換行符。
如何在 Excel Epplus 中添加換行符。
我正在使用以下腳本:
using (ExcelPackage pck = new ExcelPackage(newFile)) {
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts");
ws.Cells["A1"].LoadFromDataTable(dataTable, true);
pck.Save();
}
您是否打開了單元格上的文本換行? 默認情況下它是關閉的。 所以像這樣:
<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>
和這個:
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();
pck.Dispose();
}
我把它放在 textarea 中:
This is line 1.
This is line 3.
This is line 5.
打開時顯示換行符。
.LoadFromDataTable()
將保留dataTable
中數據中存在的換行符。
運行這個最小示例會生成一個電子表格,其中單元格 A2 中的字符串包含換行符:
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"));
}
我猜想要么數據不包含換行符,要么只是在打開電子表格時由於行高而只能看到一行的情況?
您也可以嘗試此解決方案:
string textOriginal = "First line text.| Second line text.";
string textToWrite = textOriginal.Replace("|", ("" + ((char)13) + ((char)10)));
myWorksheet.Cells["a1"].Value = textToWrite;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.