<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    march alex's blog
    hello,I am march alex
    posts - 52,comments - 7,trackbacks - 0
    運行此程序需要添加一個jar包下載地址
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.text.DecimalFormat;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Date;
    import java.util.List;



    import java.util.StringTokenizer;
     






    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFDateUtil;
    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 ExcelToFile {
        public static void main(String[] args) throws Exception {
            solve("D:\\input.xls", "D:\\output.txt");
            System.out.println("finished!");
        }
        
        private static String readFile(String filename) throws Exception {
            BufferedReader reader = new BufferedReader(new FileReader(filename));
            String ans = "", line = null;
            while ((line = reader.readLine()) != null) {
                ans += line + "\r\n";
            }
            reader.close();
            return ans;
        }
        
        private static void writeFile(String content, String filename)
                throws Exception {
            BufferedWriter writer = new BufferedWriter(new FileWriter(filename));
            writer.write(content);
            writer.flush();
            writer.close();
        }

        private static void solve(String xls_name, String outfile) throws Exception {

            String ans = "";
            File file = new File(xls_name);
            String[][] result = getData(file, 2);
            int rowLength = result.length;

            for(int i=0;i<rowLength;i++) {   
               for(int j=0;j<result[i].length;j++) {
                  ans += result[i][j]+" ";
               }
               ans += "\r\n";
            }
            writeFile(ans, outfile);
        }

        /**
         * 讀取Excel的內容,第一維數組存儲的是一行中格列的值,二維數組存儲的是多少個行
         * 
    @param file 讀取數據的源Excel
         * 
    @param ignoreRows 讀取數據忽略的行數,比喻行頭不需要讀入 忽略的行數為1
         * 
    @return 讀出的Excel中數據的內容
         * 
    @throws FileNotFoundException
         * 
    @throws IOException
         
    */

        public static String[][] getData(File file, int ignoreRows)
               throws FileNotFoundException, IOException {
           List<String[]> result = new ArrayList<String[]>();
           int rowSize = 0;
           BufferedInputStream in = new BufferedInputStream(new FileInputStream(
                  file));
           // 打開HSSFWorkbook
           POIFSFileSystem fs = new POIFSFileSystem(in);
           HSSFWorkbook wb = new HSSFWorkbook(fs);
           HSSFCell cell = null;
           for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) {
               HSSFSheet st = wb.getSheetAt(sheetIndex);
               // 第一行為標題,不取
               for (int rowIndex = ignoreRows; rowIndex <= st.getLastRowNum(); rowIndex++) {
                  HSSFRow row = st.getRow(rowIndex);
                  if (row == null) {
                      continue;
                  }
                  int tempRowSize = row.getLastCellNum() + 1;
                  if (tempRowSize > rowSize) {
                      rowSize = tempRowSize;
                  }
                  String[] values = new String[rowSize];
                  Arrays.fill(values, "");
                  boolean hasValue = false;
                  for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex++) {
                      String value = "";
                      cell = row.getCell(columnIndex);
                      if (cell != null) {
                         // 注意:一定要設成這個,否則可能會出現亂碼
                         cell.setEncoding(HSSFCell.ENCODING_UTF_16);
                         switch (cell.getCellType()) {
                         case HSSFCell.CELL_TYPE_STRING:
                             value = cell.getStringCellValue();
                             break;
                         case HSSFCell.CELL_TYPE_NUMERIC:
                             value = String.format("%.2f", cell.getNumericCellValue());
                             if (HSSFDateUtil.isCellDateFormatted(cell)) {
                                 Date date = cell.getDateCellValue();
                                 if (date != null) {
                                     value = new SimpleDateFormat("yyyy-MM-dd")
                                           .format(date);
                                } else {
                                    value = "";
                                }
                             } else {
                                value = new DecimalFormat("0").format(cell
                                       .getNumericCellValue());
                             }
                             break;
                         case HSSFCell.CELL_TYPE_FORMULA:
                             // 導入時如果為公式生成的數據則無值
                             if (!cell.getStringCellValue().equals("")) {
                                value = cell.getStringCellValue();
                             } else {
                                value = cell.getNumericCellValue() + "";
                             }
                             break;
                         case HSSFCell.CELL_TYPE_BLANK:
                             break;
                         case HSSFCell.CELL_TYPE_ERROR:
                             value = "";
                             break;
                         case HSSFCell.CELL_TYPE_BOOLEAN:
                             value = (cell.getBooleanCellValue() == true ? "Y"
                                    : "N");
                             break;
                         default:
                             value = "";
                         }
                      }
                      if (columnIndex == 0 && value.trim().equals("")) {
                         break;
                      }
                      values[columnIndex] = value.trim();
                      hasValue = true;
                  }
                  if (hasValue) {
                      result.add(values);
                  }
               }
           }
           in.close();
           String[][] returnArray = new String[result.size()][rowSize];
           for (int i = 0; i < returnArray.length; i++) {
               returnArray[i] = (String[]) result.get(i);
           }
           return returnArray;
        }

    }
    posted on 2015-04-15 21:57 marchalex 閱讀(218) 評論(0)  編輯  收藏 所屬分類: java小程序
    主站蜘蛛池模板: 亚洲一线产区二线产区区| 亚洲人成7777影视在线观看| 色屁屁www影院免费观看视频| 99精品国产免费久久久久久下载 | 曰批全过程免费视频观看免费软件| 色窝窝免费一区二区三区| 亚洲一级毛片免费在线观看| 亚洲免费电影网站| 亚洲无圣光一区二区| 成人免费毛片内射美女-百度| 亚洲综合中文字幕无线码| 成人性生交视频免费观看| 亚洲乱妇熟女爽到高潮的片| 国产成人在线观看免费网站| 老司机午夜性生免费福利 | 国产一级高清免费观看| 黄色免费在线观看网址| 亚洲性猛交XXXX| 99re热精品视频国产免费| 国产成人精品日本亚洲专一区| 最近最好的中文字幕2019免费| 国产成人综合亚洲| 久久久久久久亚洲精品| 99精品视频在线免费观看| 亚洲一区二区三区在线| 国产a级特黄的片子视频免费| 日亚毛片免费乱码不卡一区| 亚洲嫩草影院久久精品| 在线视频免费观看www动漫| 久久精品免费大片国产大片| 久久久久亚洲AV无码永不| 成人免费视频试看120秒| 久草免费福利在线| 久久久久精品国产亚洲AV无码| 国产成人免费a在线视频app| a级毛片视频免费观看| 亚洲中文字幕无码亚洲成A人片| 亚洲国产一级在线观看| 日本XXX黄区免费看| 特a级免费高清黄色片 | 免费日本黄色网址|