码迷,mamicode.com
首页 > 其他好文 > 详细

Npoi读取Excel

时间:2019-12-31 18:25:34      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:分析   build   equal   str   open   iat   rev   reg   方法   

由于Office读取Excel需要去安装插件,所以懒得装插件。换另外一个插件读取Excel。

读取单元格的时候得注意Cells方法会抛出异常,它自己会判断单元格是否有值,没有的话,开始可能是五列,一列为空那么就回发现不能正常获取第五列的值。GetCell可以避免情况出现。还有一个就是Excel版本不同生成的文件也不同,做一下大致的区分即可。这个插件还是用着蛮不错的,像我这种账单狗,还是用得到的。毕竟我不喜欢用Excel只喜欢用程序分析数据。

StringBuilder stu = new StringBuilder(); 
DirectoryInfo mydir = new DirectoryInfo(strFileName);//strFileName 这个参数代表的是文件夹的地址读取下面的所有Excel
FileSystemInfo[] fsi = mydir.GetFileSystemInfos();
for (int j = 0; j < fsi.Length; j++)
{ //AWBCode, BrokerAbbreviation, ItemCount, VolumeWeight, GrossWeight, CustomerBatchCode, AirportCode, ATA, ATW, Discount, Remark, ID
if (fsi[j] is FileInfo)//
{
IWorkbook wk = null;
string extension = System.IO.Path.GetExtension(fsi[j].FullName);
FileStream fs = File.OpenRead(fsi[j].FullName);
if (extension.Equals(".xls"))
{
//把xls文件中的数据写入wk中
wk = new HSSFWorkbook(fs);
}
else
{
//把xlsx文件中的数据写入wk中
wk = new XSSFWorkbook(fs);
}
fs.Close();
// int sheetCount = wk.NumberOfSheets;//获取sheet的数量
ISheet sheet = wk.GetSheet(wk.GetSheetName(0));//第一个sheet页(列表)
#region 读取第一个sheet页面
for (int i = 1; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i); //读取当前行数据
stu.Append(row.GetCell(0));//记得row.Cells如果取出来的值是空的是会抛出异常的GetCell可以避免异常出现
}
#endregion
}
}

Npoi读取Excel

标签:分析   build   equal   str   open   iat   rev   reg   方法   

原文地址:https://www.cnblogs.com/20191231Jack/p/12125539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!