【NPOI系列】一:Excel写入

来源:互联网 发布:大数据下的税收征管 编辑:程序博客网 时间:2024/05/16 02:36

最近在研究NPOI的使用方法。所以就来分享一波了,话不多说,先来研究第一个Excel写入。

我们先了解一下NPOI吧。

NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。


这个是官网说的优势,我们来翻译一下吧。

它完全免费使用。
覆盖Excel的大部分功能(单元格样式、数据格式、公式等)
专业支持服务(24×7)从NPOI团队(非免费)
支持XLS,XLSX,docx。
设计是面向接口(看一看NPOI.SS的命名空间)
不仅支持出口又进口
基于.NET 2甚至xlsx和docx(虽然我们也支持.NET 4)
真正的成功案例遍布世界各地
巨大的基本例子

大概就是上面这个意思。

系统要求

VS2010与.NET 4.0运行时

VS2005或VS2008与.NET 2.0运行时(SP1) 

vs2003与.NET 1.1(Obselete,最后版本为1.2.1。无需进一步支持)

这些都是翻译过来的,下载地址在:GitHub

现在不闲聊了。正式开始:

我用WinForm作为演示。

先创建一个Person类

里面大概有姓名,年龄,Email

然后在WinForm中放置一个Button按钮,双击进去,给一个单击事件;

private void button1_Click(object sender, EventArgs e)        {            List list = new List()            {                  new Person() { Name="张三",Age=18,Email="zhangsan@xsyrz.cn"},                  new Person() { Name="李四",Age=17,Email="lisi@xsyrz.cn"},                  new Person() { Name="王五",Age=23,Email="wangwu@xsyrz.cn"}            };            //把List集合导出到Excel文件中                //  1.创建 工作簿对象            IWorkbook webook = new HSSFWorkbook();            //  2.在该工作簿中国创建工作表对象            ISheet sheet = webook.CreateSheet("List for person");            //2.1向该工作表中插入行和单元格            for (int i = 0; i < list.Count; i++)            {                //在sheet中创建一行                IRow row = sheet.CreateRow(i);                //在该行中创建单元格                // row.CreateCell(0).SetCellValue(list[i].Name);                //ICell cell = row.CreateCell(0);                //cell.SetCellValue(list[i].Name);                row.CreateCell(0).SetCellValue(list[i].Name);                row.CreateCell(1).SetCellValue(list[i].Age);                row.CreateCell(2).SetCellValue(list[i].Email);            }            //  3.写入,把内存中的workbook对象写入到磁盘上            using (FileStream fsWrite = File.OpenWrite("list.xls"))            {                webook.Write(fsWrite);            }            MessageBox.Show("写入成功!");        }

然后运行就直接导出了,这边有源码可以看一下。

点击下载

原创粉丝点击