EXCEL数据导入数据库实例(NPOI)
Default.aspx 页面代码:
引用了: <script src="../../js/jquery.easyui.min.js" type="text/javascript"></script>
<form id="fileForm" runat="server" enctype="multipart/form-data" method="post"> 导入EXCEL:<asp:fileupload runat="server" id="upFile"></asp:fileupload><a href="javascript:;"
class="btn btn-primary" id="btnExelre">导入</a> </form>
js代码:
<script type="text/javascript">
$(function() {
//提交导入
$("#btnExelre").click(function() {
$("#fileForm").form("submit", {
url: "../Handler/DiryExcel.ashx",
success: function(rdata) {
console.log(rdata);
rdata = $.parseJSON(rdata);
if (rdata.result == "success") {
alert(rdata.message);
window.location.reload();
} else if (rdata.result == "error") {
alert(rdata.message);
}
}
});
});
});
</script>
DiryExcel.ashx 页面:
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
SystemBLL._zaizhi fileBll = new SystemBLL._zaizhi();
string strMsg = ""; //返回的提示信息
string rType = ""; //返回的状态
int obj = ;
HttpPostedFile file = context.Request.Files["upFile"]; //上传文件的控件
try
{
if (file != null && file.InputStream != null && file.ContentLength > )
{
System.Data.DataTable dtImport = CommonLib.ExcelHelper1.ImportExceltoDt(file.InputStream);
if (dtImport != null)
{
for (int i = ; i < dtImport.Rows.Count; i++)
{
SystemModel._zaizhi model = new SystemModel._zaizhi();
model.idcard = dtImport.Rows[i][].ToString();//身份证号
model.sno = dtImport.Rows[i][].ToString();//学号
model.sname = dtImport.Rows[i][].ToString();//姓名
model.ssex = dtImport.Rows[i][].ToString();//性别
model.other = dtImport.Rows[i][].ToString();//
model.szcode = dtImport.Rows[i][].ToString();//
model.schoole = dtImport.Rows[i][].ToString();//
model.szname = dtImport.Rows[i][].ToString();//
model.other1 = DateTime.Now.ToString();
obj += fileBll.Add(model);
}
if (obj == dtImport.Rows.Count)
{
strMsg = "恭喜你,数据导入成功!";
rType = "success";
}
else
{
strMsg = "很抱歉,数据导入失败!";
rType = "error";
}
}
else
{
strMsg = "很抱歉,操作失败!";
rType = "error";
}
}
else
{
strMsg = "很抱歉,上传文件为空,操作失败!";
rType = "error";
}
}
catch (Exception ex)
{
strMsg = "Error:" + ex.Message + "<br>" + ex.Source + ex.StackTrace;
rType = "error";
}
string resultString = "{\"result\":\"" + rType + "\",\"message\":\"" + strMsg + "\"}";
context.Response.Write(resultString);
}
//最后提示:
第一次使用的时候遇到的问题
使用的npoi不支持excel2003以上的版本,所以导入的时候。要选择03的excel数据,
解决办法:使用新的npoi 或者 把excel文件另存为03的
EXCEL数据导入数据库实例(NPOI)的更多相关文章
- 使用python将excel数据导入数据库
使用python将excel数据导入数据库 因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接 ...
- [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!
引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...
- 转:[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!
引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...
- 如何把excel数据导入数据库
这里介绍2种把excel数据导入oracle数据库的方法. 1. 在excel中生成sql语句. 1)在数据列的右侧,第一行的任何位置输入="insert into table(xx,yyy ...
- C#将Excel数据导入数据库(MySQL或Sql Server)
最近一直很忙,很久没写博客了.今天给大家讲解一下如何用C#将Excel数据导入Excel,同时在文章最后附上如何用sqlserver和mysql工具导入数据. 导入过程大致分为两步: 1.将excel ...
- Excel数据导入数据库
maven依赖 <!--excel相关依赖--> <dependency> <groupId>org.apache.poi</groupId> < ...
- PHPExcel将Excel数据导入数据库
<?php //PHPExcel读取导入Excel数据到数据库(2003,2007通用)使用方法: //先用excel2array()方法将excel表中的数据存储到数组,在从遍历二维数组将数据 ...
- 将Excel数据导入数据库
Excel如下,这页工作表名叫“线路” 数据库表如下 using System; using System.Collections.Generic; using System.Linq; using ...
- ASP.NET Excel数据导入数据库
<identity impersonate="true"/> 是指模拟IIS身份验证 導入錯誤時可刪除 protected void btnImport_Click(o ...
随机推荐
- 一个想法照进现实-《IT连》创业项目:万事开头难
前言: 之前是一个想法,现在已经进入创业阶段,所以这个系列的标题,改了. 众筹的事在今天也停止了. 7-9号会在深圳龙岗布吉参加一个风投对接的活动,今晚(6号)会出发. 因为:在深圳会呆几天,而且这个 ...
- (@WhiteTaken)UGUI中遇到的一些细碎的知识点
最近接触Unity中UGUI的知识比较多,遇到的东西,就慢慢积累下来吧.用到就不用去网上找了. 1.Unity加载Sprite图片资源.在Unity中,我们可能会遇到,一张图片中,有多个UI,这时候导 ...
- 软件测试之fault、error和failure的理解
(1) Identify the fault : The first element of the array is not looped. "for(int i=x.length-1;i ...
- 3-15 JS基础知识02
一.For循环: For (var i = 0; i <= 10; i++){ 循环体: } 注意:For循环中的表达式是可以省略的,省略以后是个死循环. odd:奇数 even : 偶 ...
- maven 的 snapshot 和 release 的区别
release 是发行版,通常正式发布使用. snapshot 快照版本.在开发过程中,每提交一次修改,编译好响应的jar包,都会更新到仓库中,所有添加了这个jar包的依赖都会把远程仓库里的jar包更 ...
- 前端资讯周报 3.13 - 3.19: WebVR来了!以及如何优化scroll事件性能
每周一我都会分享上一周我订阅的技术站点中,和解决问题的过程中阅读到的值得分享的文章.这是迫使我学习的一个动力 本周推荐 Minecraft in WebVR with HTML Using A-Fra ...
- [UWP]了解模板化控件(1):基础知识
1.概述 UWP允许开发者通过两种方式创建自定义的控件:UserControl和TemplatedControl(模板化控件).这个主题主要讲述如何创建和理解模板化控件,目标是能理解模板化控件常见的知 ...
- ZJOI2017 Day2
私のZJOI Day2 2017-3-22 08:00:07 AtCoder试题选讲 SYC(Sun Yican) from Shaoxing No.1 High School 2017-3-22 0 ...
- echarts柱图自定义为硬币堆叠的形式
看这标题,可能会有一些人不太明白,那么直接上图,就是柱图展示形式如下图(兼容IE8) 要想实现这样展示效果.我们想用echarts直接实现不行的,即使是纹理填充也不可行的,但是我们可以借助echart ...
- v3学院带你学习EEPROM读写实验
一.实验背景在消费者电子电讯和工业电子中看上去不相关的设计里经常有很多相似的地方例如几乎每个系统都包括一些智能控制通常是一个单片的微控制器,通用电路例如LCD驱动器远程I/O,RAM,EEPROM或数 ...