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=" 提交 ">
</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;
}
}
}