生活随笔
收集整理的這篇文章主要介紹了
ASP.NET操作Excel(终极方法NPOI)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ASP.NET操作Excel已經(jīng)是老生長談的事情了,可下面我說的這個NPOI操作Excel,應(yīng)該是最好的方案了,沒有之一,能夠幫助開發(fā)者在沒有安裝微軟Office的情況下讀寫Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。
AD:2013大數(shù)據(jù)全球技術(shù)峰會課程PPT下載
?
前言
ASP.NET操作Excel已經(jīng)是老生長談的事情了,可下面我說的這個NPOI操作Excel,應(yīng)該是最好的方案了,沒有之一,使用NPOI能夠幫助開發(fā)者在沒有安裝微軟Office的情況下讀寫Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。NPOI是構(gòu)建在POI 3.x版本之上的,它可以在沒有安裝Office的情況下對Word/Excel文檔進(jìn)行讀寫操作。
方法
先去官網(wǎng):http://npoi.codeplex.com/下載需要引入dll(可以選擇.net2.0或者.net4.0的dll),然后在網(wǎng)站中添加引用。
導(dǎo)出代碼:
NPOI.HSSF.UserModel.HSSFWorkbook?book?=?new?NPOI.HSSF.UserModel.HSSFWorkbook(); ?NPOI.SS.UserModel.ISheet?sheet?=?book.CreateSheet("test_01"); ???NPOI.SS.UserModel.IRow?row?=?sheet.CreateRow(0); ?row.CreateCell(0).SetCellValue("第一列第一行"); ???NPOI.SS.UserModel.IRow?row2?=?sheet.CreateRow(1); ?row2.CreateCell(0).SetCellValue("第二列第一行"); ?????System.IO.MemoryStream?ms?=?new?System.IO.MemoryStream(); ?book.Write(ms); ?Response.AddHeader("Content-Disposition",?string.Format("attachment;?filename={0}.xls",?DateTime.Now.ToString("yyyyMMddHHmmssfff"))); ?Response.BinaryWrite(ms.ToArray()); ?book?=?null; ?ms.Close(); ?ms.Dispose();?導(dǎo)入代碼:
HSSFWorkbook?hssfworkbook;?? ?#region?? ?public?DataTable?ImportExcelFile(string?filePath)?? ?{?? ?????#region//初始化信息?? ?????try?? ?????{?? ?????????using?(FileStream?file?=?new?FileStream(filePath,?FileMode.Open,?FileAccess.Read))?? ?????????{?? ?????????????hssfworkbook?=?new?HSSFWorkbook(file);?? ?????????}?? ?????}?? ?????catch?(Exception?e)?? ?????{?? ?????????throw?e;?? ?????}?? ?????#endregion?? ??? ?????NPOI.SS.UserModel.Sheet?sheet?=?hssfworkbook.GetSheetAt(0);?? ?????System.Collections.IEnumerator?rows?=?sheet.GetRowEnumerator();?? ?????DataTable?dt?=?new?DataTable();?? ?????for?(int?j?=?0;?j?<?(sheet.GetRow(0).LastCellNum);?j++)?? ?????{?? ?????????dt.Columns.Add(Convert.ToChar(((int)'A')?+?j).ToString());?? ?????}?? ?????while?(rows.MoveNext())?? ?????{?? ?????????HSSFRow?row?=?(HSSFRow)rows.Current;?? ?????????DataRow?dr?=?dt.NewRow();?? ?????????for?(int?i?=?0;?i?<?row.LastCellNum;?i++)?? ?????????{?? ?????????????NPOI.SS.UserModel.Cell?cell?=?row.GetCell(i);?? ?????????????if?(cell?==?null)?? ?????????????{?? ?????????????????dr[i]?=?null;?? ?????????????}?? ?????????????else?? ?????????????{?? ?????????????????dr[i]?=?cell.ToString();?? ?????????????}?? ?????????}?? ?????????dt.Rows.Add(dr);?? ?????}?? ?????return?dt;?? ?}?? ?#endregion?結(jié)論
這樣就很簡單的解決Excel的操作了,大家可以試試,很好用,如果覺得對您有用請推薦一下,謝謝。
原文鏈接:http://www.cnblogs.com/stone_w/archive/2012/08/02/2620528.html
轉(zhuǎn)載于:https://www.cnblogs.com/xyzhuzhou/p/3139651.html
總結(jié)
以上是生活随笔為你收集整理的ASP.NET操作Excel(终极方法NPOI)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。