在开发过程中我们经常面临着需要将数据导出或者导入到系统中,例如一些生产管理系统,项目管理系统等等都会有这样的需求;

将excel数据到系统中思路:获取excel中每一行的数据,然后存入集合中,批量添加到数据库对应的表中;

下面的demo是将财务部的工资表导入到系统中,细节有待完善。

protected void BtnUpload_Click(object sender, EventArgs e)

{

#region 导入数据到工资表中
string filepath = salaryDAL.GetFilePathByKeyField(this.Number.Text);
string path = filepath.Replace("HumanResources/Gongzi/", "");
path = Server.MapPath(path);//获取excel文件路径
FileStream files = new FileStream(path, FileMode.Open, FileAccess.Read);//读取文件流
NPOI.SS.UserModel.IWorkbook workbook = WorkbookFactory.Create(files);
//读取sheet
var sheet = workbook.GetSheetAt(0);
var index = sheet.LastRowNum;
for (int i = 1; i <= index; i++)
{

  //注意:for循环中变量 i 的初始值为excel中元数据的行号,我的excel格式:0为表头 ,所以从1开始读取
  var row = sheet.GetRow(i);
  Salary model = new Salary();
  #region 获取单元格的值并赋值給实体对象
  model.RealName = row.GetCell(1).StringCellValue;
  model.UserNo = row.GetCell(2).NumericCellValue.ToString();
  model.Property = row.GetCell(3).StringCellValue;
  model.WorkDaies = Convert.ToInt32(row.GetCell(4).NumericCellValue);
  model.Holidaies = Convert.ToInt32(row.GetCell(5).NumericCellValue);
  model.BasicSalary = Convert.ToDecimal(row.GetCell(6).NumericCellValue);
  model.PostSalary = Convert.ToDecimal(row.GetCell(7).NumericCellValue);
  model.PostAllowance = Convert.ToDecimal(row.GetCell(8).NumericCellValue);
  model.Pension = Convert.ToDecimal(row.GetCell(9).NumericCellValue);
  model.Medical = Convert.ToDecimal(row.GetCell(10).NumericCellValue);

  ...........

  model.DaoZhangDate = Convert.ToDateTime(DateTime.Now.ToShortDateString());
  #endregion

//也可以将model存到集合中,将集合包含在事务中,循环将集合中的元素新增到数据库中,从而保证数据一致性
  int id = salaryDAL.Add(model);
}

files.Dispose();
base.Response.Write("<script language=javascript>alert('工资导入成功!');window.location.href='SalaryExport.aspx'</script>");
#endregion

}

.net导入excel数据到数据库中的更多相关文章

  1. MYSQL 导入Excel数据到数据库中

    1,先把excel的数据整理整齐,如每列都要保持同样的格式:就一列一列的数据: 2,导出excel的数据为CSV格式,即把excel的数据另存为xxxx.csv;: 3,用EditPlus工具将xxx ...

  2. 【转】 如何导入excel数据到数据库,并解决导入时间格式问题

    在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...

  3. 上传excel数据到数据库中

    上传excel表格数据到数据库 导入固定路径下的excel数据到数据库 <form id="disposeFlightDataForm" action="../up ...

  4. 导入excel数据到数据库

    1.上传excel到服务器 jsp页面代码 <form action="actionname" method="post" id="form1& ...

  5. java 使用poi 导入Excel 数据到数据库

    由于我个人电脑装的Excel是2016版本的,所以这地方我使用了XSSF 方式导入 . 1先手要制定一个Excel 模板 把模板放入javaWeb工程的某一个目录下如图: 2模板建好了后,先实现模板下 ...

  6. PHP 导入Excel数据 到数据库

    /** * 导入excel * @throws \PHPExcel_Exception * @throws \PHPExcel_Reader_Exception */ public function ...

  7. java 对excel操作导入excel数据到数据库

    加入jar包jxl.jar ===================services层掉用工具类==================================== // 导入 public Lis ...

  8. asp.net 导入Excel记录到数据库中

    常用到的一个数据库导入功能,这样的话就省了很大一部分时间来处理程序上的问题而不是无休止的重复复制粘贴动作. 其他的废话不多说,直接上代码: 前提条件: 根目录下建立uploadfiles文件夹(用于保 ...

  9. 如何批量导入excel数据至数据库(MySql)--工具phpMyAdmin

    之前由于数据储存使用excel保存了所有数据,经过初步数据筛选,数据量近4000条.一条一条录入数据库显然是不可行的.以下是我所操作的步骤: 1.只保留excel的数据部分,去除第一行的具体说明 2. ...

随机推荐

  1. Everything(文件搜索神器)

    前言 Everything官网: http://www.voidtools.com/ 软件版本: V1.3.4.686 (x64) 操作系统: windows 7/10 搜索FTP(内网)资源 比如内 ...

  2. Java开发的几个注意点

    原文出处: 后端技术杂谈 1. 将一些需要变动的配置写在属性文件中 比如,没有把一些需要并发执行时使用的线程数设置成可在属性文件中配置.那么你的程序无论在DEV环境中,还是TEST环境中,都可以顺畅无 ...

  3. SpringMVC(五) RequestMapping 请求参数和请求头

    可以通过在@RequestMapping的params参数中设置可以传入的参数,且支持简单的表达式,如以下格式: @RequestMapping(value="helloRWorld&quo ...

  4. EF使用CodeFirst方式生成数据库&技巧经验

    前言 EF已经发布很久了,也有越来越多的人在使用EF.如果你已经能够非常熟练的使用EF的功能,那么就不需要看了.本文意在将自己使用EF的方式记录下来备忘,也是为了给刚刚入门的同学一些指导.看完此文,你 ...

  5. 基于modelsim-SE的简单仿真流程—下

    基于modelsim-SE的简单仿真流程—下 编译 在 WorkSpace 窗口的 counter_tst.v上点击右键,如果选择Compile selected 则编译选中的文件,Compile A ...

  6. iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView

    iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView 时间:2016-01-19 19:13:43      阅读:630      评论:0      收藏:0   ...

  7. ubuntu中pycharm安装激活第二种方法的密钥

    43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNza WduZWVOYW1lIjoi ...

  8. ABP文档 :Overall - Introduction

    介绍 我们基于不同的需求创建不同的应用,但却在一次又一次地实现相同或相似的结构.至少在某种程度上,授权.验证.异常处理.日志.本地化.数据库连接管理.配置管理.审计日志属于通用的结构. 另外我们总是在 ...

  9. html5存储方式localstorage和sessionStorage

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. 区别:localStorage无时间限制,除非主动删除数据,否则永不过期:sessio ...

  10. Nginx相关集合

    http://www.cnblogs.com/kamil/p/5163182.html LNMP搭建(yum) Nginx基本使用 http://www.cnblogs.com/kamil/p/516 ...