OpenXml生成Word
2017-12-16 15:56
627 查看
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);
}
//生成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);
}
相关文章推荐
- OpenXml 生成Office Word的 擴展類
- OpenXml操作Word的一些操作总结.无word组件生成word.
- OpenXml操作Word的一些操作总结.无word组件生成word.
- OpenXml操作Word的一些操作总结.无word组件生成word.
- OpenXml操作Word的一些操作总结.无word组件生成word.
- php利用OpenXML规范生成word,excel(pdf其他方法)
- OpenXml操作Word的一些操作总结.无word组件生成word.
- OpenXml编程--去除自动生成的word文档中由分页符和换行符产生的空白页
- OpenXml操作Word的一些操作总结.无word组件生成word.(转)
- OpenXml操作Word的一些操作总结.无word组件生成word.
- 利用Java Apache POI 生成Word文档
- C#根据word模板生成word表格报表文档
- java对于office word文档的解决方案,读取,生成
- asp生成word
- 完美解决方案:Java生成复杂Word文档
- 用 Freemarker 生成 word 文档
- freemarker自动生成复杂word
- Word文档生成
- poi生成word文件
- 使用freeMark生成word