NPOI在Word中的簡單用法匯總
歡迎您成為我的讀者,希望這篇文章能給你一些幫助。

前言
今天這篇文章,咱們來看看使用NPOI操作Word都有哪些方法。
對于Word文件,前天的文章介紹了要生成一個Word文件需要
五步。
1、初始化文檔類XWPFDocument; 2、場景主標題段落 3、自定義內容 4、創建頁腳 5、寫入文件
創建文檔
文檔在NPOI用XWPFDocument類進行操作,首先需要實例化一個XWPFDocument類,用于后期生成文檔類的操作。
XWPFDocument m_Docx = new XWPFDocument();
頁面設置
實例化好之后需要對Word文檔進行設置,主要設置其顯示像素,頁面的大小等。
CT_SectPr m_SectPr = newCT_SectPr(); //頁面設置A4橫向 m_SectPr.pgSz.w = (ulong)16838; m_SectPr.pgSz.h = (ulong)11906; m_Docx.Document.body.sectPr = m_SectPr;
創建段落
對于Word文檔的操作都是在文檔中段落里面完成的。比如我想新建一行文字,就必須先創建段落,后在段落中進行文字的添加,往Word文檔中添加表格和圖片也是同樣的道理。
//創建段落對象 XWPFParagraph p1 = m_Docx .CreateParagraph();
創建表格
XWPFTable oneTable = m_Docx.CreateTable(6, 5); oneTable.Width = 1000 * 5; /* 設置列寬 */ oneTable.SetColumnWidth(0, 200); oneTable.SetColumnWidth(1, 300); oneTable.GetRow(0).GetCell(0).SetParagraph(SetCellText(doc, tableTop, "測試"));
樣式設置
1、段落居中顯示
//字體居中 p1.Alignment = ParagraphAlignment.CENTER;
2、文字加粗
XWPFRun runTitle = p1.CreateRun(); runTitle.IsBold = true; runTitle.SetText("測試"); runTitle.FontSize = 16; runTitle.SetFontFamily("宋體", FontCharRange.None);//設置雅黑字體
3、設置單元格樣式
CT_P para = new CT_P(); XWPFParagraph pCell = new XWPFParagraph(para, table.Body); pCell.Alignment = align; /字體設置 XWPFRun r1c1 = pCell.CreateRun(); r1c1.SetText(setText); r1c1.FontSize = 11; r1c1.SetFontFamily("宋體", FontCharRange.None); //設置高度 r1c1.SetTextPosition(textPos);
4、段行縮進
gp.IndentationFirstLine=(int)100;
5、行距設置
單倍為默認值(240twip)不需設置
1.5倍=240X1.5=360twip
2倍=240X2=480twip
m_p.AddNewPPr().AddNewSpacing().line = "400";//行距固定20磅 m_p.AddNewPPr().AddNewSpacing().lineRule= ST_LineSpacingRule.exact;
6、行高設置
m_Row.GetCTRow().AddNewTrPr().AddNewTrHeight().val= (ulong)426; m_NewRow.AddNewTrPr().AddNewTrHeight().val= (ulong)426;
7、添加腳注內容
其實腳注內容就是之前格式的反復利用。
int Id =m_ftns.GetFootnotesList().Count; CT_FtnEdn m_ftnedn = new CT_FtnEdn(); m_ftnedn.id = Id.ToString(); CT_P m_FtnEdnxmlP =m_ftnedn.AddNewP(); CT_PPr m_FtnEdnxmlPPr =m_FtnEdnxmlP.AddNewPPr(); m_FtnEdnxmlPPr.AddNewPStyle().val = "a6"; m_FtnEdnxmlPPr.AddNewRPr().rFonts = new CT_Fonts(); m_FtnEdnxmlPPr.AddNewRPr().rFonts.hint = ST_Hint.eastAsia; CT_R m_FtnEdnxmlR =m_FtnEdnxmlP.AddNewR(); m_FtnEdnxmlR.AddNewRPr().rStyle = new CT_String(); m_FtnEdnxmlR.AddNewRPr().rStyle.val = "a7"; m_FtnEdnxmlR.Items = newSystem.Collections.ArrayList(); m_FtnEdnxmlR.Items.Add(new CT_Empty()); m_FtnEdnxmlR.ItemsElementName = new List
寄語
人生短暫,我不想去追求自己看不見的,我只想抓住我能看得見的。
原創不易,給個關注。
我是阿輝,感謝您的閱讀,如果對你有幫助,麻煩、轉發 謝謝。
很高興能和您成為朋友。
C#
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。