在NPOI初识中简了解了下NPOI的简介和优势,接下来看一下如果下载使用。新建一个小的Demo,如下:
第一步,新建一个控制台应用程序:
第二步,利用Nuget获取NPOI, 这里引用的2.4.1最稳定版本:
引用添加完成后,我们可以看到主要添加了四个dll的引用,在简介中,也介绍了四种dll的用途。
通过这几个dll,可以看出,NPOI的用途还是挺多的。
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) // 2007workbook = new XSSFWorkbook(fs);else if (path.IndexOf(".xls") > 0) // 2003workbook = 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实例写入文件// 增加sheetworkbook.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的基本使用 - 简书 (jianshu.com)