OpenXML C# Excel SharedStringItem 插入新行

OpenXML C# Excel SharedStringItem Inserting new line

我正在使用 OpenXML 创建带有 Excel 的格式化文本块。要求是使用预定义样式(由管理员设置)来格式化文本块。我已经设法通过使用 SharedStringItem运行 class 完成了所有事情。但是我无法弄清楚如何保留马车 returns "\r\n".

以下代码未在新行上生成 运行

private static void NewRun(SharedStringItem sharedString, bool isBullet = false)
{
      var newRun = new Run();

      newRun.Text = new Text { Text = Environment.NewLine };
      sharedString.Append(newRun);
}

private static void NewRun(SharedStringItem sharedString, bool isBullet = false)
{
      var newRun = new Run();

      newRun.Text = new Text { Text = "\r\n" };
      sharedString.Append(newRun);
}

当使用上述方法时,我可以看到 SharedStringItem。InnerText 正在使用新行,但似乎在标记中丢失了。

<x:t>Our corporate and commercial litigation

我是不是偶然发现了 SharedStringItem 的限制,还是我遗漏了什么?

为了在标记中保留新行,您需要在文本 class.

中设置以下 属性
Text { Space = SpaceProcessingModeValues.Preserve }

我使用了 Open XML SDK Productivity Tool(绝对推荐并且可以在此处找到 https://github.com/OfficeDev/Open-XML-SDK/releases/tag/v2.5)来帮助我解决这个问题。