• JXl常用解析详解


    目的:

    java解析 excel 无非就是apache poi 或者 jxl 两者在使用上其实都差不多,关键还是看你自己熟悉那个,用那个!我也是初次接触jxl 看很多博客说 jxl只适用于处理小数据量 excel,或者说是功能比较单一的,实际上我看了jxl的包,发现其实用

    好了,功能还是很强大的。

    需要了解:支持 Reads data from Excel 95, 97, 2000, XP, and 2003 workbooks

    jxl.read.biff.BiffException: Unable to recognize OLE stream  出现这个错误就是excel 2007格式不符合引起的

    官网:http://jexcelapi.sourceforge.net/

    java doc: http://jxl.sourceforge.net/javadoc/index.html

    依赖管理:

    <dependency>
        <groupId>net.sourceforge.jexcelapi</groupId>
        <artifactId>jxl</artifactId>
        <version>2.6.12</version>
    </dependency>

    UML大纲:

    创建简单的excel:

     1 @Test
     2     public void testCreateExcel() {
     3         try {
     4             // 创建xls文件
     5             file.createNewFile();
     6             // 2:创建工作簿
     7             WritableWorkbook workbook = Workbook.createWorkbook(file);
     8 
     9             // 3:创建sheet,设置第二三四..个sheet,依次类推即可
    10             WritableSheet sheet = workbook.createSheet("测试", 0);
    11             // 4:设置titles
    12             String[] titles = { "编号", "账号"};
    13             // 5:给第一行设置列名
    14             for (int i = 0; i < titles.length; i++) {
    15                 sheet.addCell(new Label(i, 0, titles[i]));
    16             }
    17             sheet.setHeader("aa", "cc", "cc");
    18             // 6:模拟数据库导入数据 注意起始行为1
    19             for (int i = 1; i < 100; i++) {
    20                 //添加编号
    21                 sheet.addCell(new Label(0, i, new String("编号"+i)));
    22                 //添加密码
    23                 sheet.addCell(new Label(1, i, new String("编号"+i)));
    24             }
    25             workbook.write();
    26             workbook.close();
    27         } catch (IOException e) {
    28             e.printStackTrace();
    29         } catch (RowsExceededException e) {
    30             e.printStackTrace();
    31         } catch (WriteException e) {
    32             e.printStackTrace();
    33         }
    34     }

     效果:

     

     

    简单读取Excel:

     1 @Test
     2     public void testCreateExcel() {
     3         try {
     4             //1:创建workbook
     5             Workbook workbook = Workbook.getWorkbook(file);
     6             //2:获取第一个工作表sheet
     7             Sheet sheet = workbook.getSheet(0);
     8              //3:读取数据
     9             System.out.println(sheet.getColumns());
    10             System.out.println(sheet.getRows());
    11             //4.自己注意行列关系
    12             for (int i = 0; i < sheet.getRows(); i++) {
    13                 for (int j = 0; j < sheet.getColumns(); j++) {
    14                     Cell cell = sheet.getCell(j, i);
    15                     System.out.println(cell.getContents());
    16                 }
    17             }
    18         } catch (BiffException | IOException e) {
    19             e.printStackTrace();
    20         }
    21     }

  • 相关阅读:
    每日一练之动态算法
    001之IP基础对话框
    mysql的一些操作
    logcat 提示 Unable to open log device '/dev/log/main': No such file or directory
    之前接触过的测试的相关工具
    SAP内存、ABAP内存
    模块化程序—函数 function
    模块化程序-子例程
    模块化程序-宏
    传输请求的管理
  • 原文地址:https://www.cnblogs.com/dgwblog/p/9368700.html
Copyright © 2020-2023  润新知