美文网首页csharpC#.NET
NPOI的基本使用

NPOI的基本使用

作者: 张中华 | 来源:发表于2019-04-17 23:51 被阅读6次

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

第一步,新建一个控制台应用程序:

第二步,利用Nuget获取NPOI, 这里引用的2.4.1最稳定版本:


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


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

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

初始文件:



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



执行结果:

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使用手册

相关文章

  • NPOI的基本使用

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

  • EPPlus 和NPOI简单的Demo对比

    在之前的文章中简单的使用了下NPOI,NPOI的基本使用, 相对来说,并没有EPPLus好用。首先, EPPlus...

  • NPOI使用手册1

    转自链接 目录 1.认识NPOI 2.使用NPOI生成xls文件 2.1创建基本内容 2.1.1创建Workboo...

  • 在 alpine 中使用 NPOI

    在 alpine 中使用 NPOI Intro 在 .net 中常使用 NPOI 来做 Excel 的导入导出,N...

  • NPOI 生成Excel

    记录使用NPOI生成Excel的通用方法 NPOI安装,使用Nuget: 使用泛型方法,反射两种方式实现生成Exc...

  • MVC使用File中导出文件

    之前写过使用NPOI做导出功能:asp.net 使用NPOI对数据导出excel 在MVC中如果想导出文件方法更简...

  • .Net Core+NPOI快速导入导出Excel

    Excel导入导出在开发中是非常常见的,对Excel操作,NPOI使用的是最常用的,但单单用NPOI,要写得代码还...

  • NPOI 使用笔记

    1 官方资源 github:可以看到最新源代码和例子,推荐查看。 nuget:可下载最新的发布文件,推荐查看。 c...

  • 使用WeihanLi.Npoi操作csv

    使用 WeihanLi.Npoi 操作 CSV Intro 最近发现 csv 文件在很多情况下都在使用,而且经过大...

  • NPIO导出excel

    1、首先需要添加引用:NPOI.dll文件 2、using NPOI.SS.UserModel; using ...

网友评论

    本文标题:NPOI的基本使用

    本文链接:https://www.haomeiwen.com/subject/lwhmwqtx.html