首先要添加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. MSSQL中datetime与unix时间戳互转

    //ms sql datetime 转unix时间戳 SELECT DATEDIFF(s, '19700101',GETDATE()) //ms sql unix时间戳 转datetime 涉及到时区 ...

  2. KVO/KVC总结

    KVO/KVC总结       下面是根据网上文章的总结,方便查看. 在网上看别人的文章,了解KVC.KVO,有个kvo-kvc的例子,就是改变数组的内容(插入和删除),同步改变tableview中的 ...

  3. ExtJS 4 类系统

    ExtJS 4的类系统(class system)进行了一次重大重构,ExtJS4的新架构就是基于这套新的类系统构建的,因此有必要先了解以下这个class system这篇文章分为四章 I: &quo ...

  4. jQuery.dialog

    本篇文章主要是对JQUERY中dialog的用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 今天用到了客户端的对话框,把 jQuery UI 中的对话框学习了一下. 准备 jQ ...

  5. [BZOJ 1042] [HAOI2008] 硬币购物 【DP + 容斥】

    题目链接:BZOJ - 1042 题目分析 首先 Orz Hzwer ,代码题解都是看的他的 blog. 这道题首先使用DP预处理,先求出,在不考虑每种硬币个数的限制的情况下,每个钱数有多少种拼凑方案 ...

  6. About JavaScript

    JavaScript Function, Constructor function, Plain Object (expression function, closure) Maintainable ...

  7. codeforces Dima and Bacteria

    题意:给出n,m和k,表示有n个细菌,m种仪器和k种细菌,给出k种细菌的数量ci,然后每个细菌按照种类排成一排(所以有第i种细菌的序号从∑(1≤j≤i-1)cj + 1 到∑(1≤j≤i)cj):接下 ...

  8. Android:创建可穿戴应用 - 自定义布局

    创建自定义布局(Creating Custom Layouts) 本文将介绍如何创建自定义通知以及使用可穿戴UI库来创建自定义布局你同时还需要了解可穿戴设计准则(Wear Design Princip ...

  9. POJ 3694 Network(无向图求桥+重边处理+LCA)

    题目大意: 给你一个无向图,然后再给你一个Q代表有Q次询问,每一次加一条边之后还有几座桥.在这里要对重边进行处理. 每次加入一条边之后,在这条搜索树上两个点的公共祖先都上所有点的桥都没了. 这里重边的 ...

  10. PHP去除空白字符

    例子1: <?php $var = " This is a beautiful day!"; // 删除字符串中的所有空白字符(不包括全角空格) $var1 = preg_r ...