使用NOPI讀取Word Excel文件內容

2021-08-07 20:15:09 字數 3142 閱讀 8818



使用nopi讀取excel的例子很多,讀取word的例子不多。

excel的解析方式有多中,可以使用odbc查詢,把excel作為乙個資料集對待。也可以使用文件結構模型的方式進行解析,即解析workbook(工作簿)、sheet、row、column。

word的解析比較複雜,因為word的文件結構模型定義較為複雜。解析word或者excel,關鍵是理解word、excel的文件物件模型。

word、excel文件物件模型的解析,可以通過com介面呼叫,此類方式使用較廣。(可以錄製巨集**,然後替換為對應的語言)

也可以使用xml模型解析,尤其是對於2007、2010版本的文件的解析。

1

using

npoi.poifs.filesystem;

2using

npoi.ss.usermodel;

3using

npoi.xssf.usermodel;

4using

npoi.xwpf.usermodel;

5using

system;

6using

system.collections.generic;

7using

system.configuration;

8using

system.io;

9using

system.text;

1011

namespace

eyuan

1230}31

catch

(exception e)

32開啟失敗,錯誤:

", new

string

));34}

35//

迴圈sheet頁

36int sheetscount =hssfworkbook.numberofsheets;

37 liststring>>> workbookcontent = new liststring>>>();

38for (int i = 0; i < sheetscount; i++)

3960

else

6165}66

//新增行到集合中

67sheetcontent.add(rowcontent);68}

69//

新增sheet到集合中

70workbookcontent.add(sheetcontent);71}

7273

return

workbookcontent;74}

7576

///77

///78

///79

///80

///81

public

static

string readexceltext(string

filename)

82104

105}

106//

107 filetext =sbfiletext.tostring();

108return

filetext;

109}

110111

///112

///讀取word內容

113///

114///

115///

116public

static

string readwordtext(string

filename)

117140

}141

catch

(exception e)

142開啟失敗,錯誤:

", new

string

));144}

145#endregion

146147

#region 頁首、頁尾

148//

頁首149

if (capturewordheader == "

true")

150", new

string

));155}

capture header end");

157}

158//

頁尾159

if (capturewordfooter == "

true")

160", new

string

));165}

capture footer end");

167}

168#endregion

169170

#region **

171if (capturewordtable == "

true")

172185

186187

}188

189}

capture table end");

191}

192#endregion

193194

#region

195if (capturewordimage == "

true")

196);

205//

206using (filestream fs = new

filestream(pictempname, filemode.create, fileaccess.write))

207211

//212

213}

capture image end");

215}

216#endregion

217218

//正文段落

capture paragraph begin");

220foreach (xwpfparagraph paragraph in

document.paragraphs)

221capture paragraph end");

226//

227228

//229 filetext =sbfiletext.tostring();

230return

filetext;

231}

232233

234}

235 }

NOPI使用手冊

有些客戶匯出或者匯入時,對excel的格式要求很高,就需要用到nopi。樣例 imports system imports system.web imports system.web.ui imports system.web.ui.webcontrols imports system.io imp...

C 匯入excel資料問題記錄,使用NOPI解決

系統使用win10 64位 vs2013 最後解除安裝了,用了之前一版的office2010 沒有提示註冊 microsoft.ace.oledb.12.0 提供程式,但是新的問題又來了,oledbconnection conn new oledbconnection connstring conn...

使用phpExcelReader讀取excel檔案

避免將excel檔案轉化成csv格式,在進行資料讀取,而且支援多sheet檔案。在這個需求前提下,我選擇了2款php開源類 phpexcelreader phpexcel。其中後者支援讀寫,但是需要php5.2以上版本,並且需要開啟zip支援 重點說一下 phpexcelreader,因為 phpe...