博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA读、写EXCEL文件
阅读量:7123 次
发布时间:2019-06-28

本文共 4013 字,大约阅读时间需要 13 分钟。

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

接下来直接贴代码:

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();              }          }      }  

转载地址:http://itxel.baihongyu.com/

你可能感兴趣的文章
啥是JSONP---转
查看>>
JPA注解记录
查看>>
调试U-Boot笔记(四)
查看>>
读完这100篇论文 就能成大数据高手
查看>>
overflow:scroll 在 iOS上滑动不流畅问题解决办法
查看>>
db2 数据库基本操作
查看>>
JSONObject与JSONArray的使用(详细)
查看>>
Nginx+Tomcat动静分离及Nginx优化
查看>>
heroku全体验
查看>>
MySQL高级查询
查看>>
安装Oracle,Enterprise Manger配置失败
查看>>
zuul源码分析--Filter注册
查看>>
jquery mobile + sae开发手记
查看>>
利用函数的惰性载入提高 javascript 代码性能
查看>>
PHP乱码
查看>>
iOS label中间加横线的实现
查看>>
golang调用ping命令出现too many open files
查看>>
【批处理】批处理中的一些特殊技巧汇总(2015-6-26)
查看>>
js从前端访问到springMVC后台处理返回页面的过程
查看>>
课程第七天内容《基础交换七》
查看>>