




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统中需要用到Excel整体导入的功能整体的核心思路如下:1、 首先将需要导入的Excel上传至服务器2、 为了避免文件名重复,重命名上传的Excel文件3、 将上传的Excel文件读入DataTable中4、 将DataTable读入数据库中实现起来还是比较简单的,核心代码如下:界面需要一个FileUpload控件和一个Button界面代码:view plain1 using System; 2 using System.Data; 3 4 namespace WebApplication1 5 6 public partial class WebForm1 : System.Web.UI.Page 7 8 protected void Page_Load(object sender, EventArgs e) 9 10 11 12 13 protected void btnUpload_Click(object sender, EventArgs e) 14 15 string path = Server.MapPath(/upload/); 16 /根据日期时间重命名文件 17 string fileName = DateTime.Now.ToString(yyyymmddhhMMss) + FileUpload1.FileName; 18 ExcelManager em = new ExcelManager(path + fileName); 19 20 FileUpload1.PostedFile.SaveAs(path + fileName);/另存文件 21 DataTable dtTable = em.ExecuteGetDataTable(fileName); 22 em.WriteToDB(studentInfo, dtTable);/导入数据库 23 24 25 26 Excel导入数据库控制类其中需要注意的是1、连接Excel字符串中HDR的值表示是否有表头,YSE表示导入的EXCEL包括表头,NO反之。2、IMEX的值有三个当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 只能用来做“写入”用途。当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 只能用来做“读取”用途。当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 可同时支持“读取”与“写入”用途。这里是EXCEL导入,对于EXCEL是读取操作,即IMEX=0。view plain27 using System.Data.OleDb; 28 using System.Data; 29 namespace WebApplication1 30 31 32 / 33 / excel导入数据库控制类 34 / 35 public class ExcelManager 36 37 38 /定义连接 39 OleDbConnection oledbConn = null; 40 / 41 / 构造函数,初始化连接,给连接赋上地址 42 / 43 / 44 public ExcelManager(string fileUrl) 45 46 47 string strConn = Provider=Microsoft.Jet.Oledb.4.0; + data source= + fileUrl + ;Extended Properties=Excel 8.0; HDR=NO; IMEX=1; 48 oledbConn = new OleDbConnection(strConn); 49 50 51 / 52 / 连接Excel表的方法 53 / 54 / 55 public OleDbConnection GetCon() 56 57 if (oledbConn.State = ConnectionState.Closed) 58 59 oledbConn.Open(); 60 61 return oledbConn; 62 63 64 / 65 / 将上传的Excel数据导入到DataTable中 66 / 67 / 68 / 69 public DataTable ExecuteGetDataTable(string fileName) 70 71 72 DataSet ds = new DataSet(); 73 OleDbDataAdapter oledbda = new OleDbDataAdapter(select * fromSheet1$, GetCon(); 74 oledbda.Fill(ds, fileName); 75 /获取数据集中的第一个表 76 return ds.Tables0; 77 78 79 / 80 / 将加工好的DataTable导入到数据库中 81 / 82 / 数据库中的目标表名称 83 / 源表 84 / 85 public bool WriteToDB(string destinationTableName, DataTable sourceTable) 86 87 88 bool flag = false; 89 SqlBulkCopyHelper bulkCopyHelper = new SqlBulkCopyHelper(); 90 if (bulkCopyHelper.ExecuteBulkCopy(destinationTableName, sourceTable) 91 92 flag = true; 93 94 else 95 96 flag = false; 97 98 return flag; 99 100 101 / 102 / 上传文件到服务器的UpLoad文件夹 103 / 104 / 105 / 106 public bool IsExcel(string fileName) 107 108 bool flag = false; 109 /获得该文件的扩展名 110 string fileExtension = System.IO.Path.GetExtension(fileName).ToLower(); 111 /检查扩展名是否为xls 112 if (fileExtension.Equals(.xls) 113 114 flag = true; 115 116 else 117 118 flag = false; 119 120 return flag; 121 122 123 124 批量导入数据助手类 view plain125 using System; 126 using System.Data; 127 using System.Configuration; 128 using System.Data.SqlClient; 129 130 / 131 / 批量导入数据助手类 132 / 133 public class SqlBulkCopyHelper 134 135 136 /获取配置文件中的数据库连接字符串 137 private string strCon = ConfigurationManager.ConnectionStringsconnBasicInfo.ConnectionString; 138 private SqlConnection sqlCon; 139 / 140 / 构造函数,初始化连接字符串 141 / 142 public SqlBulkCopyHelper() 143 144 sqlCon = new SqlConnection(strCon); 145 146 147 / 148 / 打开数据库连接 149 / 150 / 151 public SqlConnection GetCon() 152 153 if (sqlCon .State =ConnectionState .Closed ) 154 155 sqlCon.Open(); 156 157 return sqlCon; 158 159 160 / 161 / 将源数据表中的数据批量导入到目标表 162 / 163 / 目标表 164 / 源表 165 / 166 public bool ExecuteBulkCopy(string targetTableName, DataTable sourceTable) 167 168 bool flag = false; 169 /调用批量拷贝类 170 using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GetCon() 171 172 bulkCopy.DestinationTableName = t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位笔试-江苏-江苏计算机信息管理(医疗招聘)历年参考题库典型考点含答案解析
- 心脏电生理调控研究-洞察及研究
- 2025年事业单位笔试-上海-上海中医诊断学(医疗招聘)历年参考题库典型考点含答案解析
- 2025-2026学年高中化学单元集训单元检测六化学反应速率与化学平衡
- 2025年新高二化学暑假衔接讲练(人教版)专题03化学反应速率-1
- 团队管理建设培训7
- 文化地标面试题目及答案
- 新解读《GB-T 36262-2018结构工程用纤维增强复合材料网格》
- 七年级姜堰数学试卷
- 苏州工行面试题目及答案
- 集团公司新闻宣传工作管理办法
- 物业消防安全管理制度
- 金属非金属矿山安全规程的完整性与实施
- 无线电监测技术设施运行维护项目需求
- 精密设备微振动隔离:主被动混合隔振平台的研究与应用
- NSA2000变频器使用说明书
- 2025-2030年中国企业孵化器行业发展现状及前景规划研究报告
- 动物生理学电子教案
- 学校开荒保洁服务方案
- DB32-T 3144-2016普通高校单位综合能耗、电耗限额及计算方法
- 2025年中考初中历史核心素养新课标解读课件(含真题分析)
评论
0/150
提交评论