You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:54:04