重庆八大员证书查询网站,wordpress 短视频,网站如何从行为数据进行优化,二级网站的建设方案在上一篇博客《从复杂到简单#xff0c;大道至简》中说道我们要把复杂的问题简单化#xff0c;也就是要把问题细分#xff0c;让大问题变成小问题#xff0c;这样解决起来会相对容易#xff0c;当我们把容易的小问题解决掉了#xff0c;大问题自动就会迎刃而解。 所以今天…在上一篇博客《从复杂到简单大道至简》中说道我们要把复杂的问题简单化也就是要把问题细分让大问题变成小问题这样解决起来会相对容易当我们把容易的小问题解决掉了大问题自动就会迎刃而解。 所以今天这篇博客是继续那个主体来说因为权限管理项目里面涉及到了批量导入的功能我的上篇博客也对这个功能业务单元细分了几个小问题其中一个就是要会利用jxl包中的类来读取excel中的数据 所以今天就说说如果利用这个包中的类来读取excel的数据。当把我下面说的几个方法学会了之后我想读取excel数据是非常简单的。 先说一下jxl包它是通过java操作excel表格的工具类库并不依赖windows系统平台。 这里我仅仅介绍一下jxl这个包中的几个比较重要的类因为会了这几个我感觉一般的问题就能够解决如果还想继续深入的话可以下载jxl.jar并且进行深入研究写几个DEMO就能够掌握。 先说一下Workbook类提供的方法 1.intgetNumberOfSheets();获得工作薄Workbook中工作表Sheet的个数示例 [java] view plaincopyprint? jxl.Workbook rwb jxl.Workbook.getWorkbook(new File(D:/user.xls)); jxl.Workbook rwb jxl.Workbook.getWorkbook(new File(D:/user.xls)); [java] view plaincopyprint? int sheets rwb.getNumberOfSheets(); int sheets rwb.getNumberOfSheets(); 2.Sheet[]getSheets();返回工作薄Workbook中工作表Sheet对象数组示例 [java] view plaincopyprint? jxl.Workbook rwb2 jxl.Workbook.getWorkbook(new File(D:/user.xls)); jxl.Workbook rwb2 jxl.Workbook.getWorkbook(new File(D:/user.xls)); [java] view plaincopyprint? Sheet[] sheets2 (Sheet[]) rwb2.getSheets(); Sheet[] sheets2 (Sheet[]) rwb2.getSheets(); 3.StringgetVersion();返回正在使用的API的版本号好像是没什么太大的作用。示例 [java] view plaincopyprint? jxl.Workbook rwb3 jxl.Workbook.getWorkbook(new File(D:/user.xls)); jxl.Workbook rwb3 jxl.Workbook.getWorkbook(new File(D:/user.xls)); [java] view plaincopyprint? String apiVersion rwb3.getVersion(); String apiVersion rwb3.getVersion(); 在说一下Sheet接口提供的方法 1. StringgetName();获取Sheet的名称示例 [java] view plaincopyprint? jxl.Workbook rwb4 jxl.Workbook.getWorkbook(new File(D:/user.xls)); jxl.Workbook rwb4 jxl.Workbook.getWorkbook(new File(D:/user.xls)); [java] view plaincopyprint? jxl.Sheet rs rwb4.getSheet(0); jxl.Sheet rs rwb4.getSheet(0); [java] view plaincopyprint? String sheetName rs.getName(); String sheetName rs.getName(); 2.intgetColumns();获取Sheet表中所包含的总列数示例 [java] view plaincopyprint? jxl.Workbook rwb5 jxl.Workbook.getWorkbook(new File(D:/user.xls)); jxl.Workbook rwb5 jxl.Workbook.getWorkbook(new File(D:/user.xls)); [java] view plaincopyprint? jxl.Sheet rs2 rwb5.getSheet(0); jxl.Sheet rs2 rwb5.getSheet(0); [java] view plaincopyprint? int rsColumns rs2.getColumns(); int rsColumns rs2.getColumns(); 3.Cell[]getColumn(int column)获取某一列的所有单元格返回的是单元格对象数组示例 [java] view plaincopyprint? jxl.Workbook rwb6 jxl.Workbook.getWorkbook(new File(D:/user.xls)); jxl.Workbook rwb6 jxl.Workbook.getWorkbook(new File(D:/user.xls)); [java] view plaincopyprint? jxl.Sheet rs3 rwb6.getSheet(0); jxl.Sheet rs3 rwb6.getSheet(0); [java] view plaincopyprint? Cell[] cell rs3.getColumn(0); Cell[] cell rs3.getColumn(0); 4.intgetRows()获取Sheet表中所包含的总行数示例 [java] view plaincopyprint? jxl.Workbook rwb7 jxl.Workbook.getWorkbook(new File(D:/user.xls)); jxl.Workbook rwb7 jxl.Workbook.getWorkbook(new File(D:/user.xls)); [java] view plaincopyprint? jxl.Sheet rs4 rwb7.getSheet(0); jxl.Sheet rs4 rwb7.getSheet(0); [java] view plaincopyprint? int rsRows rs4.getRows(); int rsRows rs4.getRows(); 5.Cell[]getRow(int row)获取某一行的所有单元格返回的是单元格对象数组示例子 [java] view plaincopyprint? jxl.Workbook rwb8 jxl.Workbook.getWorkbook(newFile(D:/user.xls)); jxl.Workbook rwb8 jxl.Workbook.getWorkbook(newFile(D:/user.xls)); [java] view plaincopyprint? jxl.Sheet rs5 rwb8.getSheet(0); jxl.Sheet rs5 rwb8.getSheet(0); [java] view plaincopyprint? Cell[] cell5 rs5.getRow(0); Cell[] cell5 rs5.getRow(0); 6.CellgetCell(int column, int row)获取指定单元格的对象引用需要注意的是它的两个参数第一个是列数第二个是行数示例 [java] view plaincopyprint? jxl.Workbook rwb9 jxl.Workbook.getWorkbook(new File(D:/user.xls)); jxl.Workbook rwb9 jxl.Workbook.getWorkbook(new File(D:/user.xls)); [java] view plaincopyprint? jxl.Sheet rs6 rwb9.getSheet(0); jxl.Sheet rs6 rwb9.getSheet(0); [java] view plaincopyprint? Cell cell6 rs6.getCell(0, 0); Cell cell6 rs6.getCell(0, 0); 有了这些知识之后我们可以做一个简单的demo经过这个demo之后那么我们就知道怎么用java读取excel表中的数据了。 Demo--代码 [java] view plaincopyprint? public class aaa { public static void main(String [] args){ InputStream is; try { is new FileInputStream(C:/Users/CJQ/Desktop/页面模版.xls); jxl.Workbook rwb Workbook.getWorkbook(is); Sheet rsModulerwb.getSheet(1); int [] orders new int[rsModule.getRows()-1]; for(int rsModuleIndex1;rsModuleIndexrsModule.getRows();rsModuleIndex){ Cell[] cellModule rsModule.getRow(rsModuleIndex); orders[rsModuleIndex-1]Integer.parseInt(cellModule[3].getContents()); } for(int i0;iorders.length;i){ System.out.println(orders[i]); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (BiffException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public class aaa { public static void main(String [] args){ InputStream is; try { is new FileInputStream(C:/Users/CJQ/Desktop/页面模版.xls); jxl.Workbook rwb Workbook.getWorkbook(is); Sheet rsModulerwb.getSheet(1); int [] orders new int[rsModule.getRows()-1]; for(int rsModuleIndex1;rsModuleIndexrsModule.getRows();rsModuleIndex){ Cell[] cellModule rsModule.getRow(rsModuleIndex); orders[rsModuleIndex-1]Integer.parseInt(cellModule[3].getContents()); } for(int i0;iorders.length;i){ System.out.println(orders[i]); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (BiffException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } Demo--excel表单 Demo--运行结果截图 通过这篇博客的讲解我感觉java读取excel表的问题迎刃而解了这个问题解决了那个批量导入的功能也就解决了一部分小问题等待其他小问题解决了之后整个的批量导入的功能也就迎刃而解了。大道至简运用到实践中。转载于:https://www.cnblogs.com/javaTest/archive/2012/06/14/2589571.html