asp.net頁面中若何獲得Excel表的內容。本站提示廣大學習愛好者:(asp.net頁面中若何獲得Excel表的內容)文章只能為提供參考,不一定能成為您想要的結果。以下是asp.net頁面中若何獲得Excel表的內容正文
asp.net頁面中若何獲得Excel表的內容,詳細內容引見以下所示:
起首援用組件和定名空間
using Microsoft.Office.Interop.Excel; using System.Data.OleDb;
然後把excel上傳到指定途徑
上傳文件辦法省略
最初把上傳的excel釀成Dataset (復制上面的辦法便可以用了)
public DataSet seachExcel(string str) //參數為excel的途徑
{
OleDbDataAdapter da = new OleDbDataAdapter();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
string NameTable = "";
string ConText = "";
try
{
//獲得Excel途徑
FileInfo info = new FileInfo(str);
//獲得文件的擴大名
string fileExt = info.Extension;
//斷定用哪一種銜接方法
if (fileExt .ToLower() ==".xls")
{
ConText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + str + ";Extended Properties='excel 8.0;hdr=no;IMEX=1';Persist Security Info=false";
}
else if (fileExt.ToLower() == ".xlsx")
{
ConText = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + str + ";Extended Properties='excel 12.0 Xml;hdr=no;IMEX=1';Persist Security Info=False";
}
//銜接excel
OleDbConnection conn = new OleDbConnection(ConText);
//翻開excel
conn.Open();
dt=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null );
if(dt!=null && dt.Rows .Count >0)
{
//獲得sheet1表單的表名
NameTable = dt.Rows[0]["TABLE_NAME"].ToString();
//獲得sheet2表單的表名
//NameTable = dt.Rows[1]["TABLE_NAME"].ToString();
}
string sql = "select * from [" + NameTable + "]";
da = new OleDbDataAdapter(sql, conn);
try
{
da.Fill(ds,NameTable); //把數據填充到Dataset
}
catch
{ }
conn.Close();
}
catch
{
}
return ds; //反回Dataset
}
asp.net讀取excel表格數據的辦法
其實讀取Excel表格中的數據和讀取數據庫中的數據長短常相似的,由於在某種水平上Excel表格可以算作是一張一張的數據表。其兩者的重要差別在於所應用的數據引擎紛歧樣。
在本文的法式中,經由過程以下代碼完成讀取Excel表格數據,詳細以下:
string strDataPathPhy = "c://1.xls"; string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + strDataPathPhy + ";Extended Properties=Excel 8.0"; OleDbConnection myConn = new OleDbConnection(strCon); string strCom = " SELECT * FROM [Sheet1$]"; myConn.Open(); OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn); DataTable dtData = new DataTable(); myCommand.Fill(dtData); myConn.Close();
因為可以把Excel看左一個數據庫,外面的任務表便可以看左每張數據庫表,所以也能夠對搜刮成果停止挑選,例如:
strCom = " SELECT * FROM [Sheet1$] WHERE column1 <> '' ";
如許dtData外面的數據就是[Sheet1$]表中column1不為空的全體數據了
以上就是本文引見asp.net頁面中若何獲得Excel表的內容,願望對年夜家有所贊助