C#利用NOPI导出到Excel
前言
导出Excel,对于大多数人来说应该是太简单的了。
并且,之前在弄机房收费的时候也用过,
确实是没有什么难度。
循环遍历
但是说了不怕笑话的,就这么个功能,整整弄了两天。
开始的时候当然就是最傻的遍历塞数据
不过,不得不说的是真的是慢,如果哪个公司用这种方式,真的那就别混了
更可笑的是,我还为此加了个多线程,乱七八糟写了一大堆
当然,最后的结果肯定就是代码全废了,从新写。
正文
NOPI
今天就是想简单的提一下微软的NOPI,挺好用的
目的就是,给不知道的小伙伴分享一下,有这么个东西,已经了解的就当我没说。
对于什么excel导入、导出啊~word啊~还有什么我也不太清楚,反正是挺好用的
有需要的童鞋可以继续去网络上查看更多资料
我就使用他的这么一个导出Excel的小功能,进行一下简单的阐述
然后在说之前我先说一点注意的
此方法不适用于数据量很大的情况的,因为比较占内存
还有就是说一下效果吧,先是用那个很傻的办法,不到两万条数据,字段不到十个,用了5分多钟
用了NOPI之后用了不到2秒钟
如果这还没有引起你的注意的话,那后面也不用看了
代码
首先在使用前,需要先应用几个dll
然后在类中还需要引用一下
最后,给小伙伴们展示一下代码(我尽可量的放了少量的代码
主要是怕有的童鞋,一眼看上去代码好多,感觉此方法很麻烦,其实不然,挺简单的)
public void ExportExcel()
{Entity[] list = getData();//Entity在这里是一个实体集合,主要用于承载数据,你想用什么装数据都行//getData()是一个获取数据的方法,我是直接从数据库查出来的,这里就不给大家看了//这里,对这个刚刚获取的数据承载体进行一下判空什么的,我这里也不写了//下面这是对电脑中文件夹的操作和导出数据没有直接关系,但是我还是想给大家看一下string filePath = System.AppDomain.CurrentDomain.BaseDirectory;//获取文件的路径,此路径为该程序的bin\debug下,注意我的用词是debug下,//言下之意是debug后面还有一个“\”,客官们还可以自行百度,获取其他相关路径//根据项目需求,我需要将文件导出到debug下的一个文件夹中,客官可根据自身需求修改//判断是否存在这么一个文件夹,没有的话,就创建一下。if(!Directory.Exists(filePath + "我是一个文件夹名")){Directory.CreateDirectory(filePath + "我是一个文件夹名");}using(Stream fs = new FileStream(filePath + @"我是一个文件夹名\我是一个文件名.我是文件后缀名",FileModel.Create,FileAccess.Write)){XSSFWorkbook work = new XSSFWorkbook();//创建一个文件ISheet sheet = work.CreateSheet("我是一个表单名");//创建一个sheet,并命名//添加表头 数 据IRow row = sheet.CreateRow(0);//创建sheet中的一行,0表示第一行//下面的cell是指单元格,表示上面刚刚创建的那一行中的单元格//其中0,1,2表示,这一行横着数第几个单元格,索引从0开始ICell cell1 = row.CreateCell(0, CellType.String);cell1.SetCellValue("表头中的第一个字段");ICell cell2 = row.CreateCell(1, CellType.String);cell2.SetCellValue("表头中的第二个字段");ICell cell3 = row.CreateCell(2, CellType.String);cell2.SetCellValue("表头中的第三个字段");//添加数据,相关注释参考 表头for (int i = 0; i < list.Count(); i++){row = sheet.CreateRow(i + 1)cell1 = row.CreateCell(0, CellType.String);cell1.SetCellValue(list[i].我是实体中的某个字段名);cell2 = row.CreateCell(1, CellType.String);cell2.SetCellValue(list[i].我是实体中的某个字段名);cell3 = row.CreateCell(2, CellType.String);cell3.SetCellValue(list[i].我是实体中的某个字段名);}work.Write(fs);}
}
给客官们看了代码,之后也就没什么了
不知道哪个客官有对于大数据的导出方式,我非常愿意学习
结语
想说点什么,但是那句话,不好说
C#利用NOPI导出到Excel相关推荐
- MVC5中利用NOPI导出EXCLE
MVC5中利用NOPI导出EXCLE //导出excle 设备效率public JsonResult Exporta(){var jser = new JavaScriptSerializer();s ...
- java excel导出 jxl_JAVA利用JXL导出/生成 EXCEL
jxl是java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支持非常好,A ...
- java jxl 创建excel_JAVA利用JXL导出/生成 EXCEL
jxl是java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支持非常好,A ...
- php 利用 PHPExcel 导出 导入 Excel 方法介绍(功能介绍)
第一步 phpexcel官网上http://phpexcel.codeplex.com 下载最新的phpexcel类,下载解压缩后有一个classes文件夹,里面包含了PHPExcel.php和PHP ...
- 前端利用JS导出数据到Excel表 数字是文本类型 无法计算
问题描述:前端利用JS导出数据到Excel表 数字是文本类型 无法进行公式计算:前端利用JS导出数据到Excel表 数字是文本类型 无法计算 解决办法:参考https://bbs.csdn.net/t ...
- php导入excel源码,利用PHPExcel类库,实现PHP导出导入Excel表格Excel文件!
[温馨提示]源码包解压密码:www.youhutong.com 利用PHPExcel类库,实现PHP导出导入Excel文件!(案例教程源码) 需要注意的地方就是: 1.导出文件时,如果你的字段过多,可 ...
- Springboot利用poi导出excel下载
Springboot利用poi导出excel下载 因为项目中之前的做法是用反射获取属性,所以demo中也是用的反射,我看网上很多文章都是存入一个List中,不知道这两种哪种更何合适一点,或者有什么更好 ...
- C#利用NPOI导出Excel
C#利用NPOI导出Excel 第一篇文章 View Code 1 using System; 2 using System.Collections.Generic; 3 using System.L ...
- java利用poi导出excel功能-附带图片导出
java利用poi导出excel功能-附带图片导出 写在前面 最近刚离职,闲来无事,于是把上两家公司都有碰到过的需求但都没有去研究实现:即导出带图片的excel报表.于是就折腾了一下这个功能,研究出来 ...
- pandas后台导出excel_利用pandas将numpy数组导出生成excel
代码 # -*- coding: utf- -*- """ Created on Sun Jun :: @author: Bruce Lau ""&q ...
最新文章
- anaconda怎么下载python3.6_Anaconda Python3.6下载
- MapReduce中Client提交Job源码分析
- Android创建自己的gradle依赖包
- mysql给字段设置默认值,以及mysql的严格模式
- jquery对文本赋值和取值_jQuery对表单元素的取值和赋值操作代码
- al合成迪丽热巴_手机合成照很假?迪丽热巴却被P成“真”人鱼!
- python paas_到底什么是PaaS?——【PaaS概述科普文】
- 设计师不用下课了吧?小米突然官宣性价比之王旗舰:升降式摄像头
- hive创建java函数_spark通过java的api创建hive的UDF用户自定义函数
- [转载] Python time sleep()方法如何使用?
- C++之epoll监听输入(替代select)
- IE6 某些bug修复
- printf 输出格式控制
- 微信程序开发之小程序入门
- VBA自动创建数据透视表
- 『词向量』用Word2Vec训练中文词向量(一)—— 采用搜狗新闻数据集
- deepIn 、 DDE 系统桌面黑屏解决方案
- 网站导航应该怎么设计?
- 敏涵控股集团:以匠心致敬品质 用效益回馈社会
- 【网络安全】登录问题(一)Session/Cookie源码分析
热门文章
- 网站地图(sitemap)在线生成
- Tomcat 6.0 安装与启动
- 实践应用|Python自动化连接FTP批量下载指定文件
- C语言图形化编程 【一】
- easydarwin 安装_easydarwin支持什么格式
- sybase数据库与oracle,Oracle访问Sybase数据库的方法
- 三菱J4伺服驱动器拨码
- cad上样条曲线上的点太多了_CAD样条曲线如何转换成多段线?看完这篇文章你就懂了...
- 苹果cms主动推送php,苹果cmsv10百度主动URL推送教程
- APP接口开发过程中的注意事项