首页 > 代码库 > java使用poi.3.10读取excel 2003 (xls格式)
java使用poi.3.10读取excel 2003 (xls格式)
最近在做一个Excel导入数据库的案例,整理文档出来供大家参考。
1、下载 最新的 poi
http://poi.apache.org/download.html
2、解压 把相关jar包引进项目
3、案例源码
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.text.DecimalFormat;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;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.junit.Test;public class TestExcel { // 记录类的输出信息 static Log log = LogFactory.getLog(TestExcel.class); // 获取Excel文档的路径 public static String filePath = TestExcel.class.getResource("/test.xls").getPath(); @Test public static void main(String[] args) { try { // 创建对Excel工作簿文件的引用 HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream( filePath)); // 在Excel文档中,第一张工作表的缺省索引是0 // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0); HSSFSheet sheet = wookbook.getSheet("Sheet1"); // 获取到Excel文件中的所有行数 int rows = sheet.getPhysicalNumberOfRows(); // 遍历行,索引从0 开始,第0行可用作表头,不获取。 for (int i = 1; i < rows; i++) { // 读取左上端单元格 HSSFRow row = sheet.getRow(i); // 行不为空 if (row != null) { // 获取到Excel文件中的所有的列// int cells = row.getPhysicalNumberOfCells(); String valuehttp://www.mamicode.com/= ""; // 遍历列 // 防止当使用POI处理excel的时候cell.getNumbericCellValue() // 当长度大一点的时候会变成科学计数法形式。 DecimalFormat df = new DecimalFormat("0"); // ***下方3为cells的值,更换为固定列数,解决空值问题*** for (int j = 0; j < 5; j++) { // 获取到列的值 HSSFCell cell = row.getCell(j); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_FORMULA: break; case HSSFCell.CELL_TYPE_NUMERIC: value += df.format(cell.getNumericCellValue()) + ","; break; case HSSFCell.CELL_TYPE_STRING: value += cell.getStringCellValue() + ","; break; default: value += "#"+","; break; } } else { value += "#" + ","; } } // 将数据插入到mysql数据库中 String[] val = value.split(","); System.out.println(val[0]); System.out.println(val[1]); System.out.println(val[2]); System.out.println(val[3]); System.out.println(val[4]); System.out.println(" "); // *******在此处保存数据到数据库****** } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
这个方法只能读取Excel2003版本,读取2010版本本人正在学习中。
java使用poi.3.10读取excel 2003 (xls格式)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。