日期:2014-05-18 浏览次数:20702 次
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.OutputStream; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; 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 jexcel { private String file = ""; private POIFSFileSystem fs = null; private HSSFWorkbook wb = null; private int cols = 41;// 数据列数,去掉砂层厚度后的 private int cell_colums, cell_rows; private static Logger logger = Logger.getLogger(jexcel.class.getName()); /** * 构造函数, * * @param f - * Excel文件名 */ public jexcel(String f) { String pattern = "%5p (%F:%L) - %m%n"; PatternLayout layout = new PatternLayout(pattern); ConsoleAppender appender = new ConsoleAppender(layout); logger.removeAllAppenders(); logger.addAppender(appender); logger.setLevel((Level) Level.DEBUG); try { this.setFile(f); this.init(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public jexcel() { } public void setFile(String f) { this.file = f; } private void init() throws FileNotFoundException, IOException { fs = new POIFSFileSystem(new FileInputStream(file)); wb = new HSSFWorkbook(fs); } public Iterator que(String n) { // Map<Integer, String[]> data=new HashMap<Integer, String[]>();//use // map // String datas[][] = null;//use array ArrayList datass = null; if (fs == null) { try { this.init(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } HSSFSheet sheet = wb.getSheet(n); // HSSFSheet csheet=wb.cloneSheet(0); // wb.setSheetName(3,"复制"+wb.getSheetName(0),(short)1);//注意(short)1中文编码 // try { // FileOutputStream fo=new FileOutputStream(file); // try { // wb.write(fo); // fo.close(); // } catch (IOException e) { // // TODO 自动生成 catch 块 // e.printStackTrace(); // } // // } catch (FileNotFoundException e) { // // TODO 自动生成 catch 块 // e.printStackTrace(); // } // Iterator rows=sheet.rowIterator(); logger.debug("行数:" + sheet.getLastRowNum()); datass = new ArrayList(sheet.getLastRowNum()); cell_rows = sheet.getLastRowNum(); for (int j = 1; j <= sheet.getLa