/**
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的更多相关文章

  1. C#读取Excel的三种方式以及比较

    (1)OleDB方式 优点:将Excel直接当做数据源处理,通过SQL直接读取内容,读取速度较快. 缺点:读取数据方式不够灵活,无法直接读取某一个单元格,只有将整个Sheet页读取出来后(结果为Dat ...

  2. PHP读取excel文档

    PHP读取excel文档 项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel.   PHPExcelReader比较轻量级, ...

  3. PHP读取Excel文件内容

    PHP读取Excel文件内容   项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel.   PHPExcelReader比较 ...

  4. C#读取Excel表中的数据时,为何有些行的字段内容读取不到

    转载:http://bbs.csdn.net/topics/360220285 1.当某列数据中含有混合类型时,在.NET中使用Microsoft.Jet.OLEDB.4.0来读取Excel文件造成数 ...

  5. jxl读写excel, poi读写excel,word, 读取Excel数据到MySQL

    这篇blog是介绍: 1. java中的poi技术读取Excel数据,然后保存到MySQL数据中. 2. jxl读写excel 你也可以在 : java的poi技术读取和导入Excel了解到写入Exc ...

  6. C#读取excel等表格常用方法

    0. 利用NPOI. 请查阅此插件的相关文档. 1.方法一:采用OleDB读取EXCEL文件: 把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: 1 2 3 4 5 6 7 8 9 10 ...

  7. php读取excel文档内容(转载)

    入到数据库的需要,php-excel-reader可以很轻松的使用它读取excel文件,本文将详细介绍,需要了解的朋友可以参考下   php开发中肯定会遇到将excel文件内容导入到数据库的需要,ph ...

  8. C# 开源组件--NPOI读取Excel单元格中的公式值

    今天在项目中碰到了EXCEL导入的数据是用公式生成,直接导入不了数据,写在博客中方便自已查询也可以给想找这方面的参考一下: 用NPOI导入时,在OFFICE 2007中的文件导入时一般会用XSSF,所 ...

  9. java的poi技术读取Excel数据

    这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...

随机推荐

  1. 初探react

    知道这个框架有一段时间了,可是项目中没有用到,也懒得整理,最近两天比较清闲,又想起了它.好了,废话不多说了,都是干货. react是个什么框架? 为什么用react? react 的原理 react有 ...

  2. JQUERY1.9学习笔记 之基本过滤器(六) 页眉选择器

    页眉选择器jQuery( ":header" ) 描述:选择页眉的所有标签,如 h1,h2, h3 等. <!DOCTYPE html><html lang=&q ...

  3. Poweroff – 很好很强大的定制关机工具

    Poweroff – 很好很强大的定制关机工具 Poweroff 是一个用来管理电脑关机系统的小工具,支持定时,支持远程 作者开放源代码,有兴趣的同学可以尝试着制作一下汉化版本.   可以设定不同时间 ...

  4. 为git配置ssh

    git clone有两种方式,一种是http,一种是ssh. 配置ssh的好处是:在每次push代码的时候不需要输入密码. bash上生成秘钥: ssh-keygen -t rsa -C " ...

  5. Vector3.Dot 与Vector3.Cross

    Vector3.Dot(点积) : 点积的计算方式为:  a·b=|a|·|b|cos<a,b>; 其中<a,b>和<b,a> 夹角不分顺序; 物理学中点积用来计算 ...

  6. Linux C判断字符串是否为数字

    Title:Linux C判断字符串是否为数字  --2013-10-14 15:54 #include <ctype.h> #include <string.h> int I ...

  7. SpringBoot笔记一

    1 开始 1.1 spring介绍 Spring Boot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run". 我们为Spring平台及第三方库 ...

  8. MyBatis查询两个字段,返回Map,一个字段作为key,一个字段作为value的实现

    1. 问题描述 在使用MyBatis,我们经常会遇到这种情况:SELECT两个字段,需要返回一个Map,其中第一个字段作为key,第二个字段作为value.MyBatis的MapKey虽然很实用,但并 ...

  9. vbox端口转发

    端口转发:setting->network->adapter:attached to NAT.port forwarding rules->name    protocol     ...

  10. 设计模式 ( 二十一 ):Vistor访问者模式 -- 行为型

    1.概述 在软件开发过程中,对于系统中的某些对象,它们存储在同一个集合collection中,且具有不同的类型,而且对于该集合中的对象,可以接受一类称为访问者的对象来访问,而且不同的访问者其访问方式有 ...