OpenXml生成Word

using DocumentFormat.OpenXml.Wordprocessing;



 //生成word文档

        private void 生成word文档ToolStripMenuItem_Click(object sender, EventArgs e)

        {

      using (WordprocessingDocument package = WordprocessingDocument.Create(@"OpenWord.docx", WordprocessingDocumentType.Document))
                {
                    CreateParts(package);
                }

}



private void CreateParts(WordprocessingDocument document)
        {          


            MainDocumentPart mainDocumentPart1 = document.AddMainDocumentPart();
            try
            {
                GenerateMainDocumentPart1Content(mainDocumentPart1);
            }
            catch (Exception ex) { MessageBox.Show("生成word失败!" + ex.Message); }
        }



  private void GenerateMainDocumentPart1Content(MainDocumentPart mainDocumentPart1)
        {





            Document document1 = new Document() { MCAttributes = new MarkupCompatibilityAttributes() { Ignorable = "w14 w15 wp14" } };


            Body body1 = new Body();


            DocumentFormat.OpenXml.Wordprocessing.Paragraph paragraph1 = new DocumentFormat.OpenXml.Wordprocessing.Paragraph();


            DocumentFormat.OpenXml.Wordprocessing.ParagraphProperties paragraphProperties1 = new DocumentFormat.OpenXml.Wordprocessing.ParagraphProperties();


            NumberingProperties numberingProperties1 = new NumberingProperties();
            NumberingLevelReference numberingLevelReference1 = new NumberingLevelReference() { Val = 0 };
            NumberingId numberingId1 = new NumberingId() { Val = 0 };


            numberingProperties1.Append(numberingLevelReference1);
            numberingProperties1.Append(numberingId1);
            DocumentFormat.OpenXml.Wordprocessing.Justification justification1 = new DocumentFormat.OpenXml.Wordprocessing.Justification() { Val = DocumentFormat.OpenXml.Wordprocessing.JustificationValues.Left };


            ParagraphMarkRunProperties paragraphMarkRunProperties1 = new ParagraphMarkRunProperties();
            RunFonts runFonts1 = new RunFonts() { Hint = FontTypeHintValues.EastAsia, Ascii = "新宋体", HighAnsi = "新宋体", EastAsia = "新宋体", ComplexScript = "新宋体" };
            Bold bold1 = new Bold();
            BoldComplexScript boldComplexScript1 = new BoldComplexScript();
            DocumentFormat.OpenXml.Wordprocessing.Color color1 = new DocumentFormat.OpenXml.Wordprocessing.Color() { Val = "auto" };
            FontSize fontSize1 = new FontSize() { Val = "28" };
            FontSizeComplexScript fontSizeComplexScript1 = new FontSizeComplexScript() { Val = "28" };
            Languages languages1 = new Languages() { Val = "en-US", EastAsia = "zh-CN" };


            paragraphMarkRunProperties1.Append(runFonts1);
            paragraphMarkRunProperties1.Append(bold1);
            paragraphMarkRunProperties1.Append(boldComplexScript1);
            paragraphMarkRunProperties1.Append(color1);
            paragraphMarkRunProperties1.Append(fontSize1);
            paragraphMarkRunProperties1.Append(fontSizeComplexScript1);
            paragraphMarkRunProperties1.Append(languages1);


            paragraphProperties1.Append(numberingProperties1);
            paragraphProperties1.Append(justification1);
            paragraphProperties1.Append(paragraphMarkRunProperties1);


            DocumentFormat.OpenXml.Wordprocessing.Run run1 = new DocumentFormat.OpenXml.Wordprocessing.Run();


            DocumentFormat.OpenXml.Wordprocessing.RunProperties runProperties1 = new DocumentFormat.OpenXml.Wordprocessing.RunProperties();




            //RunFonts runFonts2 = new RunFonts() { Hint = FontTypeHintValues.EastAsia, Ascii = "新宋体", HighAnsi = "新宋体", EastAsia = "新宋体", ComplexScript = "新宋体" };
            RunFonts runFonts2 = null;
            if (model.FirstWDBHFont != null)
            {
                runFonts2 = new RunFonts() { Hint = FontTypeHintValues.EastAsia, Ascii = model.WDBHFont, HighAnsi = model.WDBHFont, EastAsia = model.WDBHFont, ComplexScript = model.WDBHFont };
            }
            else
            {
                runFonts2 = new RunFonts() { Hint = FontTypeHintValues.EastAsia, Ascii = "新宋体", HighAnsi = "新宋体", EastAsia = "新宋体", ComplexScript = "新宋体" };
            }


            Bold bold2 = new Bold();
            BoldComplexScript boldComplexScript2 = new BoldComplexScript();


            //DocumentFormat.OpenXml.Wordprocessing.Color color2 = new DocumentFormat.OpenXml.Wordprocessing.Color() { Val = "auto" };
            DocumentFormat.OpenXml.Wordprocessing.Color color2 = null;
            if (model.FirstWDBHColor != null)
            {
                color2 = new DocumentFormat.OpenXml.Wordprocessing.Color() { Val = model.FirstWDBHColor };
            }
            else
            {
                color2 = new DocumentFormat.OpenXml.Wordprocessing.Color() { Val = "auto" };
            }




            //FontSize fontSize2 = new FontSize() { Val = "21" };
            FontSize fontSize2 = null;
            if (model.FirstWDBHSize != null)
            {
                fontSize2 = new FontSize() { Val = model.FirstWDBHSize };
            }
            else
            {
                fontSize2 = new FontSize() { Val = "21" };
            }








            FontSizeComplexScript fontSizeComplexScript2 = new FontSizeComplexScript() { Val = "21" };
            Languages languages2 = new Languages() { Val = "en-US", EastAsia = "zh-CN" };


            runProperties1.Append(runFonts2);


            if (model.WDBHBold)
            {
                runProperties1.Append(bold2);
            }


            runProperties1.Append(boldComplexScript2);
            runProperties1.Append(color2);
            runProperties1.Append(fontSize2);
            runProperties1.Append(fontSizeComplexScript2);
            runProperties1.Append(languages2);
            DocumentFormat.OpenXml.Wordprocessing.Text text1 = new DocumentFormat.OpenXml.Wordprocessing.Text();
            text1.Text = cb_wdbh.Text;  //文档编号


            run1.Append(runProperties1);
            run1.Append(text1);

    paragraph1.Append(run1);

}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN.LG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值