基于NPOI数据导出方法的研究与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:nnlan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在软件项目中,笔者常常用到将查询出来的数据,导出到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.
其他文献
随着社会经济的不断发展和交通运输量的持续增长,利用智能运输系统(ITS)提高道路的利用率、道路交通的安全程度和道路使用的舒适性,已成为未来交通运输的发展方向。介绍ITS的
一、教材分析对于教材,前面已经研究了汽化和液化、熔解和凝固,学习升华和凝华后,对物态变化知识才有较为全面的了解。因此,这一节教材是物态变化的一个不可或缺的重要内容.
目的探讨检测肺癌患者血清中转化生长因子β1(transforming growth factorβtype1,TGF-β1)的临床应用价值。方法收集98例肺癌患者血清标本及40例健康对照者血清标本,运用酶
当今,电子商务在各个行业蓬勃发展,已经成为人们生活中不可或缺的一部分。基于MCV[1]模式和B/S架构,通过整合spring、springmvc和mybatis框架设计并实现了一种为当地居民私人
对于软件设计者来说,如何低成本并高效地开发软件一直是一个挑战。软件复用被广泛视为一种解决方案,但是复用的耗费似乎要比其潜在价值更高。软件复用涉及的工作包括建立和维
互联网技术发展迅速,目前大力推行的4G移动通信网络技术已经非常成熟,下一代移动通信网络5G悄然问世。该文对5G网络的关键技术进行分析,总结5G网络的应用现状,预测未来5G网络的发
摘要:烟草行业在新的经济形势下,必须要考虑提升自身的竞争力,所以信息化改造是唯一的选择。烟草企业的MES可以有效地提高企业的生产管理水平,同时提高信息化水平。在此基础上,可以对生产管理进行优化,进而实现智能化生产。通过在实际企业的应用验证,烟草MES可以提高企业的生产效率和产品质量水平,信息化改造是成功的。  关键词:烟草;信息化;MES;生产管理;ISA95  中图分类号:TP311 文
本文通过对于沥青混凝土路面病害的分析研究,提出了有效的养护方法来进行病害预防,从而使沥青混凝土路面的质量达到使用要求。
为了研究现场热再生技术,在道路维修中,通过以室内试验为基础,对旧路面原材料进行试验分析,充分利用旧材料,有利于节约造价,提高施工进度,目前得到广泛应用。根据现场施工路
9月14日,中国社科院财经战略研究院住房大数据项目组、纬房指数研究小组发布《2018年以来全国城市房价涨跌排名》,其中,福州以72.97%的涨幅位列排行榜首位。位于福建省的福州