NPOI 存取 Excel 檔案利器

      時間過的真是快啊,最近的案子也快接近尾声了,现在在做一些报表和excel方面的東西,说起来还真是头痛。那位兄弟有好范例,介绍给我看看,其实很简单我就想在.Net下處理excel模板,在模板中的某一行中插入行。可是一直都没找到很好的解决方案,谁有就救救兄弟救救我,感謝了!

 

      其實,事情还得做,专案还等着收尾了。只能够自己找了,网海捞针,谈何容易啊。不过功夫不负我这苦命人。让我认识了NPOI.虽然它也不能够插入行(我不知道是否真的是这样)。但生成excel的速度变得更快了,很大的文件几秒中就生成。最主要的是不安装office也行。另外操作exce也变的更加的容易了。现在就简单的说说.

 

這陣子又在玩資料匯出 Excel 的功能,以前不是用 OLEDB 來處理,要不就是使用 COM 元件的方式來完成;

幸好有了 NPOI 的誕生,對於開發這類的 Lib 的人,獻上最崇高的敬意(泣)。

話不多說,來看中文教學與概述:http://msdn.microsoft.com/zh-tw/ee818993.aspx

目前 NPOI 的版本已經到 1.2.3 ,

可以到 這邊 下載

2010-09-07_171500

 

Examples

引用組件

2010-09-07_171906

 

引用命名空間

1using NPOI.HSSF.UserModel;

 

一些基本應用

 

備註:下載回來的 Sample code 請善加利用

 

 

也許你可以完成這樣的效果

2010-09-07_174131

 

注意事項:

1、

請勿 new 出過多的 CellStyle 執行個體 (Ex:oStyle = (HSSFCellStyle)this.WorkBook.CreateCellStyle();)

,會造成 NPOI 元件出現不明運作。

     2010-09-07_175301

     如上圖,中間紅線為準,上下兩個區塊的 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有區別的如下面:

边框范例图对应的静态值
imageHSSFCellStyle.BORDER_DOTTED
image HSSFCellStyle.BORDER_HAIR
image HSSFCellStyle.BORDER_DASH_DOT_DOT
image HSSFCellStyle.BORDER_DASH_DOT
image HSSFCellStyle.BORDER_DASHED
image HSSFCellStyle.BORDER_THIN
image HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT
image HSSFCellStyle.BORDER_SLANTED_DASH_DOT
image HSSFCellStyle.BORDER_MEDIUM_DASH_DOT
image HSSFCellStyle.BORDER_MEDIUM_DASHED
image HSSFCellStyle.BORDER_MEDIUM
image HSSFCellStyle.BORDER_THICK
image HSSFCellStyle.BORDER_DOUBLE

边框范例图对应的静态值
imageHSSFCellStyle.BORDER_DOTTED
image HSSFCellStyle.BORDER_HAIR
image HSSFCellStyle.BORDER_DASH_DOT_DOT
image HSSFCellStyle.BORDER_DASH_DOT
image HSSFCellStyle.BORDER_DASHED
image HSSFCellStyle.BORDER_THIN
image HSSFCellStyle.BORDER_MEDIUM_DASH_DOT_DOT
image HSSFCellStyle.BORDER_SLANTED_DASH_DOT
image HSSFCellStyle.BORDER_MEDIUM_DASH_DOT
image HSSFCellStyle.BORDER_MEDIUM_DASHED
image HSSFCellStyle.BORDER_MEDIUM
image HSSFCellStyle.BORDER_THICK
image HSSFCellStyle.BORDER_DOUBLE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值