<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 閱讀(217) 評論(0)  編輯  收藏 所屬分類: java小程序
    主站蜘蛛池模板: 一个人免费高清在线观看| 国产精品爱啪在线线免费观看| 性做久久久久免费看| 亚洲中文字幕无码久久| 免费黄色一级毛片| 亚洲中文字幕成人在线| 久久久久亚洲av无码专区导航 | 在线永久看片免费的视频| 综合自拍亚洲综合图不卡区| 午夜爽爽爽男女免费观看影院| 亚洲av午夜成人片精品网站| 日韩在线不卡免费视频一区| 亚洲精品亚洲人成在线观看下载| 无套内射无矿码免费看黄| 中文字幕免费视频一| 亚洲国产精品yw在线观看| 在线观看的免费网站| 亚洲av永久中文无码精品| 精品在线免费观看| 18gay台湾男同亚洲男同| 在线观看AV片永久免费| 亚洲日韩在线中文字幕综合| 亚洲中文字幕丝袜制服一区| 久艹视频在线免费观看| 亚洲国产成人99精品激情在线| 国产福利免费在线观看| 国产va免费精品| mm1313亚洲精品无码又大又粗| 亚洲另类视频在线观看| 日韩免费一区二区三区| 久久久久久久久久免免费精品 | 疯狂做受xxxx高潮视频免费| 亚洲精品无码Av人在线观看国产| 亚洲gay片在线gv网站| 久久精品夜色噜噜亚洲A∨| 亚洲av无码专区在线观看亚| 成年人性生活免费视频| 一本一道dvd在线观看免费视频| 人人狠狠综合久久亚洲高清| 精品四虎免费观看国产高清午夜| 激情内射亚洲一区二区三区爱妻|