23 读取excel
/**
index mappingname originalname datatype family
0 task_id taskIndexCode STRING info
1 task_type resourceDescType INT32 info
2 camera_index_code cameraIndexCode STRING info
3 camera_address resourceLocation STRING info
* @param path
* @return
* @throws IOException
*/
public static List<String> readHbaseXlsx(String path) throws IOException { InputStream is = new FileInputStream(path); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); List<String> jsonList = new ArrayList<>(); int sheetNum = xssfWorkbook.getNumberOfSheets(); // Read the Sheet
for (int numSheet = ; numSheet < sheetNum; numSheet++) { XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet); if (xssfSheet == null) { continue;
}
// Read the Row
for (int rowNum = ; rowNum <= xssfSheet.getLastRowNum(); rowNum++) { XSSFRow xssfRow = xssfSheet.getRow(rowNum); if (xssfRow != null) { XSSFCell indexCell = xssfRow.getCell(); if (indexCell == null) continue; XSSFCell mappingnameCell = xssfRow.getCell(); XSSFCell originalnameCell= xssfRow.getCell(); XSSFCell datatypeCell = xssfRow.getCell(); XSSFCell familyCell = xssfRow.getCell(); String index=indexCell.getStringCellValue();
String originalname;
try {
originalname=originalnameCell.getStringCellValue();
}catch (NullPointerException e){
originalname="";
}
if(null==originalname){
originalname="";
}
String mappingname=mappingnameCell.getStringCellValue();
String datatype=datatypeCell.getStringCellValue();
String family=familyCell.getStringCellValue(); String json=index+","+originalname+","+mappingname+","+datatype+","+family;
jsonList.add(json); }
} xssfWorkbook.cloneSheet(numSheet);
} is.close(); return jsonList;
}
/**
index mappingname originalname datatype family
0 task_id taskIndexCode STRING info
1 task_type resourceDescType INT32 info
2 camera_index_code cameraIndexCode STRING info
3 camera_address resourceLocation STRING info
* @param path
* @return
* @throws IOException
*/
public static List<String> readEsXlsx(String path) throws IOException { InputStream is = new FileInputStream(path); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is); List<String> jsonList = new ArrayList<>(); int sheetNum = xssfWorkbook.getNumberOfSheets(); // Read the Sheet
for (int numSheet = ; numSheet < sheetNum; numSheet++) { XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet); if (xssfSheet == null) { continue;
}
// Read the Row
for (int rowNum = ; rowNum <= xssfSheet.getLastRowNum(); rowNum++) { XSSFRow xssfRow = xssfSheet.getRow(rowNum); if (xssfRow != null) { XSSFCell indexCell = xssfRow.getCell(); if (indexCell == null) continue; XSSFCell mappingnameCell = xssfRow.getCell(); XSSFCell originalnameCell= xssfRow.getCell(); XSSFCell datatypeCell = xssfRow.getCell(); String index=indexCell.getStringCellValue();
String originalname;
try {
originalname=originalnameCell.getStringCellValue();
}catch (NullPointerException e){
originalname="";
}
if(null==originalname){
originalname="";
}
String mappingname=mappingnameCell.getStringCellValue();
String datatype=datatypeCell.getStringCellValue(); String json=index+","+originalname+","+mappingname+","+datatype;
jsonList.add(json); }
} xssfWorkbook.cloneSheet(numSheet);
} is.close(); return jsonList;
} /**
* @param xssfRow excel cell
* @return 单元格数据
* @Method Description 2010excel单元格的数据,单元格数据分为:Boolean、numeric、string
*/
private static Object getValue(XSSFCell xssfRow) { if (xssfRow.getCellType() == xssfRow.CELL_TYPE_BOOLEAN) { return xssfRow.getBooleanCellValue(); } else if (xssfRow.getCellType() == xssfRow.CELL_TYPE_NUMERIC) { return xssfRow.getNumericCellValue(); } else { return xssfRow.getStringCellValue(); }
}
写字符串到文件中
public static Boolean writeStringToFile(String filePath,String str){
Boolean success=true;
if(!new File(filePath).exists()){
try {
new File(filePath).createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}else{
new File(filePath).delete();
try {
new File(filePath).createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
FileWriter fileWriter = null;
try {
fileWriter=new FileWriter(filePath);
} catch (IOException e) {
e.printStackTrace();
}
if(null!=fileWriter) {
try {
fileWriter.write(str);
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return success;
}
23 读取excel的更多相关文章
- C#读取Excel的三种方式以及比较
(1)OleDB方式 优点:将Excel直接当做数据源处理,通过SQL直接读取内容,读取速度较快. 缺点:读取数据方式不够灵活,无法直接读取某一个单元格,只有将整个Sheet页读取出来后(结果为Dat ...
- PHP读取excel文档
PHP读取excel文档 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel. PHPExcelReader比较轻量级, ...
- PHP读取Excel文件内容
PHP读取Excel文件内容 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel. PHPExcelReader比较 ...
- C#读取Excel表中的数据时,为何有些行的字段内容读取不到
转载:http://bbs.csdn.net/topics/360220285 1.当某列数据中含有混合类型时,在.NET中使用Microsoft.Jet.OLEDB.4.0来读取Excel文件造成数 ...
- jxl读写excel, poi读写excel,word, 读取Excel数据到MySQL
这篇blog是介绍: 1. java中的poi技术读取Excel数据,然后保存到MySQL数据中. 2. jxl读写excel 你也可以在 : java的poi技术读取和导入Excel了解到写入Exc ...
- C#读取excel等表格常用方法
0. 利用NPOI. 请查阅此插件的相关文档. 1.方法一:采用OleDB读取EXCEL文件: 把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: 1 2 3 4 5 6 7 8 9 10 ...
- php读取excel文档内容(转载)
入到数据库的需要,php-excel-reader可以很轻松的使用它读取excel文件,本文将详细介绍,需要了解的朋友可以参考下 php开发中肯定会遇到将excel文件内容导入到数据库的需要,ph ...
- C# 开源组件--NPOI读取Excel单元格中的公式值
今天在项目中碰到了EXCEL导入的数据是用公式生成,直接导入不了数据,写在博客中方便自已查询也可以给想找这方面的参考一下: 用NPOI导入时,在OFFICE 2007中的文件导入时一般会用XSSF,所 ...
- java的poi技术读取Excel数据
这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...
随机推荐
- 初探react
知道这个框架有一段时间了,可是项目中没有用到,也懒得整理,最近两天比较清闲,又想起了它.好了,废话不多说了,都是干货. react是个什么框架? 为什么用react? react 的原理 react有 ...
- JQUERY1.9学习笔记 之基本过滤器(六) 页眉选择器
页眉选择器jQuery( ":header" ) 描述:选择页眉的所有标签,如 h1,h2, h3 等. <!DOCTYPE html><html lang=&q ...
- Poweroff – 很好很强大的定制关机工具
Poweroff – 很好很强大的定制关机工具 Poweroff 是一个用来管理电脑关机系统的小工具,支持定时,支持远程 作者开放源代码,有兴趣的同学可以尝试着制作一下汉化版本. 可以设定不同时间 ...
- 为git配置ssh
git clone有两种方式,一种是http,一种是ssh. 配置ssh的好处是:在每次push代码的时候不需要输入密码. bash上生成秘钥: ssh-keygen -t rsa -C " ...
- Vector3.Dot 与Vector3.Cross
Vector3.Dot(点积) : 点积的计算方式为: a·b=|a|·|b|cos<a,b>; 其中<a,b>和<b,a> 夹角不分顺序; 物理学中点积用来计算 ...
- Linux C判断字符串是否为数字
Title:Linux C判断字符串是否为数字 --2013-10-14 15:54 #include <ctype.h> #include <string.h> int I ...
- SpringBoot笔记一
1 开始 1.1 spring介绍 Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run". 我们为Spring平台及第三方库 ...
- MyBatis查询两个字段,返回Map,一个字段作为key,一个字段作为value的实现
1. 问题描述 在使用MyBatis,我们经常会遇到这种情况:SELECT两个字段,需要返回一个Map,其中第一个字段作为key,第二个字段作为value.MyBatis的MapKey虽然很实用,但并 ...
- vbox端口转发
端口转发:setting->network->adapter:attached to NAT.port forwarding rules->name protocol ...
- 设计模式 ( 二十一 ):Vistor访问者模式 -- 行为型
1.概述 在软件开发过程中,对于系统中的某些对象,它们存储在同一个集合collection中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有 ...