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)来帮助我解决这个问题。
我正在使用 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)来帮助我解决这个问题。