NPOI在Excel中的简单用法汇总

举报
Andy阿辉 发表于 2022/02/23 18:58:21 2022/02/23
【摘要】 欢迎您成为我的读者,希望这篇文章能给你一些帮助。 前言前两天和大家一起了解了在C#中利用NPOI操作Excel和word文件的方法,只是简单的介绍了它是如何导出Excel文件和Word文件的,今天咱们进入里面,看看具体都有哪些功能性的东西。今天先从Excel文件开始。> 1、声明XSSFWorkbook实例。>> 2、利用声明并实例化的工作簿创建其工作表。>> 3、写入Excel表头和表数据...

欢迎您成为我的读者,希望这篇文章能给你一些帮助。

前言

前两天和大家一起了解了在C#中利用NPOI操作Excel和word文件的方法,只是简单的介绍了它是如何导出Excel文件和Word文件的,今天咱们进入里面,看看具体都有哪些功能性的东西。

今天先从Excel文件开始。

> 1、声明XSSFWorkbook实例。
>
> 2、利用声明并实例化的工作簿创建其工作表。
>
> 3、写入Excel表头和表数据
>
> 4、将实例化的工作簿写入流文件中。

我们可以知道通过上面步奏可以在非Office组件环境下导出Excel文件,那么具体里面又有哪些细节性的东西呢。

基础知识介绍

不管是读还是写Excel文件,都要先生成一个HSSFWorkbook对象。在NPOI里面的对象层级是这样子的。

workbook–>worksheet–>row–>cell

其中workbook代表整个数据也就是excel文件,worksheet代表table表,row代表record记录,cell代表里面的字段。

具体的使用方法

1、读取Excel文件信息

HSSFWorkbook wb;
FileStream file;
file = new FileStream(filepath, FileMode.Open, FileAccess.Read);
wb = new HSSFWorkbook(file);
file.Close();

2、创建一个新的Excel文件

HSSFWorkbook wb;
wb = new HSSFWorkbook();

3、在workbook上,打开旧sheet或者创建一个新sheet

HSSFSheet sheet;
sheet=wb.GetSheet("sheet1");        //打开旧sheet
HSSFSheet sheet;
sheet=wb.CreateSheet("测试");        //创建一个测试Sheet页面

4、创建某个行,获取某一行,创建某一列

//创建行
sheet.CreateRow(i)                
//在i行创建第j列
sheet.GetRow(i).CreateCell(j);     
//获取某一行某一列
sheet.GetRow(i).GetCell(j)

5、单元格的读写

//返回第i行j列的内容。
sheet.GetRow(i).GetCell(j) 

//写单元格内容
sheet.GetRow(i).GetCell(j).SetCellValue("内容")

6、保存文件

FileStream file = new FileStream(filepath, FileMode.Open, FileAccess.Write);
wb.Write(file);
file.Close();
wb.Close()

在NPOI中使用HSSFWorkbook类处理 xls格式,XSSFWorkbook类处理 xlsx格式。都继承接口 IWorkbook。

这里可通过IWorkbook来统一处理xls和xlsx格式的文件。


关于NPOI来操作Excel还是很方便的,层级结构特别清晰,使用起来很丝滑,如果大家有小项目,可以用NPOI来做做测试。

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。

原创不易,给个关注。

我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发 谢谢。

很高兴能和您成为朋友。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。