NPOI读取Excel
准备工作:
首先得添加引用 由于不是.Net自带的 所以通过浏览窗口找到路径将其引用进来
然后创建一个Excel文件
读取文件呢 用类和对象这些东西来模拟 在这里 工作簿就是WorkBook 其中的一张表就是shit 表中的一行Row 行的一个单元格就是Cell
private void btnReadExcel_Click(object sender, EventArgs e)
{
// 1、 先把磁盘上的文件读到文件流里面
using (FileStream fs = File.OpenRead("Book1.xls"))
{
// 2、根据文件流创建一个WorkBook对象
IWorkbook workbook = new HSSFWorkbook(fs);
// 3、一个工作簿可以有多个工作表 所以得通过循环获取每个工作表 通过NumberOfShits属性可以获得表的数量
for (int s = 0; s < workbook.NumberOfSheets; ++s)
{
// 4、得到每一个shit
ISheet sheet = workbook.GetSheetAt(s);
Console.WriteLine("--------------------------------{0}-------------------------------------------",sheet.SheetName);
// 5、循环获得表中的每一行 LastRowNum属性获得最后一行的索引
for (int r = 0; r <= sheet.LastRowNum; ++r)
{
// 6、得到每一行
IRow row = sheet.GetRow(r);
if (row == null) // 如果整行有结构没数据 输出空行 不知道是WPS的关系还是什么
{
Console.WriteLine();
}
else
{
// 7、循环获得行中的每个单元格 LastCeelNum属性法获得最后一个单元格的索引
for (int c = 0; c <= row.LastCellNum; ++c)
{
// 8、获得每个单元格
ICell cell = row.GetCell(c);
if (cell == null) // 如果单元格中没数据 输出空格 1 null 2 => 1 2
{
Console.Write(" ");
}
else
{
// 9、可以读单元格中的数据了
Console.Write(cell.ToString() + "\t");
}
}
Console.WriteLine();
}
}
}
}
}
输出结果:
--------------------------------美女-------------------------------------------
西施 沉鱼 越
昭君 落雁 汉
貂蝉 闭月 汉
杨家大胖子 羞花 唐
舒畅 11
--------------------------------帅哥-------------------------------------------
潘安 二逼 22
宋玉 苦逼 222
兰陵王 傻逼 2222
卫玠 牛逼 22222
--------------------------------宝崽-------------------------------------------
去 一块钱坐中巴 一块钱买中巴
我去 一块钱买甘蔗 一块钱坐甘蔗
我勒个去 宝里宝气 神不冷疼
1 2 3