知道 大家都知道用poi读取xls 当时有时候 必须要读取xlsx 现在我把我做测试的demo分享给大家
package com.lt.main; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.util.ArrayList; import java.util.List; 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.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import com.lt.util.DBUtil; import com.lt.util.Oracle; public class ReadMain { public static void readFile(File file){ Connection con = null; PreparedStatement ps = null; String sql = "insert into t_xls(mobile) values(?)"; int count = 0; try { con = DBUtil.getConnection(); ps = con.prepareStatement(sql); InputStream is = new FileInputStream(file); XSSFWorkbook wb = new XSSFWorkbook(is); XSSFCell cell = null; for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) { XSSFSheet st = wb.getSheetAt(sheetIndex); for (int rowIndex = 0; rowIndex <= st.getLastRowNum(); rowIndex++) { XSSFRow row = st.getRow(rowIndex); cell = row.getCell(0); cell.setCellType(XSSFCell.CELL_TYPE_STRING); count++; ps.setString(1, cell.getStringCellValue()); ps.addBatch(); if(count % 10000 == 0){ ps.executeBatch(); } } } ps.executeBatch(); }catch (Exception e) { e.printStackTrace(); }finally{ DBUtil.close(ps); DBUtil.close(con); } } public static void main(String[] args) { DBUtil.startProxool(); readFile(new File("C:\\Documents and Settings\\Administrator\\桌面\\22.xlsx")); } }
原文地址:http://blog.csdn.net/zjy660358/article/details/37872137