NPOI】的更多相关文章

前言 最近项目中,需要使用到 Excel 导出,找了一圈发现没有适用于 .NET Core的,不依赖Office和操作系统限制的 Office 组件,于是萌生了把 NPOI 适配并移植到 .NET Core 的想法. NPOI 的介绍不多说了,不了解的可以看一下 NPOI百度百科 的介绍,在此感谢瞿总和他的团队的贡献. NPOI 的移植之路并非想象的那么容易,因为其依赖了 System.Drawing 和 System.Window.Forms 两个组件,还有一个第三方的 SharpZipLib…
很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel报表,并且在后台调用Microsoft Excel ActiveX更有效率;从Office文档中提取文本,以帮助您实现全文索引功能(大多数时候,此功能用于创建搜索引擎): 从Office文档提取图像: 生成包含公式的Excel工作表. 一.NPOI组件概述: NPOI是完全免费使用: 涵盖Excel…
参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-post.html http://www.yuanjiaocheng.net/webapi/create-crud-api-1-put.html http://www.yuanjiaocheng.net/webapi/create-crud-api-1-delete.html http://www.yuanjiaocheng.net/webapi/Consume-web-api…
从Excel导入数据最令人头疼的是数据格式的兼容性,特别是日期类型的兼容性.为了能够无脑导入日期,折腾了一天的NPOI.在经过测试确实可以导入任意格式的合法日期后,写下这篇小文,与大家共享.完整代码请移步:https://github.com/xuanbg/Utility 2016-11-13 04:06 修正一个bug.由try DateCellValue改为判断列数据类型,如类型为DateTiime返回DateCellValue,否则返回NumericCellValue或StringCell…
using System;using System.Collections.Generic;using System.Linq;using System.Text;#region NPOIusing NPOI.HSSF.UserModel;using NPOI.HSSF.Util;using NPOI.SS.UserModel;using System.Web;using System.IO;using System.Data;using System.Collections;using Sys…
最近在做的一个项目中需要生成Excel,通过学习使用NPOI实现了相关需求,写了一个简便操作的类,记录如下: public class NPOIHelperForExcel { #region excel文件属性 //作者 public string Author { get; set; } //标题 public string Title { get; set; } //主题 public string Subject { get; set; } //标记 public string Keyw…
一.NPOI 简介: NPOI is the .NET version of POI Java project. With NPOI, you can read/write Office 2003/2007 files very easily. 官网地址: https://github.com/tonyqus/npoi http://npoi.codeplex.com/ 二.EPPlus 简介: EPPlus is a .net library that reads and writes Exc…
NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillPattern 为单元格背景色的填充样式. NPOI Excel 单元格背景颜色设置方法以及颜色对照表: 复制 1 2 3 4 5 6 ICellStyle style = workbook.CreateCellStyle(); style.FillForegroundColor = NPOI.HSS…
我用的版本是1.25的.每个版本用法有一点不同 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using NPOI.HS…
哈哈~~~很高兴还活着.总算加班加点的把最后一类EXCEL模板的解析做完了... 前面几篇文章介绍了博主最近项目中对于复杂excel表头的解析,写得不好,感谢园友们的支持~~~ 今天再简单讲诉一下另一种“变异”EXCEL表头模板——矩阵表头模板的解析(博主感觉这种模板虽说怪异,但是偶尔也能遇到,的确是有一定的实用性),我们用一个流量流向的excel作为例子来讲解: 先来解释一下这个表头: 1.“上表头”看似复杂,按我们前几篇文章说到的XML配置规则集的方法,轻易就能解析 2.这个表头“上表头”.…
我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部分为表头部分,蓝色前面几行是博主项目的基础样式,称为元数据),这类excel的表头多为2-3行,甚至于5/6行 ,具有合并层级关系,看似复杂,但只需要在我们以前的基础上稍微做一下重构就可以完美实现解析. 我们以各地区户籍人口城乡构成表头为例: 其实,只要我们能准确解析这类表头所表达的意思,就能复用以…
前面我们已经实现了反射机制进行excel表格数据的解析,既然有上传就得有下载,我们再来写一个通用的导出方法,利用反射机制实现对系统所有数据列表的筛选结果导出excel功能. 我们来构想一下这样一个画面,管理员筛选出北京的所有员工数据,想导出成excel表格:管理员筛选出北京所有欠费的企业数据,想导出成excel表格:管理员想导出本月的工单报表到excel表格:管理员想导出近3月北京各岗位的运营报表到excel表格...... 系统客服真是个神奇的职业,神马都想导出到excel表格! 那么对于我们…
上一篇文章介绍了一些NPOI的基础接口,我们现在就来看看具体怎么用NPOI来解析一个EXCEL. 博主现在有这么一堆excel需要解析数据入库: 当然这只是员工的简要模板,还有很多其他的模板.我们可以要求线下人员把表头都做成像这样的表头,但是数据的列数与各列内容是不受我们所控制的.那么我们需要的就是一个公用的方法,能够解析这一类表头的excel数据. 既然每种表对应着一张数据库表,字段不一样,那么我们的方法就考虑到使用反射机制来给泛型DTO属性赋值.具体每个excel表的各列与DTO属性字段的对…
代码包括: 1:导出多个sheet    2:设置单元格格式   3:合并单元格   4:下拉框选项   5:输入数字限制   6:锁定单元格 static void Main(string[] args) { //实例化一个操作excel工作薄的对象 IWorkbook workbook = new HSSFWorkbook(); //创建表 ISheet sheet1 = workbook.CreateSheet("sheet1"); //创建行(一行一行的创建,参数代表第几行,不…
public async Task<MemoryStream> ExportExcel(IList<fuquestionbank> _list, string pId, string pfid, string fugid) { #region 绘制表头 string[] arr = { "序号", "姓名", "性别", "年龄", "联系电话", "随访医生",…
通过NPOI解析Excel,将数据保存到DataTable中. #region excel解析 public DataTable ImportExcelFile(string filePath) { string extension = System.IO.Path.GetExtension(filePath); //excel获取文件后缀 DataTable table = new DataTable(); using (FileStream fs = File.OpenRead(filePa…
/******************************************************************* * 版权所有: * 类 名 称:ExcelHelper * 作 者:zk * 电子邮箱: * 创建日期:2012/2/25 10:17:21 * 修改描述:从excel导入datatable时,可以导入日期类型. * 但对excel中的日期类型有一定要求,要求至少是yyyy/mm/dd类型日期: * * 修改描述:将datatable导入excel中,对类型为…
/// <summary> /// DataTable to Excel(将数据表中的数据读取到excel格式内存中) /// </summary> /// <param name="dataTable">数据表</param> /// <param name="excelType">excel格式</param> /// <param name="sheetName"…
将excel文件内容读取到datatable数据表中,支持97-2003和2007两种版本的excel 1.第一种是根据excel文件路径读取excel并返回datatable /// <summary> /// 将excel文件内容读取到DataTable数据表中 /// </summary> /// <param name="fileName">文件完整路径名</param> /// <param name="shee…
写了一个小程序利用NPOI来读取Excel,弹出这样的报错: ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature 原因在于读取Excel的时候若是读取的文件为txt或者其他拓展名时,都会报这样不知所措的异常: 所以只需要在读取时先检查一下文件名的拓展名,把非.xls和.xlsx的文件过滤就可以了.…
概述 NPOI,顾名思义,就是POI的.NET版本.NPOI就是用.NET语言编写的一套数据导出Excel的开源项目,支持XML.xls.xlsx.ppt等格式..NET不仅实现Excel导出还可以实现Excel导入,读取Excel的数据. 实现 1.通过nuget,添加NPOI组件1.2以上对应的DLL文件: 2.编写如下Nopi封装类,该类实现如下功能点 1> 该类实现数据的超过65535自动分写下一个sheet: 2> 该类实现Web数据导出和文件保存到本地: 3> 该类实现Exc…
protected void Export_Excel(DataTable dt) { string filename = "学生基本信息.xls"; ) { filename = HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8); } Response.ContentType = "application/vnd.ms-excel;charset=UTF-8"; Response.AddHeade…
Excel导入及导出问题产生: 从接触.net到现在一直在维护一个DataTable导s出到Excel的类,时不时还会维护一个导入类.以下是时不时就会出现的问题: 导出问题: 如果是asp.net,你得在服务器端装Office,几百M呢,还得及时更新它,以防漏洞,还得设定权限允许ASP.net访问COM+,听说如果导出过程中出问题可能导致服务器宕机. Excel会把只包含数字的列进行类型转换,本来是文本型的,它非要把你转成数值型的,像身份证后三位变成000,编号000123会变成123,够智能吧…
在做业务型的软件时,经常需要将某些数据导出,本文介绍了在Winform或Asp.net中使用NPOI(POI 项目的 .NET 版本)来操作Excel文件,而无需安装Office. 首先,需要获取NPOI组件. 其次,让你的网站或类库添加NPOI引用.对于导出导入Excel来说,需要引用的dll文件有: NPOI.dll,NPOI.HSSF.dll,NPOI.POIFS.dll 最后,在网站或类库中新建一个导出帮助类,例如命名为ExcelHelper.cs ExcelHelper.cs publ…
开篇语 废话不多说,直接上遇到的问题 需求:在这个界面点击导出,导出页面数据,苦于没有做过webfrom项目,弄了半天还是没想到原生态的好方法,所以在网上看了下有没有导出的好例子,结果发现有人推荐使用Npoi,抱着强烈的好奇心,就去查了下这个东东,发现果然强大,哈哈,里面集成了很多东西,下面直接进入解决问题正题: 实现过程 ①发现项目里面接口方法返回DataTable是带参数的,所以新增了一个无参数的方法 ②实现这个方法,重点是将查询到的结果集放大DataTable中 ③先去官网:http://…
引言 使用Npoi导出Excel 服务器可以不装任何office组件,昨天在做一个导出时用到Npoi导出Excel,而且所导Excel也符合规范,打开时不会有任何文件损坏之类的提示.但是在做导入时还是使用OleDb的方式,这种方式的导入在服务器端似乎还是需要装office组件的,有没有不需要装组件并且能照常导入的呢? Npoi导出/下载Excel public void NpoiExcel(DataTable dt, string title) { NPOI.HSSF.UserModel.HSS…
ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应用户的特殊需求,我又新增了一个功能,导出时动态生成多Sheet EXCEL. 新增方法一:由GetFormatterContainer Func委托导出基于EXCEL模板的多Sheet文件,方法定义如下: /// <summary> /// 由GetFormatterContainer Func委…
自ExcelUtility类推出以来,经过项目中的实际使用与不断完善,现在又做了许多的优化并增加了许多的功能,本篇不再讲述原理,直接贴出示例代码以及相关的模板.结果图,以便大家快速掌握,另外这些示例说明我也已同步到GIT中,大家可以下载与学习,不足之处,敬请见谅,谢谢! 一.ExcelUtility类库操作说明(模板导出示例) 1. /// <summary> /// 测试方法:测试依据模板+DataTable来生成EXCEL /// </summary> [TestMethod]…
上周六我发表的文章<分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility>受到了大家的热烈支持与推荐,再此表示感谢,该ExcelUtility类库自上次发文起,又经过了多次的改进,增加了许多的功能与方法,可以全面满足大家的需求,下面先来看一下新方法的测试结果: 第一个新增功能,列宽自适应,当超过30个字符则将单元格内容设为换行 任意一个无模板的导出方法均支持该功能,示例代码如下: /// <summary> /// 测试方法:测试将Da…
系统中经常会使用导出Excel的功能. 之前使用的是NPOI,但是导出数据行数多就报内存溢出. 最近看到EPPlus可以用来导出Excel,就自己测了下两者导出上的差异. NPIO官网地址:http://npoi.codeplex.com/ EPPlus官网地址:http://epplus.codeplex.com/ 添加NPOI.EPPlus类库dll使用的是NuGet添加. 在类库References右键Manage NuGet Packages...,之后选择添加对应的dll. 测试结果显…