如何使用C#与ClosedXML 0.95.4获取Excel单元格带换行的文本
ClosedXML 0.95.4 读取带换行单元格文本的解决方案
Excel 中按 Alt+Enter 插入的单元格换行,底层存储为 \n 字符,你遇到的换行丢失问题,可按以下方案解决:
首选读取方式:调用
GetString()方法直接读取,再根据输出场景替换换行符
代码示例:// 读取单元格原始内容,默认已包含\n换行符 string content = tgtcell.GetString(); // 适配Windows平台控件(如多行TextBox、Label)的换行规则,替换为系统默认换行符 content = content.Replace("\n", Environment.NewLine);注意:如果输出到单行UI控件、未开启多行属性的文本组件,
\n不会被识别为换行,看起来会和无换行效果一致,并非读取失败,可打断点查看字符串字符长度确认是否包含换行符(abc\nxyz总长度为7,无换行的abcxyz长度为6)。富文本单元格读取方式:如果单元格为富文本格式,遍历富文本片段拼接后处理换行
代码示例:StringBuilder richTextBuilder = new StringBuilder(); foreach (var part in tgtcell.RichText) { richTextBuilder.Append(part.Text); } string content = richTextBuilder.ToString().Replace("\n", Environment.NewLine);兜底读取方案:直接读取单元格原始Value值
代码示例:string content = tgtcell.Value?.ToString() ?? string.Empty; content = content.Replace("\n", Environment.NewLine);
内容的提问来源于stack exchange,提问作者E.S.
相关产品推荐
相关产品推荐

