package common; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; 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; public class Test { //工作簿名称,可以取中文(就是另存为名称). public static String outputFile="D:/test.xls"; /** * @param args */ public static void main(String[] args) { try { File objFile = new File(outputFile); HSSFWorkbook workbook = null; HSSFSheet sheet = null; HSSFRow row = null; HSSFCell cell = null; String table_name = "sheet"; //创建文件 if(!objFile.exists()){ //文件不存在 //创建新的Excel 工作簿 workbook = new HSSFWorkbook(); //在Excel工作簿中建一工作表,其名为缺省值 sheet = workbook.createSheet(table_name); row = sheet.createRow((short)0); cell = row.createCell((short)0); cell.setCellValue("扫描件id"); row = sheet.createRow((short)0); cell = row.createCell((short)1); cell.setCellValue("是否入库"); for(int i=1;i<5;i++){ for(int j=0;j<2;j++){ row = sheet.createRow((short)i); cell = row.createCell((short)j); cell.setCellType(HSSFCell.CELL_TYPE_STRING); //指定编码格式 cell.setEncoding(HSSFCell.ENCODING_UTF_16); if(j==0){ cell.setCellValue(i); }else{ cell.setCellValue("bb"); } } } }else{ workbook = new HSSFWorkbook(new FileInputStream(outputFile)); sheet = workbook.getSheet(table_name); //这儿,你可以测试读出一个已存在文件 //HSSFRow row = sheet.getRow(i); //HSSFCell cell = row.getCell((short)j); //输出单元内容,cell.getStringCellValue()就是取所在单元的值 //System.out.println("左上端单元是: " + cell.getStringCellValue()); for(int i=5;i<9;i++){ for(int j=0;j<2;j++){ row = sheet.createRow((short)i); cell = row.createCell((short)j); if(j==0){ cell.setCellValue(i); }else{ cell.setCellValue("bb"); } } } } FileOutputStream fOut = new FileOutputStream(outputFile); //把相应的Excel 工作簿存盘 workbook.write(fOut); fOut.flush(); // 操作结束,关闭文件 fOut.close(); }catch (Exception e) { System.out.println(e.getMessage()); } } }