ASP.Net C#---Excel導入導入后台方法


https://www.cnblogs.com/chendaye/p/10693983.html  這里寫了Excel的導入導入方法

后台我用的是MVC 以及 C#語句用來在后台做接受和輸出數據

///導出

public ActionResult Zhuanyuan()
{
string filename = "導出信息";  //文件的命名   
string constr = "server=.;database=aaa;user=aaa;pwd=aaa"; //連接數據庫

using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();

string sql = "select * from table1"; //這里是你要導出的數據信息 sql 語句
SqlCommand comm = new SqlCommand(sql, conn);
System.Data.DataTable dt = new System.Data.DataTable();
SqlDataAdapter ada = new SqlDataAdapter(comm);
ada.Fill(dt);

ExcelHelper.ExcelHelper eh = new ExcelHelper.ExcelHelper(filename.ToString());  這里我用的就是上面鏈接里的方法  封裝成了一個幫助類
var result = eh.DataTableToExcelX(dt, "導出信息", true);

return File(result, "application/vnd.ms-excel", " " + filename + ".xlsx");
}
}

///導入

首先MVC前台頁面

<form action="/" method="post"  enctype="multipart/form-data">
<input type="file"  name="excel" class="input-file" value="數據上傳" >
<input  type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
</form>

 

form提交 要加上 enctype="multipart/form-data" 

前台上傳文件的標簽 name名要和HttpPostedFileBase的命名一致 才能接收到文件數據

 

public int UpEmployee(string SheetName, HttpPostedFileBase excel) //SheetName excel的頁命名  可為空 為空默認第一頁數據
{
string filename = Request.MapPath("~/Excel/") + Path.GetFileName(excel.FileName);
excel.SaveAs(filename); 這兩句是把要上傳的excel先保存到本地路徑 然后獲取
var data = new ExcelHelper.ExcelHelper(filename).ExcelToDataTable(null, true); //上面的幫助類  看開頭的鏈接
var arr = dal.UpEmployee(data);  后台方法
if (arr > 0)
{
return 1;
}
else
{
return 0;
}
}

/// <summary>
/// 用戶信息上傳
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public int UpEmployee(DataTable data)
{
int arr = 0;
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
DataRow dr = null;
for (int i = 0; i < data.Rows.Count; i++)
{
dr = data.Rows[i];
arr = InsertEmployee(dr);
}
conn.Close();
}
return arr;
}


public int InsertEmployee(DataRow dr)
{
using (SqlConnection conn = new SqlConnection(constr))
{

conn.Open();
try {

//字段名 
string 姓名 = dr["姓名"].ToString().Trim();
string 郵箱 = dr["郵箱"].ToString().Trim();

string sql = "insert into table1 values(''" + 姓名 + "','" + 郵箱 + "')";
SqlCommand comm = new SqlCommand(sql, conn);
var i = comm.ExecuteNonQuery();

return i;
}
catch {
return 0;
}

}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM