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 ...
随机推荐
- 转载:/etc/resolv.conf的作用
转载网址:http://jiao-zhong.blog.sohu.com/97976004.html 该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数.resolv ...
- PHPCMS 插件开发教程及经验谈
虽说 PHPCMS 开源,但其它开发文档及参考资料实在少得可怜.进行二次开发时,自己还得慢慢去研究它的代码,实在让人郁闷. PHPCMS 的“Baibu/Google地图”实在有待改进,对于数据量比较 ...
- 用C++类模板实现栈结构出现的问题以及思考
C++中使用了模板来减少方法相同但是类型不一样带来的函数重载以及大量复制代码的问题.这里主要说说类模板 类模板的定义: template<TYPENAME Type> clas ...
- php加密解密实用类
一个加解密类.如果你想在用户忘记密码时为他或她找回原来的密码,那么这个类是个好用的工具 用户注册的密码一般不会明文保存,总得加个密先.最简单的当然是在数据库sql语句中调用md5函数加密用户密码.这里 ...
- 复杂事件处理引擎—Esper入门
说明: 以下内容,可以参考Esper官方网站<Qucik start & Tutorial >(顺序做了部分调整). PS:因为英语水平有限(大学期间刚过CET4的英语小盲童一枚) ...
- 说说自己对RESTful API的理解s
REST不是英文上的rest单词,其英文缩写为presentational State Transfer ,直译为表现状态转移,咋看起来很学术,不懂,其实不用去死抠这个词的意思.REST是一种约束和架 ...
- Android Canvas.drawText方法中的坐标参数的正确解释
摘要 canvas.drawText(www.jcodecraeer.com, x, y, paint); x和y参数是指定字符串中心的坐标吗?还是左上角的坐标?这个问题的直观印象应该是左上角的坐标, ...
- Qt入门(6)——Qt的界面布局
Qt提供四种布局: VBoxLayout:垂直布局 HBoxLayout:水平布局 GridLayout:二维布局. FormLayout: 窗体布局
- HDU_2044——蜜蜂走蜂房,递推
Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数. 其中,蜂房的结构如下所示. Input 输入数据的 ...
- oracle修改服务器端编码
因为装的是oracle 11g免费版,没有装oracle客户端,然后从网上找了免客户端使用pl/sql的教程,具体可以看链接,这里不再累述:但打开pl/sql的时候提示客户端和服务端编码不一致:网上一 ...