Asp.Net使用Npoi導(dǎo)入導(dǎo)出Excel的方法
asp.net針對Excel文件的導(dǎo)入與導(dǎo)出是非常常見的功能之一。本文實例講述了Asp.Net使用Npoi導(dǎo)入導(dǎo)出Excel的方法。分享給大家供大家參考之用。具體方法如下:
在使用Npoi導(dǎo)出Excel的時候,服務(wù)器可以不裝任何office組件,一般在導(dǎo)出時用到Npoi導(dǎo)出Excel文件,所導(dǎo)Excel也符合規(guī)范,打開時也不會有任何文件損壞之類的提示。但是在做導(dǎo)入時還是使用OleDb的方式,這種方式的導(dǎo)入在服務(wù)器端似乎還是需要裝office組件的。
一、Npoi導(dǎo)出/下載Excel
具體功能代碼如下:
public void NpoiExcel(DataTable dt, string title)
{
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("Sheet1");
NPOI.SS.UserModel.IRow headerrow = sheet.CreateRow(0);
ICellStyle style = book.CreateCellStyle();
style.Alignment = HorizontalAlignment.Center;
style.VerticalAlignment = VerticalAlignment.Center;
for (int i = 0; i < dt.Columns.Count; i++)
{
ICell cell = headerrow.CreateCell(i);
cell.CellStyle = style;
cell.SetCellValue(dt.Columns[i].ColumnName);
}
MemoryStream ms = new MemoryStream();
book.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", HttpUtility.UrlEncode(title + "_" + DateTime.Now.ToString("yyyy-MM-dd"), System.Text.Encoding.UTF8)));
Response.BinaryWrite(ms.ToArray());
Response.End();
book = null;
ms.Close();
ms.Dispose();
}
二、Asp.Net導(dǎo)入Excel
導(dǎo)入仍然是用OleDb這種方式,感興趣的朋友可以嘗試一下其他方法。
具體功能代碼如下:
/// <summary>
/// 連接Excel 讀取Excel數(shù)據(jù) 并返回DataSet數(shù)據(jù)集合
/// </summary>
/// <param name="filepath">Excel服務(wù)器路徑</param>
/// <param name="tableName">Excel表名稱</param>
/// <returns></returns>
public static System.Data.DataSet ExcelSqlConnection(string filepath, string tableName)
{
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
OleDbConnection ExcelConn = new OleDbConnection(strCon);
try
{
string strCom = string.Format("SELECT * FROM [Sheet1$]");
ExcelConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, ExcelConn);
DataSet ds = new DataSet();
myCommand.Fill(ds, "[" + tableName + "$]");
ExcelConn.Close();
return ds;
}
catch
{
ExcelConn.Close();
return null;
}
}
相信本文所述對大家的asp.net程序設(shè)計有一定的借鑒價值。
- .NET6導(dǎo)入和導(dǎo)出EXCEL
- Asp.Net Core實現(xiàn)Excel導(dǎo)出功能的實現(xiàn)方法
- ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實例
- asp.net DataTable導(dǎo)出Excel自定義列名的方法
- ASP.NET使用GridView導(dǎo)出Excel實現(xiàn)方法
- asp.net導(dǎo)出excel的簡單方法實例
- asp.net導(dǎo)出Excel類庫代碼分享
- ASP.NET導(dǎo)出數(shù)據(jù)到Excel的實現(xiàn)方法
- Asp.net中DataTable導(dǎo)出到Excel的方法介紹
- ASP.NET用DataSet導(dǎo)出到Excel的方法
- asp.net GridView導(dǎo)出到Excel代碼
- ASP.NET MVC把表格導(dǎo)出到Excel
相關(guān)文章
ASP.NET中實現(xiàn)定制自己的委托和事件參數(shù)類
這篇文章主要介紹了ASP.NET中實現(xiàn)定制自己的委托和事件參數(shù)類,需要的朋友可以參考下2014-08-08
asp.net TreeView遞歸循環(huán)子節(jié)點生成樹形菜單實例
這篇文章主要介紹了asp.net TreeView遞歸循環(huán)子節(jié)點生成樹形菜單的方法,涉及asp.net遞歸算法及節(jié)點操作相關(guān)技巧,需要的朋友可以參考下2016-07-07
ASP.NET Core擴(kuò)展庫之日志功能的使用詳解
這篇文章主要介紹了ASP.NET Core擴(kuò)展庫之日志功能的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用.NET技術(shù),感興趣的朋友可以了解下2021-03-03
ASP.NET郵件發(fā)送system.Net.Mail案例
這篇文章主要為大家詳細(xì)介紹了ASP.NET郵件發(fā)送system.Net.Mail案例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
WebForm獲取checkbox選中的值(幾個簡單的示例)
WebForm中用checkbox的地方挺多的,下面寫了幾個簡單的例子,方便以后學(xué)習(xí)使用2014-07-07
.net webapi接收xml格式數(shù)據(jù)的3種情況小結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于.net webapi接收xml格式數(shù)據(jù)的3種情況,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
.NET Core對象池的應(yīng)用:擴(kuò)展篇
本文主要講解.NET Core對象池的池化集合、池化StringBuilder、ArrayPool<T>以及MemoryPool<T>,需要了解的小伙伴可以多學(xué)習(xí)這篇文章,相信可以幫助到你2021-09-09

