用POI读取Excel表格中的值并存储为TXT文件
2015-09-19 09:35
495 查看
package Service; 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 java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; //可参见 http://baike.baidu.com/link?url=y-NVwByyOWsjM6guyVO1912JDDQMxRGXj2BsC_0Lf_1mgh87ON7ybwY_Pv2eEtUj9LqafB9IJ_l_Ha80b0BiaM9RYfTMCMSb5rFIoCuHkMC public class Test1 { //读入excel的文件 public static String inputFile = "tableH.1.xls"; //写入到指定的txt中 public static String outputFile = "tableH.1.txt"; //开始的行号 public static int startRowNumber = 1; //选取的列号 public static int[] selectColNumber = {0, 1, 2, 3, 4}; public static void main(String[] args) throws IOException { File f = new File(inputFile); FileWriter fw = new FileWriter(outputFile); //写入标题 fw.write("表F. 1人工造林措施数据代码表\r\n\r\n"); try { FileInputStream is = new FileInputStream(f); HSSFWorkbook wbs = new HSSFWorkbook(is); HSSFSheet childSheet = wbs.getSheetAt(0); // System.out.println(childSheet.getPhysicalNumberOfRows()); System.out.println("有行数" + childSheet.getLastRowNum()); //当需要读取最后一行时j <= childSheet.getLastRowNum();否则< for (int j = 0; j <= childSheet.getLastRowNum(); j++) { HSSFRow row = childSheet.getRow(j); // System.out.println(row.getPhysicalNumberOfCells()); // System.out.println("有列数" + row.getLastCellNum()); if (null != row && j > startRowNumber) { for (int k = 0; k < row.getLastCellNum(); k++) { HSSFCell cell = row.getCell(k); //System.out.println("******"+k); if (null != cell && k == selectColNumber[k]) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC: // 数字 System.out.print(cell.getNumericCellValue() + " "); fw.write(cell.getNumericCellValue() + "\r\n"); break; case HSSFCell.CELL_TYPE_STRING: // 字符串 System.out.print(cell.getStringCellValue() + " "); fw.write(cell.getStringCellValue() + "\r\n"); break; case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean System.out.println(cell.getBooleanCellValue() + " "); fw.write(cell.getBooleanCellValue() + "\r\n"); break; case HSSFCell.CELL_TYPE_FORMULA: // 公式 System.out.print(cell.getCellFormula() + " "); fw.write(cell.getCellFormula() + "\r\n"); break; case HSSFCell.CELL_TYPE_BLANK: // 空值 System.out.println(" "); fw.write(" " + "\r\n"); break; case HSSFCell.CELL_TYPE_ERROR: // 故障 System.out.println(" "); fw.write(" " + "\r\n"); break; default: System.out.print("未知类型 "); break; } } else { System.out.print("- "); } } } System.out.println(); } } catch (Exception e) { e.printStackTrace(); } finally { fw.flush(); fw.close(); } } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 使用Python生成Excel格式的图片
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树