NPOI的基本使用

NPOI初识中简了解了下NPOI的简介和优势,接下来看一下如果下载使用。新建一个小的Demo,如下:

第一步,新建一个控制台应用程序:
2789632-57ab351286ce2e2c.png
第二步,利用Nuget获取NPOI, 这里引用的2.4.1最稳定版本:

2789632-95c4cad4e750e9dd.png

OR Install-Package NPOI
引用添加完成后,我们可以看到主要添加了四个dll的引用,在简介中,也介绍了四种dll的用途。
2789632-37e793ca89e019b4.png

2789632-a8cfdf8f37a58ab7.png

通过这几个dll,可以看出,NPOI的用途还是挺多的。
那么, 接下来创建一个demo,实现一下简单的对excel的增、删、改、查功能。在此之前,在项目文件下创建一个NPOIDemo.xlsx
2789632-6150479b10844bb0.png

2789632-1478279fba07bc16.png

第三步,简单使用增,删,改,查:

初始文件:


2789632-7310391a91181eb2.png

代码执行过程中数据记录:


2789632-9c575cccf22374bf.png

执行结果:
2789632-c75ae8869c219055.png
Code:
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NPOIDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "NPOIDemo.xlsx";

            IWorkbook workbook = null;
            try
            {
                using (var fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite))
                {
                                    // 实例化
                if (path.IndexOf(".xlsx") > 0) // 2007
                    workbook = new XSSFWorkbook(fs);
                else if (path.IndexOf(".xls") > 0) // 2003
                    workbook = new HSSFWorkbook(fs);
                    // 查询
                    if (workbook != null)
                    {
                        ISheet sheet = workbook.GetSheetAt(0);

                        for (int i = 0; i < 10; i++) // 遍历每一个行,然后读取第一个单元格的内容
                        {
                            if (sheet.GetRow(i) == null || sheet.GetRow(i).GetCell(0) == null) continue;
                            Console.WriteLine(sheet.GetRow(i).GetCell(0).StringCellValue);
                        }
                    }
                }

                //把这个HSSFWorkbook实例写入文件
                // 增加sheet
                workbook.CreateSheet("SheetZZH");

                FileStream file = new FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite);

                var sheet2 = workbook.GetSheet("SheetZZH");
                sheet2.CreateRow(0).CreateCell(0, CellType.String).SetCellValue("Sheet2Value1"); // 新增
                sheet2.GetRow(0).CreateCell(1, CellType.String).SetCellValue("Sheet2Value2"); // 新增
                sheet2.GetRow(0).CreateCell(2, CellType.String).SetCellValue("Sheet2Value3"); // 新增
                workbook.Write(file);
                file.Close();

                using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Write))
                {
                    var value = sheet2.GetRow(0).GetCell(1).StringCellValue;
                    Console.WriteLine("shee2 row 0 cell 1 is " + value);
                    sheet2.GetRow(0).GetCell(1).SetCellValue("Sheet2Value2.2"); // 修改

                    sheet2.GetRow(0).RemoveCell(sheet2.GetRow(0).GetCell(2)); // 删除

                    workbook.Write(fs);
                    fs.Close();
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
            Console.WriteLine("Complete");
            Console.ReadLine();
        }
    }
}

更多功能的使用,可参照该网址进行学习:NPOI使用手册

2789632-9d49a0056148147f.png
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值