前言 在NPOI初识中简了解了下NPOI的简介和优势,接下来看一下如果下载使用。
新建控制台应用程序
利用Nuget获取NPOI 这里引用的2.4.1最稳定版本:
NPOI引用添加完成后,可以看到主要添加了四个dll的引用
在简介中,也介绍了四种dll的用途。
通过这几个dll,可以看出,NPOI的用途还是挺多的。
简单使用增删改查 接下来实现一下简单的对excel的增、删、改、查功能。在项目文件下创建一个NPOIDemo.xlsx
初始文件:
代码执行过程中数据记录:
执行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 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 ) workbook = new XSSFWorkbook(fs); else if (path.IndexOf(".xls" ) > 0 ) 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); } } } 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使用手册
版权声明:本文为简书博主「张中华」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://www.jianshu.com/p/2c240a47bbe3