首先要添加NPOI.dll程序集 https://yunpan.cn/cMeSTELJSXmJJ  访问密码 8d83

把里面的程序集都添加到引用里

下面的代码是从数据库导出到Excel

   public void DaoChuExcel(string path)         {  //path是导出的excel要保存的路径
using (Stream fs = new FileStream(path, FileMode.Create, FileAccess.Write))
{ //创建一个表
XSSFWorkbook work = new XSSFWorkbook();
//创建页
ISheet sheet = work.CreateSheet("zx");
List<MemberInfo> list = memDal.GetAllMemberByDelFlag();
//创建行
for (int i = ; i < list.Count; i++)
{
IRow row = sheet.CreateRow(i); //定义excel中的一行 //下面的Icell代表行中的单元格
ICell cell2 = row.CreateCell(, CellType.String);
cell2.SetCellValue(list[i].MemName); ICell cell3 = row.CreateCell(, CellType.String);
cell3.SetCellValue(list[i].MemMobilePhone); ICell cell4 = row.CreateCell(, CellType.String);
cell4.SetCellValue(list[i].MemAddress); ICell cell5 = row.CreateCell(, CellType.Numeric);
cell5.SetCellValue(list[i].MemType); ICell cell6 = row.CreateCell(, CellType.String);
cell6.SetCellValue(list[i].MemNum); ICell cell7 = row.CreateCell(, CellType.String);
cell7.SetCellValue(list[i].MemGender); ICell cell8 = row.CreateCell(, CellType.Numeric);
cell8.SetCellValue(list[i].MemDiscount); ICell cell9 = row.CreateCell(, CellType.Numeric);
cell9.SetCellValue(list[i].MemMoney); ICell cell10 = row.CreateCell(, CellType.Numeric);
cell10.SetCellValue(list[i].DelFlag); ICell cell11 = row.CreateCell(, CellType.String);
cell11.SetCellValue(list[i].SubTime.ToShortDateString()); ICell cell12 = row.CreateCell(, CellType.Numeric);
cell12.SetCellValue(list[i].MemIntegral); ICell cell13 = row.CreateCell(, CellType.String);
cell13.SetCellValue(list[i].MemEndTime.ToShortDateString()); ICell cell14 = row.CreateCell(, CellType.String);
cell14.SetCellValue(list[i].MemBirthday.ToShortDateString());
}
work.Write(fs); //最后把表写入IO流中 } }

下面是从excel中导入数据库

  public void ReadExcel(string path)
{
using (Stream fs = new FileStream(path,FileMode.Open,FileAccess.Read)) //从指定路径读入excel表
{
List<MemberInfo> list = new List<MemberInfo>();
//工作表
IWorkbook workbook = WorkbookFactory.Create(fs);
//获取页
ISheet sheet = workbook.GetSheetAt();
//遍历行
for (int i = ; i <=sheet.LastRowNum; i++)
{
MemberInfo mem = new MemberInfo();
//获取行
IRow row = sheet.GetRow(i); mem.MemName = row.GetCell().StringCellValue;
mem.MemMobilePhone = row.GetCell().StringCellValue;
mem.MemAddress = row.GetCell().StringCellValue;
mem.MemType = Convert.ToInt32(row.GetCell().NumericCellValue);
mem.MemNum = row.GetCell().StringCellValue;
mem.MemGender = row.GetCell().StringCellValue;
mem.MemDiscount = Convert.ToDouble(row.GetCell().NumericCellValue);
mem.MemMoney = row.GetCell().NumericCellValue;
mem.DelFlag = Convert.ToInt32(row.GetCell().NumericCellValue); mem.SubTime =Convert.ToDateTime(row.GetCell().StringCellValue);
mem.MemIntegral = Convert.ToInt32(row.GetCell().NumericCellValue);
mem.MemEndTime = Convert.ToDateTime(row.GetCell().StringCellValue);
mem.MemBirthday = Convert.ToDateTime(row.GetCell().StringCellValue);
list.Add(mem);
}
memDal.AddMemberInfo(list); //把数据体添加到数据库
} }

NPOI从数据库中导出数据到Excel的更多相关文章

  1. 手把手教你springboot中导出数据到excel中

    手把手教你springboot中导出数据到excel中 问题来源: 前一段时间公司的项目有个导出数据的需求,要求能够实现全部导出也可以多选批量导出(虽然不是我负责的,我自己研究了研究),我们的项目是x ...

  2. 将Oracle数据库中的数据写入Excel

    将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...

  3. python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...

  4. 对.NET中导出数据到EXCEL的几种方法探讨

    最近在做一个报表系统的时候,需要把DATASET中的数据导到EXCEL当中,于是在网上找了一遍,发现了好几种方法,本来以为应该差不多,但后来经过一一试用后,发现在性能上真的差别很大,现在就介绍一下,同 ...

  5. Kettle实现从数据库中提取数据到Excel

    因为有个日常提数,工作日每天都要从数据库中提取数据,转换为excel,再以邮件的形式发给用户. 刚好近期同事在研究使用kettle自动提数且完成邮件的发送,觉得很实用又挺有意思的就学了一下这个技能~ ...

  6. .net中从GridView中导出数据到excel(详细)

    1,创建数据源 找到要导出的GridView中的数据. 2,重写VerifyRenderingInServerForm方法. public override void VerifyRenderingI ...

  7. NPOI从数据库中调取数据直接导出到EXCEL中

    关于NPOI NPOI是POI项目的.NET版本,是由@Tony Qu(http://tonyqus.cnblogs.com/)等大侠基于POI开发的,可以从http://npoi.codeplex. ...

  8. Dynamics CRM2016 新功能之从CRM APP中导出数据至EXCEL

    新版的CRM对移动端做了很多的改进,这归咎于微软对APP端的越来越重视.自己装了个IOS版的APP,体验了下基本的功能,比原来好用很多很顺滑,这里要介绍的是一个新的数据导出功能. 咱们进入case列表 ...

  9. 从数据库中导出数据到.csv文件

    考虑到csv文件比xls文件格式容易控制,所以在这次导出中用的是.csv格式. protected function exportInfo($arr, &$err){ $nameInfo = ...

随机推荐

  1. hdu 1229 超级大水题

      Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Status Desc ...

  2. SharePoint 2013 弹窗效果之URL打开方式(一)

    在SharePoint中想做一个弹出效果其实很简单,仅仅在js中使用SharePoint Modal Dialog, 以下做一个简单的例子:很多情况下我们会通过linkButton弹出一个详细页面,那 ...

  3. Java中的自动拆箱装箱(Autoboxing&Unboxing)

    一.基本类型打包器 1.基本类型:long.int.double.float.boolean 2.类类型:Long.Integer.Double.Float.Boolean 区别:基本类型效率更高,类 ...

  4. OrCAD PSpice仿真库模型

    说明:本介绍包含了\capture\library\pspice和capture\library\pspice\advanls目录下所有库,但由于作者水平有限,介绍得也比较简单,有些说明可能不一定对. ...

  5. 【转】常见 jar包详解

    转载自:http://www.cnblogs.com/xusir/archive/2013/05/19/3086878.html   jar包 用途 axis.jar SOAP引擎包 commons- ...

  6. SharePoint2013 Powershell script to get site Title, Site Owner, Site user count and usage

    Powershell script to get site Title, Site Owner, Site user count and usage Add-PSSnapin microsoft.sh ...

  7. java学习之面向对象概念

    思考的两种方式: 举例: 把大象放到冰箱里 一.面向过程 :[打开冰箱->把大象放里面->关上冰箱门]面向过程注重的是过程,也就是(动作[函数]),然后按照动作依次去执行就好了. 代表语言 ...

  8. 物理卷操作命令:pvcreate,pvscan,pvdisplay.卷组操作命令:vgcreate,vgdisplay.

    新硬盘创建LVM系统过程. 物理卷操作命令:pvcreate,pvscan,pvdisplay. 卷组操作命令:vgcreate,vgdisplay. 逻辑卷操作命令:lvcreate,lvdispl ...

  9. 「Poetize5」水叮当的舞步

    Description 水叮当得到了一块五颜六色的格子形地毯作为生日礼物,更加特别的是,地毯上格子的颜色还能随着踩踏而改变. 为了讨好她的偶像虹猫,水叮当决定在地毯上跳一支轻盈的舞来卖萌~~~ 地毯上 ...

  10. 【video】m3u8

    Safari浏览器识别不了.UC浏览器可以识别. 优酷的Safari浏览器和UC浏览器都可以识别.