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 ...
最新文章
- EasyPR中文开源车牌识别系统 开发详解
- android 使用Ksoap2工具类实现WebService网络编程
- 【深度学习】单位高斯化
- [Everyday Mathematics]20150125
- 窃取任意GitHub Actions敏感信息如此简单,只需要分支改个名?
- Docker Mesos在生产环境的应用
- linux安卓管理软件,基于Android的文件管理系统源代码
- 如何从零配置腾讯云cdn加速服务?
- 基于Springboot的学生信息管理系统
- GrapeCity Documents for Imaging
- 国产化直播系统建设方案
- WuThreat身份安全云-TVD每日漏洞情报-2022-12-27
- 如何找到微信公众号的视频链接及视频?
- 计算机重启恢复到推荐分辨率,电脑重启后分辨率变低?Win10分辨率调整
- vi创建html文件
- 2020年B证(安全员)考试及B证(安全员)多少钱
- 天津滨海服务外包产业园年底投入使用
- 开发者测试笔记08--ASAN、TSAN、UBSAN、KASAN使用总结
- 电子实验记录本ELN的好处是什么?---如何计算电子实验记录本的投资回报率ROI?
- MySql 系列三:事务
热门文章
- 网上书城项目-LoadRunner压力测试
- 红蓝对抗之win10 权限提升
- 基于单片机的交通灯控制系统设计
- url重写(urlrewrite.xml)
- matlab imagesc 平滑,在matlab中,如何使用imagesc在2D热图中“平滑”像素
- android蓝牙软件,Android手机蓝牙助手(Bluetooth File Transfer)
- cad抛物线曲线lisp_AutoCAD上精确实现抛物线和双曲线
- 4.1 CMMI4级——CMMI4级简述
- kindlefire刷安卓系统_[原创]安卓4.0完美运行 Kindle Fire刷机教程
- set-cookie无法存入到浏览器cookie问题汇总