package mobvista.prd.datasource.table; import com.google.common.collect.Lists; import com.google.common.collect.Maps; 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.util.regex.Matcher; import java.util.regex.Pattern; import java.io.*; import java.util.List; import java.util.Map; /** * Created by Administrator on 2017/3/27 0027. */ public class ReadDspAppXls { public static void main(String[] args) throws IOException { List<String> list = Lists.newArrayList(); Map<String,Map<String,String>> map = Maps.newHashMap(); BufferedInputStream binput = new BufferedInputStream(new FileInputStream(new File("./dspApp.xls"))); //创建xls读取对象 HSSFWorkbook wb = new HSSFWorkbook(binput); for (int z = 0; z < 24; z++) { HSSFSheet sheet = wb.getSheetAt(z); //循环读取行 Map<String,String> pakMap = Maps.newHashMap(); String country = ""; for (int i = sheet.getFirstRowNum() + 1, size = sheet.getLastRowNum(); i <= size; i++) { HSSFRow row = sheet.getRow(i); //循环读列 String appName = ""; HSSFCell packageName= null; String content = ""; String platform = ""; if (row != null) { for (int j = row.getFirstCellNum(), k = row.getLastCellNum(); j < k; j++) { if (j == 0) { country = row.getCell(j).toString().trim(); } if (j == 1) { appName = row.getCell(j).toString().trim(); } else if (j == 2) { packageName = row.getCell(j); if (packageName != null) { packageName.setCellType(HSSFCell.CELL_TYPE_STRING); content = packageName.getStringCellValue();//此时content的数值为 } } else if (j == 3) { if (row.getCell(j) != null) { platform = row.getCell(j).toString().trim(); } } } if (!pakMap.containsKey(content)) { pakMap.put(content, appName+"\t"+platform); } } } map.put(country,pakMap); } for (Map.Entry<String, Map<String,String>> country : map.entrySet()) { for (Map.Entry<String,String> app : country.getValue().entrySet()) { StringBuilder line = new StringBuilder(); line.append(country.getKey()); line.append("\t"); line.append(app.getValue()); line.append("\t"); line.append(app.getKey()); WriteFile("./dspApp.txt", line.toString()); WriteFile("./dspApp.txt", "\n"); } } } public static void WriteFile(String path, String content) throws IOException { FileWriter fw = new FileWriter(path, true); fw.write(content); fw.close();//关闭文件 } }