天天看点

C#基于NPOI编译excel的学习

这里写自定义目录标题

    • 下载NPOI(这里我比较推荐方法二)

C#基于NPOI编译excel的学习

我也是刚使用NPOI来操作excel,其实学习就是对很多工具的熟悉与使用,因为前辈们已经把大多数的框架,软件,代码模式已经编译好了,在此基础上我们更加要了解这些工具的使用才能做到融会贯通,下面就是我对NPOI这个软件的学习心得

下载NPOI(这里我比较推荐方法二)

方法一

首先需要去官网下载最新版本的NPOI:

http://npoi.codeplex.com/releases/

下载好解压过后如下:

C#基于NPOI编译excel的学习

这里我们需要去寻找.dll文件来引入到C#里,直接右上角搜索.dll就可以:

C#基于NPOI编译excel的学习

如果没有找到,可以先去把这些文件里面内置的压缩包解压一遍:

C#基于NPOI编译excel的学习
C#基于NPOI编译excel的学习

把刚刚找到的.dll文件复制到一个新的文件夹,命名为dll:

C#基于NPOI编译excel的学习
C#基于NPOI编译excel的学习

打开VS新建一个项目:

C#基于NPOI编译excel的学习

把刚刚的.dll文件引入到项目里面:

C#基于NPOI编译excel的学习

到这里NPOI的准备工作就完成了!

方法二

用vs自带的Nuget获取NPOI的.dll包

首先在vs中下载Nuget包:

在vs打开工具,选择nuget包管理器,选择程序包管理器控制台:

C#基于NPOI编译excel的学习

在这里输入:

Install-Package HslCommunication

点击回车开始安装nuget

C#基于NPOI编译excel的学习

安装好之后,打开项目解决方案资源管理器:

C#基于NPOI编译excel的学习

右键引用选择管理nuget程序包:

C#基于NPOI编译excel的学习

在搜索栏中搜寻NPOI:

C#基于NPOI编译excel的学习

这里我是对excel进行操作,所以这里下载excel版的NPOI。

下载过后,NPOI环境也就配置完成!

到这里一切的准备工作都已经准备好了。

现在开始编码:

首先添加这几个using引用:

using NPOI;

using NPOI.SS.UserModel;

using NPOI.HSSF.UserModel;

using System.IO;

using NPOI.HPSF;

using NPOI.XSSF.UserModel;

现在我们做最简单的一个事情,我们添加一个button,使得我点击button按钮的时候去读取我指定的excel文件:

(button添加与点击事件不会的话就回头再去看看C#控件基础嘛)

C#基于NPOI编译excel的学习

命名为Readexcel,这里再添加一个Richtextbox命名为excelContent用来接收读取到的excel表的数据:

C#基于NPOI编译excel的学习

好的现在添加一个button点击事件,在点击事件中输入如下代码:

StringBuilder sbr = new StringBuilder();

using (FileStream fs = File.OpenRead(“E:\风险作业-AR版本.xlsx”)) //打开.xlsx文件

{

IWorkbook wk = new XSSFWorkbook(fs); //把xlsx文件中的数据写入wk中

for (int i = 0; i < wk.NumberOfSheets; i++) //NumberOfSheets是.xlsx中总共的表数

{

ISheet sheet = wk.GetSheetAt(i); //读取当前表数据

for (int j = 0; j <= sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数

{

IRow row = sheet.GetRow(j); //读取当前行数据

if (row != null)

{

sbr.Append("-------------------------------------\r\n"); //读取行与行之间的提示界限

for (int k = 0; k <= row.LastCellNum; k++) //LastCellNum 是当前行的总列数

{

ICell cell = row.GetCell(k); //当前表格

if (cell != null)

{

sbr.Append(cell.ToString()); //获取表格中的数据并转换为字符串类型

}

}

}

}

}

这串代码完成了指定xlsx文件的读取,记住是xlsx文件,因为excel2007版本过后把2003版本的xls文件改为了xlsx文件,当然假如你想要读取xls文件,只需要将这段代码:

改为: HSSFWorkbook wk = new HSSFWorkbook(fs); //把xls文件中的数据写入wk中

好的完成读取过后,再把读取到的数据添加到Richtextbox中:

运行:

C#基于NPOI编译excel的学习

到这里一个基本的NPOI的使用就已经完成了!希望不懂的地方一定要多看多问多查,我也是一名小白,但是在不断的错误中能够找到正确的方法,就会收获特别多。