時間過的真是快啊,最近的案子也快接近尾声了,现在在做一些报表和excel方面的東西,说起来还真是头痛。那位兄弟有好范例,介绍给我看看,其实很简单我就想在.Net下處理excel模板,在模板中的某一行中插入行。可是一直都没找到很好的解决方案,谁有就救救兄弟救救我,感謝了!
其實,事情还得做,专案还等着收尾了。只能够自己找了,网海捞针,谈何容易啊。不过功夫不负我这苦命人。让我认识了NPOI.虽然它也不能够插入行(我不知道是否真的是这样)。但生成excel的速度变得更快了,很大的文件几秒中就生成。最主要的是不安装office也行。另外操作exce也变的更加的容易了。现在就简单的说说.
這陣子又在玩資料匯出 Excel 的功能,以前不是用 OLEDB 來處理,要不就是使用 COM 元件的方式來完成;
幸好有了 NPOI 的誕生,對於開發這類的 Lib 的人,獻上最崇高的敬意(泣)。
話不多說,來看中文教學與概述:http://msdn.microsoft.com/zh-tw/ee818993.aspx
目前 NPOI 的版本已經到 1.2.3 ,
可以到 這邊 下載
Examples
引用組件
引用命名空間
1 | using NPOI.HSSF.UserModel; |
一些基本應用
備註:下載回來的 Sample code 請善加利用
也許你可以完成這樣的效果
注意事項:
1、
請勿 new 出過多的 CellStyle 執行個體 (Ex:oStyle = (HSSFCellStyle)this.WorkBook.CreateCellStyle();)
,會造成 NPOI 元件出現不明運作。
如上圖,中間紅線為準,上下兩個區塊的 style 不同(框線、文字對齊)
,其實上下兩個區塊的 style 是設定一致的,那為什麼發現這樣的問題呢?
當我在測試 NPOI 的時候,我不小心把每個儲存格的 style 都設定了兩次 XD
觀看錯誤訊息,卻是 "超出範圍" (當然它不會是中文的,鬼才知道這是甚麼意思)
,所幸在我 review code 後,更改了程式碼,就 OK 了。
2、
一個 Sheet 的最多列數為 65536
一個 Sheet 的最多欄位數為 256
http://tw.myblog.yahoo.com/vincent-excel/article?mid=988&prev=989&l=a&fid=27
檔案下載:
Lib:NPOI 1.2.3 binary package.zip
Source Code : NPOI 1.2.3 source package.zip
Sample Code:NPOI.Examples 20100802 package.zip
另外1.2跟1.2.3有區別的如下面: