学习C#调用OpenXml操作word文档的基本用法(30:学习日期相关类)

  文本运行类Run的子类型DayShort、DayLong、MonthShort、MonthLong、YearShort及YearLong用于向文本中插入年月日等信息,命名空间为DocumentFormat.OpenXml. Wordprocessing,对应document.xml文件内的元素如下图所示:

  上述六种日期类型继承自EmptyType,不包含任何用于控制格式的属性,其显示格式(如日期的长短格式)完全固定。六种日期类型的说明如下表所示:

序号 名称 说明
1 DayShort 插入短日期(两位数日期),如12,xml文件中对应的标签为<w:dayShort />
2 DayLong 插入长日期(星期几的完整名称),如Tuesday,xml文件中对应的标签为<w:dayLong />
3 MonthShort 插入短月份(数字),如4,xml文件中对应的标签为<w:monthShort />
4 MonthLong 插入长月份(月份完整名称)如April,xml文件中对应的标签为<w:monthLong />
5 YearShort 插入短年份(两位数年份),如26,xml文件中对应的标签为<w:yearShort />
6 YearLong 插入长年份(四位数年份),如2026 ,xml文件中对应的标签为<w:yearLong />

  最后是使用示例及运行效果,如下所示:

csharp 复制代码
using (WordprocessingDocument wordDocument = WordprocessingDocument.Create(sfd.FileName, WordprocessingDocumentType.Document))
{
    MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();
    mainPart.Document = new Document();
    Body body = mainPart.Document.AppendChild(new Body());
    
    Paragraph paragraph = body.AppendChild(new Paragraph());
    Run run = paragraph.AppendChild(new Run());

    for (int i = 0; i < txtContent.Lines.Length; i++) 
    {
        Text text = new Text();
        text.Space = SpaceProcessingModeValues.Preserve;
        text.Text = txtContent.Lines[i];
        run.AppendChild(text);

        run.Append(new Break());
    }

    run.Append(new Text("----------------------------------日期:"));

    if(rbShortDate.Checked)
    {
        run.Append(new YearShort());
        run.Append(new Text("-"));
        run.Append(new MonthShort());
        run.Append(new Text("-"));
        run.Append(new DayShort());
    }

    if (rbLongDate.Checked)
    {
        run.Append(new YearLong());
        run.Append(new Text("-"));
        run.Append(new MonthLong());
        run.Append(new Text("-"));
        run.Append(new DayLong());
    }
}

参考文献

1https://github.com/dotnet/Open-XML-SDK

2https://learn.microsoft.com/zh-cn/office/open-xml/open-xml-sdk

3https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.style?view=openxml-3.0.1

4https://blog.csdn.net/i042416/article/details/126228816

相关推荐
VBAMatrix7 小时前
表格导航!实现Word合并附注与多个Excel的数据同步
word·excel·审计报告·审计·会计师事务所·报告工具
DS随心转小程序1 天前
文心文字怎么转为 word?告别繁琐排版操作,AI 导出鸭一站式完成文档转换工作
人工智能·word·豆包·deepseek·ai导出鸭
AI导出鸭2 天前
怎么让千问做表格?AI导出鸭苹果版将千问输出的管道表格智能解析为二维结构,一键导出为Excel或Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
zyplayer-doc2 天前
zyplayer-doc企业知识库能做什么:从文档创建、权限管理到AI问答的完整能力
大数据·javascript·数据库·人工智能·pdf·word
zyplayer-doc3 天前
企业文档改错或误删后怎么办:zyplayer-doc编辑历史、版本回滚和回收站怎么用
大数据·开发语言·javascript·数据库·pdf·word
Ai-_Man4 天前
豆包智能体内容批量导出:哪些该存、存成什么、怎么存v
人工智能·ai·小程序·word
weixin_416660074 天前
解决方案:DeepSeek不支持直接导出Word
word
2601_965912915 天前
PDF转Word工具深度横评:2026年国内免费方案技术对比
pdf·word
L歪歪君 山水甲天5 天前
Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析(1)
word·powerpoint·.net
SpaceAIGlobal6 天前
Word文档一键转PPT?4种方法实测对比与选型分析(2026)
word·powerpoint