NPOI操作Excel(三)--解析Excel】的更多相关文章

通过前面两篇的基础学习,我们对NPOI有了一定了了解,下面就开始进入实战,解析下面格式的Excel(下面只是列举了几个例子),并保存入库 首先我们先分析一下,要解析这样的Excel,需要把指标[橘色背景和蓝色背景](作为指标入库).科目[棕色背景和黄色背景](作为X轴入库).数据[乳白色背景和白色背景](作为Y轴入库)的数据分开入库. 第一张图我们得到的指标毫无疑问应该是第三行从第二列开始到最后一列的数据,而第二张图我们得到的指标应该是非金融企业部门-使用.非金融企业部门-来源.金融机构部门-使…
在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对…
包声明 create or replace package PKG_EXCEL_UTILS is -- Author: zkongbai-- Create at: 2016-07-06-- Action: 解析xmlType 类型的 Excel 数据--============================================================================================TYPE t_table_varchar IS TABLE O…
PoiExcelUtils.java /** * */ package com.common.office; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.List;…
一.使用poi解析excel文档 注:全部采用poi接口进行解析,不需要区分xls.xlsx格式,不需要判断文档类型. poi中的日期格式判断仅支持欧美日期习惯,对国内的日期格式并不支持判断,怎么办?所以通过日期格式判断是极其重要的手段,因为日期在excel中也是double类型的数值,所以靠类型判断是极不可靠的,但是有几种常用的日期格式(比如:yyyy-mm-dd,yy-mm-dd等)还是可以通过类型进行判断,因为它们的类型在excel中属于保留值,这点很重要,毕竟office文档想要正确显示…
目录树 背景 技术选型 问题分析 技术要点及难点分析 源码分析 测试用例 背景 Tip:因为产品提的需求我都开发完了,进行了项目提测:前天老大走过来说:你用spring-boot开发一个解析Excel的jar包.....详细对话如下: A:世生,你用spring-boot开发一个解析Excel的jar包. B:为什么不在原来的项目上进行开发呢?(很纳闷,这个东西不是一般用于前端上传数据的嘛,这是后端层,咋搞这个) A:因为xxxx这个需求有比较多的数据需要初始化,这个jar是作为一个上线的数据初…
我们先来回忆回忆上篇文章讲到的通过xml配置文件实现excel批量模板解析的整体思路: 1.对每个excel模板制定xml配置规则集,实现xml配置文件的解析服务 2.为每个excel模板制定DTO,继承于一个BaseDTO 3.实现两个工厂方法,一是获取某excel模板xml配置文件路径:一是获取某excel模板DTO对象 4.EXCEL工具类对外暴露两个接口,一是数据验证接口,返回整个excel所有错误单元格信息:一是数据解析接口,读取单元格数据到DTO.通过构造方法传入配置文件 5.整体流…
哈哈~~~很高兴还活着.总算加班加点的把最后一类EXCEL模板的解析做完了... 前面几篇文章介绍了博主最近项目中对于复杂excel表头的解析,写得不好,感谢园友们的支持~~~ 今天再简单讲诉一下另一种“变异”EXCEL表头模板——矩阵表头模板的解析(博主感觉这种模板虽说怪异,但是偶尔也能遇到,的确是有一定的实用性),我们用一个流量流向的excel作为例子来讲解: 先来解释一下这个表头: 1.“上表头”看似复杂,按我们前几篇文章说到的XML配置规则集的方法,轻易就能解析 2.这个表头“上表头”.…
上一篇文章介绍了一些NPOI的基础接口,我们现在就来看看具体怎么用NPOI来解析一个EXCEL. 博主现在有这么一堆excel需要解析数据入库: 当然这只是员工的简要模板,还有很多其他的模板.我们可以要求线下人员把表头都做成像这样的表头,但是数据的列数与各列内容是不受我们所控制的.那么我们需要的就是一个公用的方法,能够解析这一类表头的excel数据. 既然每种表对应着一张数据库表,字段不一样,那么我们的方法就考虑到使用反射机制来给泛型DTO属性赋值.具体每个excel表的各列与DTO属性字段的对…
前面我们已经实现了反射机制进行excel表格数据的解析,既然有上传就得有下载,我们再来写一个通用的导出方法,利用反射机制实现对系统所有数据列表的筛选结果导出excel功能. 我们来构想一下这样一个画面,管理员筛选出北京的所有员工数据,想导出成excel表格:管理员筛选出北京所有欠费的企业数据,想导出成excel表格:管理员想导出本月的工单报表到excel表格:管理员想导出近3月北京各岗位的运营报表到excel表格...... 系统客服真是个神奇的职业,神马都想导出到excel表格! 那么对于我们…
去年项目有一个子模块需要解析上百张不一样的excel表格入库,当时用的NPOI,做了很久...也尝试想把代码分享到oschina,结果没坚持两篇就放弃了. 赶巧的是,昨天运营那边提出要录入一些基础数据,我想着也就几百个员工.企业的信息,自己找两个姑娘手动录入呗(为啥是姑娘?让一个大老爷们去录假数据,你去吗?反正我不去)...结果,一个同事吭哧吭哧跑来找我: “手动录入太慢了,填一堆基本信息,还要传头像,传身份证,传营业执照什么的” 嗯哼!想让我写代码给你们录?没门! 于是忽悠道“唉,找领导多要几…
用C#读取Excel的方法有很多中,由于近期工作需要,需要解析的Excel含有合并单元格以及背景色等特殊要求,故在网上查了一些关于读Excel的方法的优缺点,觉得NPOI能满足我的需要,所以搜索了一些资料做了一些测试,下面有些内容有些是来源于别人的博客,都备有出处,只是想把一些觉得对自己有用的记录一下,望见谅. 我们先说了解一下NPOI的优缺点: 优点:读取数据快,读取方式灵活,包含多个sheet的Excel单元格合并设置单元格字段.颜色.设置单元格为下拉框,并限制输入值,设置单元格只能输入数据…
目录 .NET 通过 NPOI 操作 Excel 第一步:通过 NuGet 获取 NPOI 包并引入程序集 第二步:引入 NPOI 帮助类 第三步:在程序中调用相应的方法对数据进行导出导入操作 将 DataTable 导出为 Excel 将 Excel 导入为 DataTable 在 Web 端将 DataTable 导出为 Excel 并输出到浏览器下载 其它方法 .NET 通过 NPOI 操作 Excel 第一步:通过 NuGet 获取 NPOI 包并引入程序集 第二步:引入 NPOI 帮助…
工作中经常遇到需要读取或导出Excel文件的情况,而NPOI是目前最宜用.效率最高的操作的Office(不只是Excel哟)文件的组件,使用方便,不详细说明了. Excel工作表约定:整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 1.先上一个Excel2003的例子,代码如下: //读取xls文件         private void button2_Click(object sender, EventArgs e)…
/// <summary> /// NPOI操作excel辅助类 /// </summary> public static class NPOIHelper { #region 定义与初始化 public static HSSFWorkbook workbook; [Flags] public enum LinkType { 网址, 档案, 邮件, 内容 }; private static void InitializeWorkbook() { if (workbook == nu…
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System;using System.Collections.Generic;using System.IO; //创建文件流对象        using (FileStream filesrc = File.OpenRead(@"C:\Users\Administrator\Desktop\12…
using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.Data; using System.IO; using NPOI.XSSF.UserModel; 刚刚接触Excel导入导出,感觉用NPOI蛮方便的就研究了一下,下面是Excel导入读取到DataTable中的功能 #region public DataTable ImportExcel(string filePath) { using (FileStream fi…
在上一篇<NPOI操作excel之读取excel数据>我们把excel数据写入了datatable中,本篇就讲如何把datatable数据写入excel中. using System; using System.Data; using System.IO; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.HSSF.UserModel; namespace NPOIOprateExcel { public class…
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.  一.下载引用 去NPOI官网http://npoi.codeplex.com/下载需要引用的dll,即:NPOI.dll,NPOI.OOXML.dll,NPOI.OpenXml4Net.dll,ICSharpCode.SharpZipLib.dll(office2007版需要此dll). 二.Excel转datatable类 excel数据: Excel转datata…
C#开发中使用Npoi操作excel实例代码 出处:西西整理 作者:西西 日期:2012/11/16 9:35:50 [大 中 小] 评论: 0 | 我要发表看法 Npoi 是什么? 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.Npoi 下载地址:http://npoi.codeplex.com/releases/view/38113 3.Npoi 学习系列教程推荐:http://www.cnblogs.com…
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作. NPOI官方网站:http://npoi.codeplex.com/ 下载:Install-Package NPOI 本节内容,介绍NPOI的类…
2.4.1 用NPOI操作EXCEL关于HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2)的参数   NPOI教程:http://www.cnblogs.com/atao/archive/2009/11/15/1603528.html 之所有说NPOI强大,是因为常用的Excel操作她都可以通过编程的方式完成.这节开始,我们开始学习NPOI的画图功能.先从最简单的开始,画一条直线:对应的代码为: HSSFSheet sheet1 = hss…
C#操作Excel方法有很多,以前用的需要电脑安装office才能用,但因为版权问题公司不允许安装office.所以改用NPOI进行Excel操作,基本上一些简单的Excel操作都没有问题,读写合并单元格等都能实现. NPOI 库下载地址 命名空间: using NPOI; using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; using NPOI.HSSF.UserModel; using NPOI.HSSF.Util; 简单的保存数据: pu…
记点笔记,加深印象!最近有个导入Excel工能需要完成,Excel列名是中文的,导入Excel我用的NPOI插件,如果不对Excel做解析,列名有可能会给我带来一些字符方面的麻烦,于是想到了一个比较low的办法,做一个Json配置文件,对应我的Excel列头,然后读取Excel时与json文件匹配,同时需要校验Excel数据是否合法,创建DataTable.主要代码如下: 1.Json文件: [ { "Name": "Inventory", "CnName…
一.概要 前面讲到NPOI操作EXCEL导出功能,下面讲下从EXCEL里获取数据添加进数据库. 二.代码 HSSFWorkbook hssfworkbook; public void ExcelDataToDataBase() { string filePath = HttpContext.Current.Server.MapPath("~/123.xls"); DAL.TodaySoftHRAMSContext context = new DAL.TodaySoftHRAMSCont…
public void ExportPermissionRoleData(string search, int roleStatus) { var workbook = new HSSFWorkbook(); ); string fileName = HttpUtility.UrlEncode("sheet" + random + ".xls", System.Text.Encoding.UTF8); #region 表头 ISheet worksheet = wo…
2.6.2 用NPOI操作EXCEL--设置密码       有时,我们可能需要某些单元格只读,如在做模板时,模板中的数据是不能随意让别人改的.在Excel中,可以通过“审阅->保护工作表”来完成,如下图:      那么,在NPOI中有没有办法通过编码的方式达到这一效果呢?答案是肯定的. HSSFSheet sheet1 = hssfworkbook.CreateSheet("Sheet1"); HSSFRow row1 = sheet1.CreateRow(0); HSSFC…
园子的文章: http://www.cnblogs.com/csqb-511612371/category/654604.html 关键就是如何解析Excel表头,特别是合并单元格的..还有对应NPOI常用的接口…
最近,公司运营平台需要上传Excel文件并进行解析导入数据库,在开发完成后出现了一个始料不及的生产bug,下面是具体原因: 1.在用POI解析Excel时,默认如果Excel单元格中没有数据,且单元格Style没有边框,那它就是个null,所以只判断了单元格是不是为null 从而导致如果Excel单元格style如果有边框,且单元格内容为null或空字符,会正常的去解析.具体问题原因我在下面代码段里加上了注释,有.xlsx和.xls两段代码,具体内容大同小异 解决方案:我找了一下API 发现XS…
//使用NPOI操作Excel private void ExcelNPOI(System.Data.DataTable dt, HttpContext context) { IWorkbook workbook = null;//工作薄 IRow row = null;//行 ICell cell = null;//单元格 ISheet sheet = null;//工作表 try { //如果表中查询的有数据 ) { //创建工作薄 //workbook = new HSSFWorkbook…