excel导入及注意事项
在Excel导入过程中经常遇到单元格数据格式不正确引发的错误,在赋值前需要做下类型转换。
提供一个类型转换工具类:
/**
* 单元格类型转化工具类
* @param cell
* @return
*/
private Map<String,Object> cellTypeDefine(Cell cell){
Map<String,Object> map = new HashMap<>();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_BOOLEAN:
map.put("COL", cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_NUMERIC:
map.put("COL", cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_STRING:
map.put("COL", cell.getStringCellValue());
break;
case Cell.CELL_TYPE_BLANK:
map.put("COL","");
break;
case Cell.CELL_TYPE_FORMULA:
map.put("COL", cell.getCellFormula());
break;
case Cell.CELL_TYPE_ERROR:
map.put("COL","");
break;
default:
map.put("COL", "");
break;
}
return map;
}
类型转换
Excel导入demo实例:
public class ExcelImport {
public String excelImport(File file) {
HashMap<String, Sheet> typeSheet = null;
List<CmWiringPo> wiringlist = new ArrayList<>();
try{
HSSFWorkbook workbook = new HSSFWorkbook() ;
typeSheet = Maps.newHashMap();
Cell cell = null;
Row row = null;
HSSFSheet sheet = workbook.getSheetAt(0);
String sheetName = sheet.getSheetName();
typeSheet.put(sheetName, sheet);
for(int j=1;j < sheet.getLastRowNum()+1;j++){
row = sheet.getRow(j);
CmWiringPo cmWiringPo = new CmWiringPo() ;
//主键生成
cmWiringPo.setId(11L);
for(int k=0;k < row.getLastCellNum();k++){
cell = row.getCell(k);
switch (k) {
case 0:
Long srid = (long)cell.getNumericCellValue();
cmWiringPo.setSrid(srid);
break;
case 1:
cmWiringPo.setSourceCabinetUName(String.valueOf(cellTypeDefine(cell).get("COL")));
break;
default:
break;
}
}
}
}catch (Exception e) {
return null;
}
return wiringlist.toString();
}
excel导入及注意事项的更多相关文章
- Silverlight将Excel导入到SQLserver数据库
最近纠结于读取Excel模板数据,将数据导入SQLServer的Silverlight实现,本文将实现代码贴出,作为一个简单的例子,方便各位: 1.先设计前台界面新建Silverlight5.0应用程 ...
- 用Excel导入Oracle数据库plsql
打开plsql之后,在工具栏点击[tools]--[ODBC Imoprter] 选择导入文件的类型,这里是excel文件,所以选择Excel Files 输入连接数据库的用户名和密码 点击Conne ...
- 土制Excel导入导出及相关问题探讨
转载请注明出处https://www.cnblogs.com/funnyzpc/p/10392085.html 新的一年,又一个开始,不见收获,却见年龄,好一个猪年,待我先来一首里尔克的诗: < ...
- JXLS (Excel导入、导出工具使用)
JXLS (Excel导入.导出工具使用) 1:简介: jxls是一个简单的.轻量级的excel导出库,使用特定的标记在excel模板文件中来定义输出格式和布局.java中成熟的excel导出工具有p ...
- Excel导入保存附件和解析数据
Excel导入保存附件和解析数据 一,前端上传附件的组件 1.先给一个下载模板的按钮 // 下载Excel模板 downLoadExcel: function () { window.open(GLO ...
- C# Excel导入、导出【源码下载】
本篇主要介绍C#的Excel导入.导出. 目录 1. 介绍:描述第三方类库NPOI以及Excel结构 2. Excel导入:介绍C#如何调用NPOI进行Excel导入,包含:流程图.NOPI以及C#代 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入
系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...
- 解析大型.NET ERP系统 设计通用Microsoft Excel导入功能
做企业管理软件很难避免与Microsoft Excel打交道,常常是软件做好了,客户要求说再做一个Excel导入功能.导入Excel数据的功能的难度不大,从Excel列数据栏位的取值,验证值,再导入到 ...
- (转)高效的将excel导入sqlserver中
大部分人都知道用oledb来读取数据到dataset,但是读取之后怎么处理dataset就千奇百怪了.很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,System.Data.SqlClie ...
随机推荐
- LeetCode 8 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...
- Qt error ------ qRegisterMetaType() 跨线程信号与槽的形参携带
Qt提示: QObject::connect: Cannot queue arguments of type 'FrequencySpectrum' (Make sure 'FrequencySpec ...
- 第六节 事务XML方式[声明方式]
事务管理: 管理事务,管理数据,数据完整性和一致性 事务[业务逻辑] : 由一系列的动作[查询书价格,更新库存,更新余额],组成一个单元[买书业务], 当我们动作当中有一个错了,全错~ ACID 原子 ...
- Kafka 0.8 Consumer设计解析
摘要 本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以及适用场景 ...
- Intellij IDEA导入web项目详解(解决访问的404)
开始时的首页 点击modules 点击modules界面的Paths 点击Libraries 选择lib文件 点击Facets 选择项目 这就是我404的主要原因,因为小白第一次使用idea 所以很疯 ...
- bzoj千题计划104:bzoj1013: [JSOI2008]球形空间产生器sphere
http://www.lydsy.com/JudgeOnline/problem.php?id=1013 设球心(x1,x2,x3……) 已知点的坐标为t[i][j] 那么 对于每个i满足 Σ (t[ ...
- [转载]Supporting OData $inlinecount with the new Web API OData preview package
http://www.strathweb.com/2012/08/supporting-odata-inlinecount-with-the-new-web-api-odata-preview-pac ...
- [转载]Windows 8 VHD 概述与使用
http://www.cnblogs.com/tonycody/archive/2012/11/30/2796858.html
- spring Mvc 执行原理 及 xml注解配置说明 (六)
Spring MVC 执行原理 在 Spring Mvc 访问过程里,每个请求都首先经过 许多的过滤器,经 DispatcherServlet 处理; 一个Spring MVC工程里,可以配置多个的 ...
- Oracle 查看锁表进程_杀掉锁表进程 [转]
查看锁表进程SQL语句1: select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo ...