.NET导出Excel之NPOI
前段时间研究过微软的Excel导出、table输出Excel,而它们也存在一些弊端:
1、对于微软的Excel导出存在一些弊端,如:需要安装Office软件、速度问题;
2、table输出Excel在使用过程中发现一个致命的弊端,在一定情况下数据会丢失,因为部门的负责人会针对数据进行导出,分发给相关人员,而接收方接收后发现数据损坏。对于数据丢失我猜测应该属于导出方式,对于table输出我猜测应该是在本地会生成一些缓存文件以供导出的Excel进行动态调用,而发送给另一台机器缓存数据却未发送因此导致数据丢失。
NPOI导出Excel:
对于NPOI的使用的确很是方便,能够快速的制作出我们需要的导出功能,方法简单直白没有其它的依赖性,速度也不错。
1、使用前需要引用NPOI.dll

可以通过NuGet包管理,检索NPOI添加到项目中去:


2、使用方法。简单的使用我们只要注重:HSSFWorkbook、ISheet、IRow和ICell,从名称可以知道它们的大概用处,我们可以像写文章一样的使用它。
HSSFWorkbook相当于一个Excel对象
ISheet相当于Excel里的工作簿
IRow相当于行
ICell相当于列
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using Sunc.Framework.Repository.Utility.Excel; namespace TestConsole
{
class Program
{
static void Main(string[] args)
{ HSSFWorkbook workBook = new HSSFWorkbook();
ISheet sheet = workBook.CreateSheet("工作簿");
IRow row = sheet.CreateRow();
ICell cell = row.CreateCell();
cell.SetCellValue("孙超"); MemoryStream ms = new MemoryStream();
workBook.Write(ms);
var buf = ms.ToArray();
using (FileStream fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + "a.xls", FileMode.Create, FileAccess.Write))
{
fs.Write(buf, , buf.Length);
fs.Flush();
}
Console.ReadKey();
} }
}

当然SetCellValue属于一个重载方法,供我们出入各种类型的值

还有样式的设置

当然需求决定使用,对于微软的我们可以调用宏,这算是一个比较强大的功能了,但是对于需求不高的我们几乎使用不到,因此适合自己的才是最好的。
参考手册:NPOI使用手册
.NET导出Excel之NPOI的更多相关文章
- ASP.NET导出Excel(利用NPOI和EPPlus库,无需安装Office)
网上提供了很多Asp.net中操作Excel的方法,其中大部分是调用微软的Office组件,下面提供三个无须安装Office即可从Asp.net输出Excel的方法. 1 简单方法 //下面代码输出的 ...
- 导出Excel 2007 (NPOI)
今天在导出Excel2007时报了个错,问是否修复,点yes就提示修复正常了,但具体什么原因没说,如图 之前简单的导出代码是这样写的 public static void ExportToWeb(st ...
- .net 导出Excel插件Npoi的使用
1.NuGet搜索Npoi并安装 2.添加引用将包引用进来 3.Controller里引用 4.使用 public ActionResult ExportExcel() { plist = 数据源 H ...
- DataTable 导出Excel 下载 (NPOI)
public class ExcelHelper { public void DownLoadExcelNew(System.Data.DataTable data, Hashtable h, ...
- ASP.NETCore -----导出Excel文件并下载
本事例分为nopi(安装DotNetCore.NPOI)下载和EPPlus(EPPlus.Core.dll)下载,其中npoi下载演示的是根据执行的模板进行数据下载 npoi帮助类NpoiExcelU ...
- NPOI导出Excel
using System;using System.Collections.Generic;using System.Linq;using System.Text;#region NPOIusing ...
- NPOI操作EXCEL(四)——反射机制批量导出excel文件
前面我们已经实现了反射机制进行excel表格数据的解析,既然有上传就得有下载,我们再来写一个通用的导出方法,利用反射机制实现对系统所有数据列表的筛选结果导出excel功能. 我们来构想一下这样一个画面 ...
- NPOI导出Excel (C#) 踩坑 之--The maximum column width for an individual cell is 255 charaters
/******************************************************************* * 版权所有: * 类 名 称:ExcelHelper * 作 ...
- NPOI、MyXls、Aspose.Cells 导入导出Excel(转)
Excel导入及导出问题产生: 从接触.net到现在一直在维护一个DataTable导s出到Excel的类,时不时还会维护一个导入类.以下是时不时就会出现的问题: 导出问题: 如果是asp.net,你 ...
随机推荐
- 学习Java的知识体系路线(详细完整版,附图加目录)
将网上的Java学习路线图进行归纳囊括,方便以后学习时弥补自身所欠缺的知识点,也算是给自己一个明确的学习方向.至于第一阶段,即JavaSE的基础,这里不给出. 第二阶段 技术名称 技术内容 数据库技术 ...
- Linux基础练习题(五)
1.创建一个10G分区,并格式为ext4文件系统: (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl: [root@bj-1-142 ~]# ...
- centos6 命令界面切换到图形界面
要进入图形界面,首先要安装.所以应该先执行 yum groupinstall "X Window System" -y yum groupinstall "Desktop ...
- linux利用sh脚本上传下载文件到ftp服务器
####本地的/app/awsm/csv2 to ftp服务器上的/awsm/#### #!/bin/sh export today=`date +%Y-%m-%d` ftp -v -n 10.116 ...
- PHP保存数组到数据库
数组是 PHP 开发中使用最多的数据类型之一,对于结构化的数据尤为重要. 很多时候我们需要把数组保存到数据库中,实现对结构化数据的直接存储和读取. 其中一个案例就是,对于 Form 提交的多选 che ...
- PHP 判断密码强度
$score = 0; if(preg_match("/[0-9]+/",$str)) { ...
- DELPHI DOUBLE不解之迷
procedure TForm1.cmd2Click(Sender: TObject);var str1, str2: string; LValue1: Double; LValue2: Extend ...
- 初识HDFS原理及框架
目录 HDFS是什么 HDFS的优缺点 HDFS的框架 HDFS的读写流程 HDFS命令 HDFS参数 1. HDFS是什么 HDFS(Hadoop Distributed File System)是 ...
- [project X] tiny210(s5pv210)上电启动流程(BL0-BL2)
建议参考文档: S5PV210-iROM-ApplicationNote-Preliminary-20091126 S5PV210_UM_REV1.1 项目介绍参考 [project X] tiny2 ...
- 20155207王雪纯 2006-2007-2 《Java程序设计》第二周学习总结
20155207王雪纯 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 整数类型:short(占2字节).int()占4字节.long(占8字节) " ...