Java-------读取excel

来源:互联网 发布:白石洲新塘网络 编辑:程序博客网 时间:2024/06/06 02:29


新建一个java项目



新建包和类



得到结构如下:



新建文件夹lib 放入 需要用到的包 poi  并引用这个包 

http://download.csdn.net/detail/q383965374/5859893

(注意该包只能读xls 旧版本的excel 如果是新的格式xlsx 可另存为xls格式的)



把包文件复制到文件夹后得到



对着包点右键进行build path引用



read.java中的代码为:

package excel;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Iterator;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;import org.apache.poi.poifs.filesystem.POIFSFileSystem;import org.apache.poi.ss.usermodel.Row;public class read {public static String[] begin_read(String excelFile){String[] result=new String[42];try {FileInputStream fileInputStream = new FileInputStream(new File(excelFile));POIFSFileSystem poifs = new POIFSFileSystem(fileInputStream);HSSFWorkbook workbook = new HSSFWorkbook(poifs);HSSFSheet sheet = workbook.getSheetAt(0);//取第一个工作簿Iterator<Row> rows = sheet.rowIterator();int i = 0;//当行数少于42行时遍历行while (rows.hasNext()) {HSSFRow row = (HSSFRow) rows.next(); if(i>=42){break;}if(i>=0){String a=getStringCellValue(row.getCell(1)).trim().replaceAll("/s++", "")+"\n";//取第一列result[i]=a;}i++;}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return result;}private static String getStringCellValue(HSSFCell cell) {// 获取单元格数据内容为字符串类型的数据String strCell = "";switch (cell.getCellType()) {case HSSFCell.CELL_TYPE_STRING:strCell = cell.getStringCellValue();break;case HSSFCell.CELL_TYPE_NUMERIC:strCell = String.valueOf(cell.getNumericCellValue());break;case HSSFCell.CELL_TYPE_BOOLEAN:strCell = String.valueOf(cell.getBooleanCellValue());break;case HSSFCell.CELL_TYPE_BLANK:strCell = "";break;default:strCell = "";break;}if (strCell.equals("") || strCell == null) {return "";}return strCell;}public static void main(String[] args) {String fileName="E://123.xls";String[] test=begin_read(fileName);for(int i=0;i<test.length;i++){System.out.print(test[i]);}}}


运行程序:



读取的excel表:



结果:






原创粉丝点击