读取excle 文件

来源:互联网 发布:温湿度软件 编辑:程序博客网 时间:2024/06/05 11:16

所需的jar包:jxl.jar

操作的基本方法:

  1.  File file = new File(fileName); // 创建文件对象  
  2.             Workbook wb = Workbook.getWorkbook(file); // 从文件流中获取Excel工作区对象(WorkBook)  
  3.             Sheet sheet = wb.getSheet(0); // 从工作区中取得页(Sheet)  
  4.               
  5.             for (int i = 0; i < sheet.getRows(); i++) { // 循环打印Excel表中的内容  
  6.                 for (int j = 0; j < sheet.getColumns(); j++) {  
  7.                     Cell cell = sheet.getCell(j, i);  
  8.                     System.out.println(cell.getContents());  
  9.                 }  
  10.                 System.out.println();  
  11.             }  

类:File Workbook Sheet Cell

WritableWorkbook wwb1 = Workbook.createWorkbook(file);
WritableSheet 创建一个Sheet 可以存放数据,可以设置默认的高度和宽度(可以合并表格以及其他相关的表格操作)

WritableFont 创建字体,是一个字体容器,存放多个有关字体的属性 类似的有:NumberFormat  DateFormat

WritableCellFormat cell 字段的书写类(使用字体类作为参数构建),可以设置对齐方式以及,自动换行setAlignment(jxl.format.Alignment.LEFT);setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);setWrap(true);

Label 添加数据

将Label 添加到Sheet中,使用addCell 方法。

还有单独对于时间。数字等格式的write,DateTime  Label   Boolean  Number,WritableImage等 Format相关类,是对这些的一个修饰(装饰模型?)

 

* 【WorkbookParser/Workbook】类:
 * WorkbookParser.getWorkbook(InputStream 对象):创建一个WorkbookParser对象
 * getSheets():返回工作薄(Workbook)中工作表(Sheet)对象数组
 * getSheet(int i):获得指定的sheet对象,i从0开始
 * getNumberOfSheets():获得工作薄中工作表sheet的个数
 *
 * 【WritableWorkbook】类:创建可写入的工作簿对象
 * Workbook.createWorkbook(File对象):创建一个WritableWorkbook对象
 * createSheet(String arg0,int arg1):arg0,sheet的名称,arg1表示第几个sheet,下标从0开始
 *
 * 【Sheet】类:
 * getName():获得sheet的名称
 * getColumns(0):获取某一列所有的单元格

注意:Cell   getCell(列,行)

同时:可以使用JDBC来读取表格数据:

  Connection conn = null;
6 PreparedStatement psmt = null;
7 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
8 conn = DriverManager
9 .getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ="
10 + path);
11 String sql = "SELECT * FROM [Sheet1$]";//注意这里的名称要和excle的sheet1的名称对应
12 psmt = conn.prepareStatement(sql);
13 ResultSet rs = psmt.executeQuery();

      KeyBean key = new KeyBean();//定义的一个pojo对象,对应表中的列
18 key.setCol1(rs.getString(1));
19 key.setCol2(rs.getString(2));


 

 

 

 

 

 

 

0 0