使用破解版的aspose.words做操作。操作模式為
document doc = new document(fileinf.fullname);
// table tablemain = doc.getchildnodes(nodetype.table, true)[0] as table;
document docsetout = null;// = new document();
aspose.words.layout.layoutcollector layoutcollector = new aspose.words.layout.layoutcollector(doc);
int a = doc.builtindocumentproperties.pages;
documentpagesplitter splitter = new documentpagesplitter(layoutcollector);//將word檔案分頁
document firstpage = splitter.getdocumentofpage(1);
bool issinglepage = firstpage.getchildnodes(nodetype.table, true).count >0;//獲取第一頁是否有**如果有**就是迴圈讀取,如果沒有則是只獲取第三頁的資料
插入段落
documentbuilder buidone = new documentbuilder(doc); 建立段落
shape shape = buidone.insertimage(imgbit,imgbit.width,imgbit.height);//new shape(doc, shapetype.image);
shape.horizontalalignment = aspose.words.drawing.horizontalalignment.left;//左對齊
shape.wraptype = wraptype.none ;//.square;
其中 shape.wrpatype 所獲取的 wraptype.none 沒有樣式類似不占用現有空間於把隨便移動襯於文字下方。through穿越的意思,同樣會占用控制項以及空間會產生乙個空格。square占用方格空間不會有多餘的空格。topbottom頂頭 後游標會轉移到當前段落下面。inline嵌入型。tight緊密型。微軟官方指引:
獲取行資料
/// /// 從**中獲取資料
///
/// 單頁檔案
///
public static reportmain tabeltoclass(document doc,reportmain model)
model.headname ="";//獲取第乙個段落的body裡的childnode的值獲取表頭
foreach (node onenode in doc.firstsection.body.childnodes)
}if(model.headname=="")
if (doc.getchildnodes(nodetype.table, true).count > 0)
cellvalue = cellvalue.replace(" ", "");//去除欄位中的空格
if (cellvalue.contains(desstr)&&cellvalue.length<40)}}
}}
}return model;
}
DocX操作word生成報表
docx是乙個在不需要安裝word的情況下對word進行操作的開源輕量級.net元件,是由愛爾蘭的乙個叫cathal coffey的博士生開發出來的。docx使得操作word非常輕便,有利於減輕開發負擔,提公升程式效率。docx在codeplex和github上都有開源。install packag...
C 運用DocX操作文件
在專案開發中,一般需要對文件進行操作,但是使用微軟提供的外掛程式,需要安裝一些程式,並且如果使用wps類的文件軟體就無法操作了,第三方外掛程式docx就可以很好的解決這些文件,結合官方提供的文件,稍作修改,總結如下的一些方法 1.建立乙個具有超連結 影象和表的文件 建立乙個具有超連結 影象和表的文件...
Python DOCX檔案操作 docx2txt
github鏈結 ladies and gentlemen,please allow me to present,the fabulously handy,yet elegant,pure utility tool for extracting text from a docx file the d...