java excel文件读取的内容_java读取Excel文件指定内容
——边学习边记录~
最近需要用到从外部文件导入测试数据,因而上网查了一些读取excel文件这方面的代码,然后修改后适用于现有场景中(得到excel中指定单元格的内容)。
导入的jar:poi-3.16.jar
下载 poi-bin-3.16-20170419.tar.gz 官网下载地址:http://poi.apache.org/download.html
//以下是因为长数字取出来变成了科学计数法形式,所以使用DecimalFormat进行格式化为数字
DecimalFormat df = new DecimalFormat("0");
cellValue = df.format(cell.getNumericCellValue());
代码如下:
package com.test.tools;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
* 读取excel文件内容
* @author study_monkey
*
*/
public class ReadExcelFileInfo {
private static final ReadExcelFileInfo instance = new ReadExcelFileInfo();
private ReadExcelFileInfo(){
//do something
}
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static ReadExcelFileInfo getInstance(){
return instance;
}
public String readFile(int cellIndex,int rowIndex) {
String str = "";
InputStream fis = null;
try{
fis = new FileInputStream(new File("testdata.xls"));//File(path)
HSSFWorkbook workbook = new HSSFWorkbook(fis);
str = getValue(workbook,cellIndex,rowIndex);
}catch (IOException e) {
e.printStackTrace();
}finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
fis = null;
e.printStackTrace();
}
}
}
return str;
}
public String getValue(HSSFWorkbook workbook,int cellIndex,int rowIndex) {//从0开始,行和列
String cellValue = "";
HSSFSheet sheet = workbook.getSheetAt(0);
HSSFRow row = sheet.getRow(rowIndex);
HSSFCell cell = row.getCell((short) cellIndex);
DecimalFormat df = new DecimalFormat("0");
if (null != cell) {
// 以下是判断数据的类型,调对应的方法
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC: // 数字
// cellValue = cell.getNumericCellValue() + "";
cellValue = df.format(cell.getNumericCellValue()); //长数字取出来变成了科学计数法形式,使用DecimalFormat格式化
break;
case HSSFCell.CELL_TYPE_STRING: // 字符串
cellValue = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean
cellValue = cell.getBooleanCellValue() + "";
break;
case HSSFCell.CELL_TYPE_FORMULA: // 公式
cellValue = cell.getCellFormula() + "";
break;
case HSSFCell.CELL_TYPE_BLANK: // 空值
cellValue = "";
break;
case HSSFCell.CELL_TYPE_ERROR: // 故障
cellValue = "非法字符";
break;
default:
cellValue = "未知类型";
break;
}
}
return cellValue;
}
public static void main(String[] args) {
ReadExcelFileInfo r = new ReadExcelFileInfo();
String str1 = ReadExcelFileInfo.instance.readFile(1,1);//index从0开始,获取第1行,第1列的内容
String str2 = ReadExcelFileInfo.instance.readFile(1,2);
System.out.println(str1);
System.out.println(str2);
}
}
java excel文件读取的内容_java读取Excel文件指定内容相关推荐
- java 读取大文件内容_java读取大文件
java一般读取文件时,将文件文内容全部加在到内存,然后读取,但是这种读取方式很明显不适合读取大文件,在进行大文件处理时,考虑到内存有限,采用分次读取的方式. java分次读取文件内容有三种方式, 1 ...
- java读取修改文件内容_Java对本地文件内容读取、修改、删除的操作
import org.apache.commons.lang.StringUtils; import java.io.*; import java.util.HashMap; import java. ...
- java获取xlsx某列数据_Java读取Excel指定列的数据详细教程和注意事项
本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...
- java搜索excel表格里的数据_Java读取Excel表格中的数据
前言 本文主要讲述如何在Java中读取Excel表中的数据并在控制台输出,实现工具为Eclipse 提示:以下是本篇文章正文内容,下面案例可供参考 一.添加jar包文件 描述:在Java中导入导出Ex ...
- java实现从excel中提取某行_Java读取excel表格(原理+实现)
一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office ...
- java中文件处理之图片_Java中的文件处理
java中文件处理之图片 File Handing in java comes under IO operations. Java IO package java.io classes are spe ...
- java 文件保存目录结构_java web 实现文件夹上传(保留目录结构)
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 Save 改进后的代码不需要for ...
- java get image获取根路径_Java 获取资源文件路径
1 问题描述 通过源码运行时,一般使用如下方式读取资源文件: String str = "1.jpg"; 资源文件与源码文件放在同一目录下,或者拥有同一父级目录: String s ...
- java文件移动重命名_Java重命名文件和移动文件
Java重命名文件或移动文件是一种常见的IO操作.可以使用File.renameTo(File dest)方法进行重命名文件和移动文件操作. 1. Java重命名文件 如果文件重命名成功,则文件ren ...
- java文件中查找字符串_Java 在本地文件中查找固定字符串
适用范围:只适用于在文本文档中查找(如,txt.java.c等等,并不适用与doc.xls等等这些文件),可嵌套文件夹.但是对中文不支持. 例如:文件夹:F:/demo 子文件夹:F:/demo/er ...
最新文章
- C#做外挂常用API
- flex----导航
- Linq的一些操作符-图表展示
- ( )不是对网络模型进行分层的目标。
- CrossOver 12 发布,Windows 模拟器
- IE报告“存储空间不足,无法完成此操作”的原因
- Silverlight项目公共问题[保持更新]
- JAVA创建会话的方法_javaweb学习——会话技术(二)
- 爱创课堂每日一题第三十三天- 如何评价AngularJS和BackboneJS?
- [数据库事务与锁]详解四: 数据库的锁机制
- Talib技术因子详解(九)
- C#安装本地nupkg包
- 移动通信原理,GSM/GPRS模块无线传输实验教学
- 白帽子讲web安全读后感2
- python 多线程爬取网络小说
- ArcGIS裁剪时警告 warning001003:Datum conflict between input and output
- 复杂性理论:科学方法的第三个梯级
- 小程序报错提示Unexpected token in JSON at position
- while循环:珠穆朗玛峰案例
- 谷歌李开复:我的传奇人生源于十句箴言