Excel轉Txt文件

    public static boolean excelToTxt(String xlsFile, String txtFile) {

      BufferedWriter bw = null;
        try {        
         System.out.println("********************開始" + xlsFile + "轉爲" + txtFile + "********************");
            Pattern pattern = Pattern.compile("\\s*|\t|\r|\n");    
            File f = new File(xlsFile);
            String fName = f.getName();
            Workbook workbook = Workbook.getWorkbook(f);
            Sheet sheet = workbook.getSheet(0);
            bw = new BufferedWriter (new OutputStreamWriter(new FileOutputStream(txtFile), "UTF-8"));
            int j = sheet.getRows();
            int y = sheet.getColumns();
            int k = 0;
            for (k=0;k<y;k++){
                Cell cell = sheet.getCell(k, 0);
                if(StringUtils.isBlank(cell.getContents())) break;
            }
         for (int i = 1; i < j; i++) {
                StringBuilder str = new StringBuilder();
                for (int x = 0; x < k; x++) {
                    Cell cell = sheet.getCell(x, i);
                    if(x==0&&StringUtils.isBlank(cell.getContents())) break;
                    if(cell.getType()==CellType.DATE){                        
                        DateCell dCell = (DateCell) cell;            
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");    
                        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));  
                        str.append(sdf.format(dCell.getDate()));
                    }else{
                        str.append(cell.getContents().replace(",", "").replace("null", "").replace("%", ""));
                    }
            
                }   

         if(StringUtils.isNotBlank(str.toString())){    
                    Matcher matcher = pattern.matcher(str.toString());                    
                    bw.write(matcher.replaceAll(""));
                    bw.flush();
                    bw.newLine();
                    bw.flush();
                }

}    if(StringUtils.isNotBlank(str.toString())){    
                    Matcher matcher = pattern.matcher(str.toString());                    
                    bw.write(matcher.replaceAll(""));
                    bw.flush();
                    bw.newLine();
                    bw.flush();
                }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章