java poi导入EXCEL
来源:互联网 发布:淘宝代码装修视频 编辑:程序博客网 时间:2024/05/17 03:13
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class TextExcel {
public static void main(String[] args) {
String path="d://model.xls";//文件路径
try {
File files = new File(path);
String[ ][ ] result = getData(files, 1);
if (result != null) {
int rowLength = result.length;
for (int i = 0; i < rowLength; i++) {
for (int j = 0; j < result[i].length; j++) {
System.out.println(result[i][j]+"单元格ID:"+i+" "+j);
}
System.out.println();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 读取EXCEL
*
* @param firstrow 从第几行开始读取
* @return 读取后返回数组
*/
@SuppressWarnings("deprecation")
public static String[][] getData(File file, int firstrow) throws FileNotFoundException, IOException {
List<String[]> result = new ArrayList<String[]>();
int rowSize = 0;
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
POIFSFileSystem fs = new POIFSFileSystem(in);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFCell cell = null;
for (int sheetIndex = 0;sheetIndex < wb.getNumberOfSheets(); sheetIndex++) {
HSSFSheet st = wb.getSheetAt(sheetIndex);
for (int rowIndex = firstrow; rowIndex <= st.getLastRowNum(); rowIndex++) {
HSSFRow row = st.getRow(rowIndex);
if (row == null) {
continue;
}
int tempRowSize = row.getLastCellNum() + 1;
if (tempRowSize > rowSize) {
rowSize = tempRowSize;
}
String[ ] values = new String[rowSize];
Arrays.fill(values, " ");
boolean hasValue = false;
for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex++) {
String value = " ";
cell = row.getCell(columnIndex);
if (cell != null) {
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING://读取的格式为字符串
value = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC://读取的格式为数组
//如果格式为日期格式,自定义格式输出
if (HSSFDateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue();
if (date != null) {
value = new SimpleDateFormat("yyyy-MM-dd").format(date);
} else {
value = " ";
}
} else {
//如果格式为数值,自定义格式输出
value = new DecimalFormat("0.00").format(cell.getNumericCellValue());
}
break;
case HSSFCell.CELL_TYPE_FORMULA:
// 导入时如果为公式生成的数据则无值
value = " ";
break;
// 导入时如果为空
case HSSFCell.CELL_TYPE_BLANK:
break;
case HSSFCell.CELL_TYPE_ERROR:
value = " ";
break;
// 导入时如果为BOOLEAN型 自定义格式输出
case HSSFCell.CELL_TYPE_BOOLEAN:
value = (cell.getBooleanCellValue() == true ? "Y" : "N");
break;
default:
value = " ";
}
}
values[columnIndex] = rightTrim(value);
hasValue = true;
}
if (hasValue) {
result.add(values);
}
}
in.close();
String[ ][ ] returnArray = new String[result.size()][rowSize];
for (int i = 0; i < returnArray.length; i++) {
returnArray[i] = (String[]) result.get(i);
}
return returnArray;
}
return null;
}
/**
* 去掉字符串右边的空格
*
* @param str 要处理的字符串
* @return 处理后的字符串
*/
public static String rightTrim(String str) {
if (str == null) {
return " ";
}
int length = str.length();
for (int i = length - 1; i >= 0; i--) {
if (str.charAt(i) != 0x20) {
break;
}
length--;
}
return str.substring(0, length);
}
}
- java poi 导入excel
- Java poi+excel导入
- java poi导入EXCEL
- java poi 导入Excel
- Java POI导入Excel
- Java POI 导入Excel
- java poi 导入excel
- Java poi+excel导入
- java excel poi 导入导出
- JAVA导入导出EXCEL(POI)
- Java POI导入导出excel
- Java POI Excel的导入
- java poi实现excel导入
- java poi Excel文件导入
- Java POI 导入Excel以及解析Excel
- JAVA实现Excel导入/导出(POI)
- java poi 导入导出Excel xsl xslx
- 使用Java POI导入导出Excel数据
- 进制转换
- Android 自动编译、打包生成apk
- Java中Array与ArrayList的主要区别
- gson容易混淆的几处
- Android学习(一)创建一个基本的活动及基本的几个函数
- java poi导入EXCEL
- Linux常用命令(二)文件处理命令2
- window下使用python import cx_Oracle时报错
- seo简单语法
- 常用网站链接
- 给OCR文字识别软件的扫描选项设置教程
- CSS实现垂直水平居中
- 时区—GMT和UTC
- android layout xml 布局错误