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;
}

}
}

ASP.Net C#---Excel导入导入后台方法的更多相关文章

  1. 在Asp.Net MVC中用Ajax回调后台方法

    在Asp.Net MVC中用Ajax回调后台方法基本格式: var operData = ...; //传递的参数(action中定义的) var type = ...; //传递的参数(action ...

  2. ASP.NET jQuery 事件里调用后台方法

    利用js 调用后台写的方法 <script src="js/jquery-1.7.1.min.js"></script> <script> $( ...

  3. asp.net实现 EXCEL数据导入到数据库功能

    在项目中经常要用EXCEL导入数据到数据库,提高工作效率. 注意:EXCEL中的第一行不能导入. 下面是源码: IntoExcel.aspx: [csharp] <%@ Page Languag ...

  4. asp.net 从Excel表导入数据到数据库中

    http://www.cnblogs.com/hfzsjz/archive/2010/12/31/1922901.html http://hi.baidu.com/ctguyg/item/ebc857 ...

  5. ASP.NET访问Excel 失败的解决方法(错误号:80070005,8000401a)

    用asp.net把值写入Excel在本地测试通过,然后提交服务器后老是写入不成功 并提示错误: Retrieving the COM class factory for component with ...

  6. Asp.net导出Excel乱码的解决方法

    通过跟踪Asp.net服务器代码,没有乱码,然而导出Excel到浏览器后,打开时出现乱码. 解决方法是添加编码格式的前缀字节码:Response.BinaryWrite(System.Text.Enc ...

  7. asp.net 导出excel 中文乱码解决方法 (转)

    用我转载的上一篇文章 Asp.net中把DataTable或DataGrid导出为Excel 导出的文档,中文有乱码现象,其实要解决中文乱码很简单,设置一下字符集.如下: // 设置编码和附件格式 c ...

  8. Asp.net导出Excel(HTML输出方法)

    主要思路: 实例化Gridview,将值绑定后输出...(用烂了的方法) 贴上核心代码: public static void ExportToExcel(DataTable dataList, st ...

  9. asp.net 导出excel的一种方法

    项目用到的一种导出excel 的方法予以记录:(具体的业务类可更具情况替换使用) protected void Export(string filename, List<ComponentCon ...

  10. asp.net core 通过ajax调用后台方法(非api)

    1.    在Startup.cs文件中添加:        services.AddMvc();            services.AddAntiforgery(o => o.Heade ...

随机推荐

  1. 4. Median of Two Sorted Arrays(Array; Divide-and-Conquer)

    There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ...

  2. Asp.net实现同页面内多图片自动上传并带预览显示

    FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理: 此方法适合针对有后台生成的图片相关内容,例如购物网站商品展示页面中的封面图片,图片的数量由后台访问数据库,并加载到页面.这种 ...

  3. LocalBroadcastManager 的使用

    一.使用本地广播发送一条广播(本例为自己发送自己接收,本地广播也可以是其他应用接收)然后接收到广播时回调Receiver类中的回调方法onReceive()在此方法中自定义发出通知 代码 packag ...

  4. Spring框架的事务管理相关的类和API

    1. PlatformTransactionManager接口 -- 平台事务管理器.(真正管理事务的类).该接口有具体的实现类,根据不同的持久层框架,需要选择不同的实现类! 2. Transacti ...

  5. C#中发送邮件,包含Html代码 CDO.Message

    C#代码: /// <summary> /// 发送邮件 /// </summary> /// <param name="context">&l ...

  6. vue.js项目打包上线

    最近一直坚持每个月写一个小的vue.js 开发的项目,最后开发完成后想到很久之前给别人回答的一个问题:vue的项目如何上线,当时有千奇百怪的回答,我在想,这些人都是肿了么,vue的官方都说了,这个框架 ...

  7. SqlServer和MySql允许脏读的实现方式,提高查询效率

    --Sql Server 允许脏读查询sqlselect * from category with(nolock) --MySql 允许脏读查询sql Mysql没有语法糖,需要原生的sqlSET S ...

  8. maven使用感受

    第一次接触的时候,什么都不懂,感觉好复杂. 后来系统地看了一个使用教程: 简单评价一下: 自动帮我们下载jar架包,还有就是可以执行命令自己部署到远程服务器上面去. 缺点: 学习成本.一般人不了解.第 ...

  9. 软工1816 · 作业(八)项目UML设计

    团队信息 队员姓名与学号 学号 姓名 博客链接 124 王彬(组长) 点击这里 206 赵畅 点击这里 215 胡展瑞 点击这里 320 李恒达 点击这里 131 佘岳昕 点击这里 431 王源 点击 ...

  10. Tomcat之Windows环境下配置多个服务器

    在应对多项目多端口的情况配置一个服务器是远不能满足开发条件的.例如微信公众号回调域名只接受80端口,而其他项目一般为默认的8080或者自定义的其他的端口. 废话多说,直入主题 准备条件:tomcat文 ...