ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OpenXml SDK学习笔记(5):最后的调试

2021-11-10 22:04:36  阅读:232  来源: 互联网

标签:Body MainDocumentPart doc 代码 new Document OpenXml 调试 SDK


上一篇笔记结束的时候,我对比了一下两个文档。那已经是基本一模一样了。然后,我通过电脑微信发给客户。客户收到后很惊讶,居然是空白?然后,我也用手机微信打开了这个文件,一看居然真的是空白,非常头痛。于是,我拿电脑打开这个文件,再另存为一下,再发到手机,发现居然神奇的可以看了。也就是说,肯定是我哪里的代码出了问题,对比一下我生成的代码和手机可以看的代码(本来想截图的,无奈被我删了),就可以发现原来可以用的代码<w:p>是放在<w:body>里的。而我的代码就直接写在了w:document里。啊。。。这。。。于是,查了一下代码,就可以发现我的AddParagraph没有将段落新建在Document.MainDocumentPart.Body里。(就这个小问题,我调了至少30分钟)

那既然找到了,就好办了,改一下代码咯:

 1 #region 初始化文档
 2 protected void InitializeDocument()
 3 {
 4     var doc = InternalDocument;
 5     if (doc.MainDocumentPart == null)
 6     {
 7         doc.AddMainDocumentPart();
 8     }
 9             
10     if (doc.MainDocumentPart.Document == null)
11     {
12         doc.MainDocumentPart.Document = new Document();
13     }
14 
15     if (doc.MainDocumentPart.Document.Body == null)
16     {
17         doc.MainDocumentPart.Document.Body = new Body();
18     }
19 }
20 #endregion
public CompositeElementBase AppendParagraph(WordStyles style)
{
    var body = InternalDocument.MainDocumentPart.Document.Body;
    Paragraph para = new Paragraph();
    body.Append(para);
    WordParagraph wpara = new WordParagraph(para, this);
    wpara.SetStyle(style);
    return wpara;
}

就这么简单,然后就可以正常使用啦!客户收到文件,非常满意,这个功能变更就此完成。

 

标签:Body,MainDocumentPart,doc,代码,new,Document,OpenXml,调试,SDK
来源: https://www.cnblogs.com/Pray4U/p/15535914.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有