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 ...
随机推荐
- .Net程序员必须要知道的东西之HttpModules与HttpHandlers介绍
一.ASP.NET对请求处理的过程: 当客户端请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给ASPNET_ISAPI. ...
- [原创]svn 常见错误总结
错误: Unable to make name in 'X:\nfs\drivers\can_uart\.svn\tmp' 解决: 改变当前文件夹的权限 linux 下显示修改的文件名 参考链接:ht ...
- Bootstarp: sub_menu 自定义改变nav样式
<style> .nav > li > a { position: relative; display: block; padding: 5px 5px; } </sty ...
- H5项目常见问题汇总及解决方案
H5项目常见问题汇总及解决方案 H5 2015-12-06 10:15:33 发布 您的评价: 4.5 收藏 4收藏 H5项目常见问题及注意事项 Meta基础知识: H5页 ...
- BZOJ2171——K凹凸序列
好吧,我承认是sb题QAQ BZOJ2171弱化版QAQ 这题考试的时候写的我快吐血了QAQ 0.题目大意:给一个序列,你可以随便修改,修改是将一个数+1或-1,一次修改的代价是1,问把这个数修改成x ...
- windows下nodejs常见错误
1.express-session express-session deprecated undefined resave option; provide resave option auth_s e ...
- WebRTC
WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2010年以6820万美元收购Globa ...
- 新型序列化类库MessagePack,比JSON更快、更小的格式
MessagePack is an efficient binary serialization format. It lets you exchange data among multiple la ...
- JNative library not loaded, sorry ! win7 64位系统
java调用动态链接库时,使用myeclipse或者其他IDE工具时,针对于web程序,会报这样的错误: java.lang.IllegalStateException: JNative librar ...
- SQL 执行计划(一)
缓存执行计划 SQL Server 2008提供了一些服务器对象来分析执行计划Sys.dm_exec_cached_plans: 包含缓存的执行计划,每个执行计划对应一行.Sys.dm_exe ...