我使用以下代码:
using (var package = new ExcelPackage()) {
var worksheet = package.Workbook.Worksheets.Add("Test");
var cell = worksheet.Cells[1, 1];
var r1 = cell.RichText.Add("TextLine1" + "\r\n");
r1.Bold = true;
var r2 = cell.RichText.Add("TextLine2" + "\r\n");
r2.Bold = false;
package.SaveAs(...);
}
但是在 Excel 文件中,换行符不见了......
我也尝试过“\n”和“\r”,但没有任何效果......
最佳答案
终于找到了解决办法。这是一个工作示例:
using (var package = new ExcelPackage(fileInfo)) {
var worksheet = package.Workbook.Worksheets.Add("Test");
var cell = worksheet.Cells[1, 1];
cell.Style.WrapText = true;
cell.Style.VerticalAlignment = ExcelVerticalAlignment.Top;
var r1 = cell.RichText.Add("TextLine1" + "\r\n");
r1.Bold = true;
var r2 = cell.RichText.Add("TextLine2" + "\r\n");
r2.Bold = false;
package.Save();
}
但我想我在库中发现了一个 bug:This Code NOT working:
using (var package = new ExcelPackage(fileInfo)) {
var worksheet = package.Workbook.Worksheets.Add("Test");
var cell = worksheet.Cells[1, 1];
cell.Style.WrapText = true;
cell.Style.VerticalAlignment = ExcelVerticalAlignment.Top;
var r1 = cell.RichText.Add("TextLine1" + "\r\n");
r1.Bold = true;
var r2 = cell.RichText.Add("TextLine2" + "\r\n");
r2.Bold = false;
cell = worksheet.Cells[1, 1];
var r4 = cell.RichText.Add("TextLine3" + "\r\n");
r4.Bold = true;
package.Save();
}
当我再次获得相同的范围并添加新的 RichText 标记时,旧的换行符被删除...(它们实际上被转换为“\n”,这在 Excel 中不起作用。)
关于c# - 如何使用 RichText 在 EPPlus 的单个单元格中获取换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49283949/