JAVA读、写EXCEL文件

来源:互联网 发布:java 反射获取方法 编辑:程序博客网 时间:2024/05/22 05:13

采用jxl.jar包,网上下载,百度一下到出都是。希望可以帮助到大家。


接下来直接贴代码:

<span style="font-size:18px;">
public List getValue(String fileName){    String str=ExcelOparations.readExcel(fileName).trim();        String[] str4n= str.split("\n");        List list1 = new ArrayList();        List list2 = null;        for(int i=0;i<=str4n.length-1;i++){        String[] str4t= str4n[i].trim().split("\t");        list2 = new ArrayList();        for(int j=0;j<=str4t.length-1;j++){                        if(str4t[j]!=null && !str4t[j].equals("")){              System.out.println("------------"+str4t[j]);            list2.add(str4t[j]);            }            }        list1.add(list2);                }        return list1;    }        /**      * 从excel文件中读取所有的內容      *       * @param file      *            excel文件      * @return excel文件的內容      */      public static String readExcel(String fileName) {              StringBuffer sb = new StringBuffer();          Workbook wb = null;          try {              // 构造Workbook(工作薄)对象              wb = Workbook.getWorkbook(new File(fileName));          } catch (BiffException e) {              e.printStackTrace();          } catch (IOException e) {              e.printStackTrace();          }            if (wb == null)              return null;            // 获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了          Sheet[] sheet = wb.getSheets();            if (sheet != null && sheet.length > 0) {              // 对每个工作表进行循环              for (int i = 0; i < sheet.length; i++) {                  // 得到当前工作表的行数                  int rowNum = sheet[i].getRows();                                 for (int j = 0; j < rowNum; j++) {                      // 得到当前行的所有单元格                      Cell[] cells = sheet[i].getRow(j);                                                          if (cells != null && cells.length > 0) {                          // 对每个单元格进行循环                          for (int k = 0; k < cells.length; k++) {                              // 读取当前单元格的值                              String cellValue = cells[k].getContents();                                                        sb.append(cellValue + "\t");                          }                      }                                         sb.append("\r\n");                  }                                sb.append("\r\n");              }          }          // 最后关闭资源,释放内存          wb.close();          return sb.toString();             }        /**      * 把內容寫入excel文件中      *       * @param fileName      *            要寫入的文件的名稱      */      public static void writeExcel(String fileName) {          WritableWorkbook wwb = null;          try {              // 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象              wwb = Workbook.createWorkbook(new File(fileName));          } catch (IOException e) {              e.printStackTrace();          }          if (wwb != null) {              // 创建一个可写入的工作表              // Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置              WritableSheet ws = wwb.createSheet("sheet1", 0);                // 下面开始添加单元格              for (int i = 0; i < 10; i++) {                  for (int j = 0; j < 5; j++) {                      // 这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行                      Label labelC = new Label(j, i, "这是第" + (i + 1) + "行,第"                              + (j + 1) + "列");                      try {                          // 将生成的单元格添加到工作表中                          ws.addCell(labelC);                      } catch (RowsExceededException e) {                          e.printStackTrace();                      } catch (WriteException e) {                          e.printStackTrace();                      }                    }              }                try {                  // 从内存中写入文件中                  wwb.write();                  // 关闭资源,释放内存                  wwb.close();              } catch (IOException e) {                  e.printStackTrace();              } catch (WriteException e) {                  e.printStackTrace();              }          }      }  </span>


2 0
原创粉丝点击