資源簡介
NPOI創建DOCX常用操作,網上一直沒有什么可用的例子供大家參考。我特意寫了這個幫助類,親測可用。
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Web;
using?System.Web.UI;
using?System.Web.UI.WebControls;
using?Microsoft.Office.Interop.Word;
using?System.IO;
using?NPOI.HSSF;
using?NPOI.XWPF;
using?NPOI.XWPF.Extractor;
using?NPOI.XWPF.Model;
using?NPOI.XWPF.UserModel;
using?NPOI.Openxml4Net.OPC;
using?NPOI.OpenxmlFormats.Dml.WordProcessing;
using?NPOI.OpenxmlFormats.Dml;
using?NPOI.OpenxmlFormats.Wordprocessing;
using?System.xml;
using?System.Drawing;
namespace?LiuZhangXi.Common.Helpers
{
????public?class?WordOperation
????{
????????public?void?Page_Load()
????????{
????????????//圖片位置
????????????String?m_PicPath?=?@“G:\LiuZhangXiTest\LiuZhangXiSolution\LiuZhangXi.Web\Images\573e8bd7N53fccf7c.jpg“;
????????????FileStream?gfs?=?null;
????????????MemoryStream?ms?=?new?MemoryStream();
????????????XWPFDocument?m_Docx?=?new?XWPFDocument();
????????????//頁面設置
????????????//A4:W=11906h=16838
????????????m_Docx.Document.body.sectPr?=?new?CT_SectPr();
????????????CT_SectPr?m_SectPr?=?m_Docx.Document.body.sectPr;
????????????//頁面設置A4縱向
????????????m_SectPr.pgSz.h?=?(ulong)16838;
????????????m_SectPr.pgSz.w?=?(ulong)11906;
????????????XWPFParagraph?gp?=?m_Docx.CreateParagraph();
????????????XWPFRun?gr?=?gp.CreateRun();
????????????gr.GetCTR().AddNewRPr().AddNewRFonts().ascii?=?“黑體“;
????????????gr.GetCTR().AddNewRPr().AddNewRFonts().eastAsia?=?“黑體“;
????????????gr.GetCTR().AddNewRPr().AddNewRFonts().hint?=?ST_Hint.eastAsia;
????????????gr.GetCTR().AddNewRPr().AddNewSz().val?=?(ulong)44;//2號字體
????????????gr.GetCTR().AddNewRPr().AddNewSzCs().val?=?(ulong)44;
????????????gr.GetCTR().AddNewRPr().AddNewB().val?=?true;?//加粗
????????????gr.GetCTR().AddNewRPr().AddNewColor().val?=?“red“;//字體顏色
????????????gr.SetText(“北京國安拿下中超半程冠軍,不上U23球員大伙都變強了“);
????????????gp?=?m_Docx.CreateParagraph();
????????????gp.IndentationFirstLine?=?15;
????????????gr?=?gp.CreateRun();
????????????CT_RPr?rpr?=?gr.GetCTR().AddNewRPr();
????????????CT_Fonts?rfonts?=?rpr.AddNewRFonts();
????????????rfonts.ascii?=?“宋體“;
????????????rfonts.eastAsia?=?“宋體“;
????????????rpr.AddNewSz().val?=?(ulong)21;//5號字體
????????????rpr.AddNewSzCs().val?=?(ulong)21;
????????????gr.SetText(“8月1日和2日,2018賽季中超聯賽迎來第十五輪賽事,由于U23(23歲以下)國足已經為備戰亞運會在蘇州集結,因此,此前一直實行的U23政策有所調整。“);
????????????//創建表
????????????XWPFTable?table?=?m_Docx.CreateTable(1?4);//創建一行4列表
????????????CT_Tbl?m_CTTbl?=?m_Docx.Document.body.GetTblArray()[0];//獲得文檔第一張表
????????????CT_TblPr?m_CTTblPr?=?m_CTTbl.AddNewTblPr();
????????????m_CTTblPr.AddNewTblW().w?=?“2000“;?//表寬
????????????m_CTTblPr.AddNewTblW().type?=?ST_TblWidth.dxa;
????????????m_CTTblPr.tblpPr?=?new?CT_TblPPr();//表定位
????????????m_CTTblPr.tblpPr.tblpX?=?“4003“;//表左上角坐標
????????????m_CTTblPr.tblpPr.tblpY?=?“365“;
????????????m_CTTblPr.tblpPr.tblpXSpec?=?ST_XAlign.center;//若不為“Null”,則優先tblpX,即表由tblpXSpec定位
????????????m_CTTblPr.tblpPr.tblpYSpec?=?ST_YAlign.center;//若不為“Null”,則優先tblpY,即表由tblpYSpec定位??
?
評論
共有 條評論