标题 | 基于NPOI数据导出方法的研究与实现 |
范文 | 连俊光 摘要:在软件项目中,笔者常常用到将查询出来的数据,导出到Excel表格中去的功能,或者将Excel表格中的数据导入到内存中去。该文以使用NPOI导出到Excel为例,对NPOI中的workbook,sheet,row,cell等几个名词及具体对应的操作类,类的方法,进行了详细的讲解、使用。 关键词:NPOI;Excel;数据导入导出 中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2017)28-0008-02 1 概述 在日常的工作中,我们习惯通过Excel进行数据的统计、整理,所以在软件开发中,对从数据库中查询的数据导出到Excel是一个必不可少的功能。 2 NPOI的优势 目前Excel导入导出有多种方法,而今天我们要研究的是通过一个叫做NPOI的组件,进行数据的导入导出。NPOI具有如下优势: 1) 该插件可以免费使用。 2) 许多Excel的特点都可以使用,比如说表格的样式等。 3) 有专业的团队,提供优秀的技术支持。 4) xls, xlsx, docx等格式都可以操作。 5) 面向接口编程,可以在命名空间中查看接口定义。 6) 既能完成文件的导出,也能将Excel导入到系统中。 7) 支持较早的.net Framework版本 8) 有大量的成功案例 9) 较多的技术学习资料。 10) 你不需要在服务器上安装微软的Office,可以避免版权问题。 11) 使用起来比Office PIA的API更加方便,更人性化。 12) 你不用去花大力气维护NPOI,NPOI Team会不断更新、改善NPOI,绝对省成本。 3 NPOI操作类说明 3.1 工作本对象 HSSFWorkbook表示工作本,它包含几个重要的函数。函数一是CreateSheet,函数二GetSheetAt,函数三CreateCellStyle,函数四CreateFont,函数五Write(stream),以及HSSFWorkbook本身的无参构造函数 1) 新建一个工作本使用HSSFWorkbook的无参构造函数。 2) 指定sheet对象的创建用函数一,括号内参数为对象索引。 3) 想要得到指定索引的sheet对象,用函數二,括号内参数为对象的索引。 4) 函数四用来新建一个样式对象,该样式对象用于单元格。 5) 新建字体对象实用函数五。 6) 函数六是将workbook写到流中。 3.2 工作表对象 HSSFSheet表示工作表对象,它有三个函数。函数一CreateRow、函数二GetRow、函数三AddMergeRegion、函数四SetColumnWidth 1) 新建索引行用第一个函数。 2) 获得指定索引指向的行使用第二个函数。 3) 第三个函数可以设置单元格的区域合并。 4) 函数四可是设定列的宽度。 3.3 行对象 HSSFRow表示行对象,它有两个函数和一个属性。函数一CreateCell、函数二GetCell,一个属性为HeightlnPoints。 1) 新建索引行使用函数一。 2) 获得指定单元格使用函数二。 3) 设定行的高度使用属性。 3.4 单元格对象 HSSFCell是单元格对象,它有一个函数和两个属性。函数一为SetCellValue、属性一***CellValue、属性二CellStyle。 1) 用函数一为单元格赋值。 2) 属性一***可以得到单元格的指定类型的内容。 3) 设定单元格的样式使用属性二。 3.5 单元格样式对象 HSSFCellStyle是单元格样式对象,函数一SetFont和属性一Alignment。 1) 字体样式使用函数一设定 2) 属性一有三个参数,数字1表示水平居左,数字2表示水平居中,数字3表表示水平居右。 3.6 字体对象 HSSFFont是字体对象。它有两个属性。属性一FontHeightlnPoints、属性二Boldweight。 1) 属性一可以用来设置字体大小。 2) 属性二可以改变字体的粗细。 4 demo操作演示 在VS中新建项目,选择Visual C#——Windows——Windows窗体应用程序,命名为Test,在Test中,添加——Windows窗体,命名为NPOITest,在NPOI官网(http://npoi.codeplex.com/)下载编译过后的NPOI类库,打开,将文件夹内的全部内容复制,将复制的内容粘贴lib文件夹下(若无此文件夹,找到项目所在位置,在项目文件夹内新建),如下图: Test项目中添加引用,如下图: 在NPOITest窗体中,添加一个按钮和一个DataGridView控件。效果如下: 绑定数据源,此处为做演示,我用了某个管理系统的管理员列表的数据库数据(大家做测试可以使用自己的数据库),当窗加载时自动加载数据,如图4。 5 导出按钮后台代码截图 6 效果图 效果图如图5所示。 7 结束语 实现了从软件系统中将数据库中查询的数据导出到Excel中,可在实际应用中参考此方法实现数据导出,具有实用价值。 参考文献: [1] 魏文胜.Excel与SQLServer数据的相互转换之方法[J].电脑知识与技术,2007(10):892. [2] 张丽英.基于.NET的Excel数据批量导入SQL Server的设计与实现[J].南通纺织职业技术学院学报, 2012, 12(1):7-10. [3] 游向峰.基于ASP.NET的SQL与Excel数据互导的研究与实现[J].电脑知识与技术, 2010(11):8953. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。