asp.net Excel数据导入到数据库中
protected void Btn_Import_Click(object sender, EventArgs e)
{
bool Result_Import = false;
bool Result = false;
Guid RanageID = Guid.NewGuid();
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
if (FileUpload1.HasFile == false)
{
Function.AlertMsg("请您先选择后缀名为.xls或.xlsx的Excel文件", "SetForm.aspx?eid=" + EmployeeID);
}
else if (IsXls != ".xls" && IsXls != ".xlsx")
{
Function.AlertMsg("请选择后缀名为.xls或.xlsx的Excel文件", "SetForm.aspx?eid=" + EmployeeID);
}
else
{
string NewFileName = DateTime.Now.ToString("yyyyMMddhhmmss") + new Random().Next(, ) + IsXls;//新文件名
string NewPath = Server.MapPath("../attachment/Excel/") + NewFileName;//服务器保存路径
FileUpload1.SaveAs(NewPath);
DataSet Ds = ExcelDs(NewPath, NewFileName);
DataRow[] Dr = Ds.Tables[].Select();
int RowsNum = Ds.Tables[].Rows.Count;
if (RowsNum.Equals())
{
Function.AlertMsg("该考核表为空表,请重新上传!", "SetForm.aspx?eid=" + EmployeeID);
}
else
{
string RanageIDs = ""; #region
for (int i = ; i < Dr.Length; i++)//遍历Excel中的考核范围并添加到数据库
{
string Ranage = Dr[i]["范围"].ToString();
string Weight = Dr[i]["权重"].ToString();
string Target = Dr[i]["考核指标"].ToString();
string Standard = Dr[i]["考核标准"].ToString();
string Remark = Dr[i]["描述"].ToString(); if (Ranage != "" && Weight != "")
{
RanageID = Guid.NewGuid();
opa_appraiseranage.ID = RanageID;
opa_appraiseranage.Ranage = Ranage;
opa_appraiseranage.Weight = int.Parse(Weight);
opa_appraiseranage.IsImport = true;
Result = OPA_AppraiseRanage.InsertRanageByEID(opa_appraiseranage);
if (Result)
{
RanageIDs = RanageIDs + "'" + RanageID + "',";
Result_Import = true;
}
else
{
Result_Import = false;
break;
}
}
if (Target != "")
{
opa_appraisetarget.RanageID = RanageID;
opa_appraisetarget.Target = Target;
opa_appraisetarget.Standard = Standard;
opa_appraisetarget.Remark = Remark;
opa_appraisetarget.IsImport = true;
bool resultTarget = OPA_AppraiseTarget.InsertTargetByEID(opa_appraisetarget);
if (resultTarget)
{
Result_Import = true;
}
else
{
Result_Import = false;
break;
}
}
}//考核表录入循环完毕
#endregion #region
if (Result_Import)//表格导入成功,则删除该员工原有的考核表信息
{
bool R = OPA_AppraiseRanage.DeleteBeforeRanageTargetAndUpdateIsImportByEID(opa_appraiseranage);
if (R)
{
Function.AlertMsg("考核表信息导入成功!", "PreviewAppraiseForm.aspx?eid=" + EmployeeID);
File.Delete(NewPath);//删除上传的考核表Excel文件
}
else
{
RanageIDs = RanageIDs.Substring(, RanageIDs.Length - );
opa_appraiseranage.IDs = RanageIDs;
bool Result_D = OPA_AppraiseRanage.DeleteImportRanageTargetByRIDs(opa_appraiseranage);//根据考核范围ID和状态IsImport=1删除刚才导入的考核范围指标信息
if (Result_D)
{
Function.AlertMsg("考核表信息录入失败,数据已成功回滚,请检查数据后尝试重新录入!", "SetForm.aspx?eid=" + EmployeeID);
}
else
{ Function.AlertMsg("考核表信息录入失败,数据回滚失败,请联系管理员!", "SetForm.aspx?eid=" + EmployeeID);
}
} }
#endregion
}
}
}
public DataSet ExcelDs(string FilenamePath, string Table)
{
string strConn = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ='" + FilenamePath + "';Extended Properties='Excel 8.0'";
OleDbConnection Odbconn = new OleDbConnection(strConn);
OleDbDataAdapter Odda = new OleDbDataAdapter("select * from [Sheet1$]", Odbconn);
DataSet Ds = new DataSet();
Odda.Fill(Ds, Table);
return Ds; }
asp.net Excel数据导入到数据库中的更多相关文章
- java实现EXCEL数据导入到数据库中的格式问题的解决
之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...
- 在 Symfony Command中自定义脚本把Excel数据导入到数据库中
// 注:只是在此做下记录,有兴趣的可以参考,不做实际教程文档 <?php/** * Created by IntelliJ IDEA. * User: davis * Date: 2019-0 ...
- NOPI Excel 数据导入到数据库
/// <summary> /// 上传excel文件 并将文件数据导入到数据库 /// </summary> /// <param name="file&qu ...
- 将Excel数据导入mysql数据库的几种方法
将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...
- 把Excel数据导入到数据库
引入命名空间 using System.IO; using System.Data; using System.Data.OleDb; 引入命名空间 首先要把Excel上传到服务器 //上传Excel ...
- 利用TOAD实现把EXCEL数据导入oracle数据库
利用TOAD实现把EXCEL数据导入oracle数据库 工具: Toad11.7z(百度搜索,直接下载) 1.将Excel文件中某些字段导入到Oracle数据库的对应表 连接想要导入的数据库 ,然 ...
- c#将Excel数据导入到数据库的实现代码
这篇文章主要介绍了c#将Excel数据导入到数据库的实现代码,有需要的朋友可以参考一下 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 代码如下: using Syste ...
- 批量Excel数据导入Oracle数据库 导入excel错误:外部表不是预期的格式 解决方案
在asp.net网站中导出Excel文件后,再把文件导入到数据库中. 读取Excel文件时,打开连接出错. 错误为:外部表不是预期的格式 解决:检查了一下,导出的Excel是标准文件不是html,没错 ...
- 如何将EXCEL表导入ORACLE数据库中?【转】
来源:https://zhidao.baidu.com/question/383828330.html?qbl=relate_question_2&word=excel%20%B1%ED%CA ...
随机推荐
- 利用session防止用户未经登录而直接访问
在编写项目的时候,突然想如果按常理出牌,不首先进入登录界面而直接访问网页内容,可不可以呢?如此一来便尝试了一下,整的可以直接进入管理员页面,获取完全的管理权限.于是在网上查看了一下解决方案,学习了一下 ...
- 大数据之sqoop
一.安装: 1 解压然后把mysql的驱动放在$SQOOP_HOME/lib 目录中2. conf/sqoop-en.sh export HADOOP_COMMON_HOME=/home/hadoop ...
- 分分钟教会大家第一个Spring入门案例
1.下载Spring jar包,并添加到项目中. 官网地址http:springsource.org 2.在项目中新建一个类 package cn.test; public class He ...
- gcc 4.8.3 install centos
http://blog.csdn.net/xlx921027/article/details/17382643
- Java 7 Concurrency Cookbook 翻译 第一章 线程管理之一
一.简介 在计算机的世界里,当我们谈论并发时,我们指的是一系列的任务同时运行于一个计算机中.这里说的同时运行,在计算机拥有多于一个处理器或者是一个多核处理器的时候才是真正的同时,在计算机只拥有单核处理 ...
- ZOJ 3811 Untrusted Patrol
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3811 解题报告:一个无向图上有n个点和m条边,其中有k个点上安装 ...
- BZOJ1030——文本生成器
给你若干给字符串,再给你一个m,问长度是m的字符串中包含给定字符串的数量mod 10007是多少 这个拿过来啥思路也没有,后来还是看了题解,才知道,原来,原来....那个带fail的Trie还可以搞别 ...
- Java序列化技术与Protobuff
http://www.cnblogs.com/fangfan/p/4094175.html http://www.cnblogs.com/fangfan/p/4094175.html 前言: Java ...
- Linux中的动态库和静态库(.a/.la/.so/.o)
Linux中的动态库和静态库(.a/.la/.so/.o) Linux中的动态库和静态库(.a/.la/.so/.o) C/C++程序编译的过程 .o文件(目标文件) 创建atoi.o 使用atoi. ...
- java中类名,方法,变量,包名等大小写命名规范
类名:首字母大写,其他单词中首字母大写,其他小写方法名:首字母小写,其他单词中首字母大写,其他小写变量:与方法名规则同包名:全部小写接口interface:I开头