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 ...
随机推荐
- Ansible 入门 (1) - 安装和配置
本文参考 <Ansible 自动化运维和最佳实践>,这两天刚读这本书,写写总结.主控机环境是 centos 7,被控机均是 centos 6.8 . 确保 python 版本大于 2.6 ...
- 电子器件行业ERP实施案例
XX有限公司是一家致力于能源需求侧管理,为工业,建筑,交通等终端能耗领域提供系统高效的能源管理解决方案的中港合资企业,作为最早从事电力计量与采集的省级高新技术企业,自2001年成立以来,专注于用户侧智 ...
- Eclipse插件的各种安装方法
这篇文章我们总结下安装Eclipse的各种方法,首先一下的步骤都是在版本为“Kepler Service Release 1”的Eclipse下完成的.如果你的Eclipse版本不是"Kep ...
- 使用Nginx+CppCMS构建高效Web应用服务器
使用Nginx+CppCMS构建高效Web应用服务器 1:Why当前,越来越多的网站使用了各种框架,大部分框架使用了脚本语言.半编译语言等.比如Java.Python.Php.C#.NET等.这些框架 ...
- [Open Source] RabbitMQ 安装与使用
前言 吃多了拉就是队列,吃饱了吐就是栈 使用场景 对操作的实时性要求不高,而需要执行的任务极为耗时:(发送短信,邮件提醒,更新文章阅读计数,记录用户操作日志) 存在异构系统间的整合: 安装 下载 Er ...
- BZOJ4403 序列统计—Lucas你好
绝对是全网写的最详细的一篇题解 题目:序列统计 代码难度:简单 思维难度:提高+-省选 讲下题面:给定三个正整数N.L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量.输出答案 ...
- 嵌入式ARM开发环境搭建
1. 安装,配置,启动FTP服务 安装FTP: sudo apt-get install vsftpd 修改vsftpd的配置文件/etc/vsftpd.conf,将下面两行的'#'去掉#local_ ...
- Beautils工具类实现的原理
关于内省机制和反射机制请看这一篇博客[还没写完,在草稿中]. 先说一下什么叫做 bean 属性,bean 属性指的是 get / set 方法后的名称,而不是类的属性: 比如: private Str ...
- Android 增加(键盘)按键
以添加 camera按键为例(红色是需要添加的) 一.kernel键值定义 (1)键扫描码 ScanCode是由linux的Input驱动框架定义的整数类型,可参考input.h头文件,即geteve ...
- ioS开发之CoreLocation(GPS定位)
1.概述 在iOS开发中,要想加入地图和定位功能这2大功能,必须基于2个框架进行开发 (1)Map Kit :用于地图展示 (2)Core Location :用于地理定位 2个热门专业术语: LBS ...