国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net使用npoi讀取excel模板并導出下載詳解

asp.net使用npoi讀取excel模板并導出下載詳解

2019-11-27 13:58ASP.NET教程網 ASP.NET教程

這篇文章主要介紹了asp.net使用npoi讀取excel模板并導出下載的示例,大家參考使用吧

為什么要使用NPOI導出Excel?

一、解決傳統操作Excel遇到的問題:

如果是.NET,需要在服務器端裝Office,且及時更新它,以防漏洞,還需要設定權限允許.NET訪問COM+,如果在導出過程中出問題可能導致服務器宕機。
Excel會把只包含數字的列進行類型轉換,本來是文本型的,Excel會將其轉成數值型的,比如編號000123會變成123。
導出時,如果字段內容以“-”或“=”開頭,Excel會把它當成公式進行,會報錯。
Excel會根據Excel文件前8行分析數據類型,如果正好你前8行某一列只是數字,那它會認為該列為數值型,自動將該列轉變成類似1.42702E+17格式,日期列變成包含日期和數字的。

二、個人認為使用NPOI的優勢

導出的速度很快,跟傳統的方式不是一個數量級的。
不用擔心進程問題,因為傳統的導出方式每導出一個Excel會打開一個Excel進程,不會自動關閉,若手工關閉,必須遍歷把所有的Excel進程都殺死,這樣會造成不能并發導出的問題。

使用步驟

第一步:在解決方案中添加引用。

在這里使用的是NPOI 1.2.5的.net2.0版本,需要引用兩個文件:

NPOI 1.2.5的下載地址為:http://npoi.codeplex.com/releases/view/38113

第二步:在CS文件中添加引用。

復制代碼代碼如下:

using NPOI.HSSF.UserModel;
using System.IO;//內存流的使用
using NPOI.SS.UserModel

 

第三步:具體使用代碼

 

復制代碼代碼如下:


#region加載模板文件到工作簿對象中

 

//創建工作簿對象
HSSFWorkbookhssfworkbook;
//打開模板文件到文件流中
using(FileStreamfile=newFileStream(HttpContext.Current.Request.PhysicalApplicationPath+@"template/book1.xls",FileMode.Open,FileAccess.Read))
{
//將文件流中模板加載到工作簿對象中
hssfworkbook=newHSSFWorkbook(file);
}
#endregion

#region根據模板設置工作表的內容

//建立一個名為Sheet1的工作表
ISheetsheet1=hssfworkbook.GetSheet("Sheet1");
//將數據添加到表中對應的單元格中,因為行已經創建,不需要重新創建行
sheet1.GetRow(1).GetCell(1).SetCellValue(200200);
sheet1.GetRow(2).GetCell(1).SetCellValue(300);
sheet1.GetRow(3).GetCell(1).SetCellValue(500050);
sheet1.GetRow(4).GetCell(1).SetCellValue(8000);
sheet1.GetRow(5).GetCell(1).SetCellValue(110);
sheet1.GetRow(6).GetCell(1).SetCellValue(100);
sheet1.GetRow(7).GetCell(1).SetCellValue(200);
sheet1.GetRow(8).GetCell(1).SetCellValue(210);
sheet1.GetRow(9).GetCell(1).SetCellValue(2300);
sheet1.GetRow(10).GetCell(1).SetCellValue(240);
sheet1.GetRow(11).GetCell(1).SetCellValue(180123);
sheet1.GetRow(12).GetCell(1).SetCellValue(150);

//強制Excel重新計算表中所有的公式
sheet1.ForceFormulaRecalculation=true;
#endregion
#region設置響應頭(文件名和文件格式)
//設置響應的類型為Excel
Response.ContentType="application/vnd.ms-excel";
//設置下載的Excel文件名
Response.AddHeader("Content-Disposition",string.Format("attachment;filename={0}","test.xls"));
//Clear方法刪除所有緩存中的HTML輸出。但此方法只刪除Response顯示輸入信息,不刪除Response頭信息。以免影響導出數據的完整性。
Response.Clear();
#endregion
#region寫入到客戶端
using(MemoryStreamms=newMemoryStream())
{
//將工作簿的內容放到內存流中
hssfworkbook.Write(ms);
//將內存流轉換成字節數組發送到客戶端
Response.BinaryWrite(ms.GetBuffer());
Response.End();
}
#endregion

 

3、總結

加載模板文件到工作簿對象中。
根據模板設置工作表的內容。
設置響應頭(文件名和文件格式)。
寫入到客戶端。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40 Weibo Article 41 Weibo Article 42
主站蜘蛛池模板: 欧美精品 在线观看 | 国产精品一区二区三区在线播放 | 日本在线小视频 | 波多野结衣一区二区三区免费视频 | 综合色区 | 91久久精品一区二区二区 | 人人99| 成人亚洲精品777777大片 | 日韩电影网站 | 亚洲国产精品久久 | 黄色片地址| 伊人久久综合 | 欧美一区| 国产精品久久久久久久久久久久久 | 亚洲精品欧美 | 日韩无在线 | 日韩在线中文字幕 | 九九综合久久 | 久久首页 | 国产91精品久久久久 | 中国黄色毛片 大片 | 久久久久久成人 | 亚洲国产免费 | 欧美日韩一区二 | 色毛片 | 欧美freesex交免费视频 | 黄色免费在线网站 | 久久一区 | 久久成人精品视频 | 伊人青青草 | 色a视频| 日韩一区二区三区在线观看 | 国产精品久久久久久久一区探花 | 特级西西人体4444xxxx | 中文字幕亚洲一区二区va在线 | 国产成人精品久久 | 久久久久久精 | 一区二区三区不卡视频 | 久久中文字幕一区 | 成人在线视频观看 | 成人免费在线电影 |