【NPOI系列】一:Excel写入

最近在研究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("写入成功!");
        }
    
    
   
   

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

点击下载

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值