文档详情

Excel批量导入数据库.doc

发布:2017-11-30约6.08千字共6页下载文档
文本预览下载声明
系统中需要用到Excel整体导入的功能整体的核心思路如下: 1、 首先将需要导入的Excel上传至服务器 2、 为了避免文件名重复,重命名上传的Excel文件 3、 将上传的Excel文件读入DataTable中 4、 将DataTable读入数据库中 实现起来还是比较简单的,核心代码如下: 界面需要一个FileUpload控件和一个Button 界面代码: view plain span style=font-size:16px;using System; using System.Data; namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnUpload_Click(object sender, EventArgs e) { string path = Server.MapPath(~/upload/); //根据日期时间重命名文件 string fileName = DateTime.Now.ToString(yyyymmddhhMMss) + FileUpload1.FileName; ExcelManager em = new ExcelManager(path + fileName); FileUpload1.PostedFile.SaveAs(path + fileName);//另存文件 DataTable dtTable = em.ExecuteGetDataTable(fileName); em.WriteToDB(studentInfo, dtTable);//导入数据库 } } } /span Excel导入数据库控制类 其中需要注意的是 1、连接Excel字符串中HDR的值表示是否有表头,YSE表示导入的EXCEL包括表头,NO反之。 2、IMEX的值有三个 当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 只能用来做“写入”用途。 当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 只能用来做“读取”用途。 当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 可同时支持“读取”与“写入”用途。 这里是EXCEL导入,对于EXCEL是读取操作,即IMEX=0。 view plain span style=font-size:16px;using System.Data.OleDb; using System.Data; namespace WebApplication1 { /// summary /// excel导入数据库控制类 /// /summary public class ExcelManager { //定义连接 OleDbConnection oledbConn = null; /// summary /// 构造函数,初始化连接,给连接赋上地址 /// /summary /// param name=fileUrl/param public ExcelManager(string fileUrl) { string strConn = Provider=Microsoft.Jet.Oledb.4.0; + data source= + fileUrl + ;Extended Properties=Excel 8.0; HDR=NO; IMEX=1; oledbConn = new OleDbConnection(strConn); } /// summary /// 连接Excel表的方法 //
显示全部
相似文档