zoukankan      html  css  js  c++  java
  • 利用jxl读取excel合并的单元格的一个小例子

     

    工作中我们可能要把Excel文件的记录保存到数据库,

    今天我用jxl 读取Excel文件时遇到了合并格的问题,记录如下:

    如Excel文件如下:

    读取出来的记录为:

    由上图可以看出,合并的单元格只有第一次输出了,这样的话,在保存数据

    到数据库时就会有数据遗漏,所以做了一定的改造,代码如下:

    package temp;
    
    import java.io.File;
    import java.io.IOException;
    
    import jxl.Range;
    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;
    
    public class SimpleExcelRead {
      public void readExcel(File file) throws BiffException, IOException {
        Workbook wb = Workbook.getWorkbook(file);// 从文件流中取得Excel工作区对象
        Sheet sheet = wb.getSheet(0);
    
        System.out.println(file.getName());
        System.out.println("第一个sheet的名称为:" + sheet.getName());
        System.out.println("第一个sheet共有:" + sheet.getRows() + "行"
            + sheet.getColumns() + "列");
        System.out.println("具体内容如下:");
        Range[] rangeCell = sheet.getMergedCells();
    
        for (int i = 0; i < sheet.getRows(); i++) {
          for (int j = 0; j < sheet.getColumns(); j++) {
            String str = null;
            str = sheet.getCell(j, i).getContents();
            for (Range r : rangeCell) {
              if (i > r.getTopLeft().getRow()
                  && i <= r.getBottomRight().getRow()
                  && j >= r.getTopLeft().getColumn()
                  && j <= r.getBottomRight().getColumn()) {
                str = sheet.getCell(r.getTopLeft().getColumn(),
                    r.getTopLeft().getRow()).getContents();
              }
            }
            System.out.print(str + "	");
          }
          System.out.println();
        }
        wb.close();
      }
    
      public static void main(String[] args) throws BiffException, IOException {
        SimpleExcelRead sr = new SimpleExcelRead();
        File file = new File("test.xls");
        sr.readExcel(file);
      }
    
    }

    输出结果如下:

    这样保存数据时,就不会遗漏数据了。

  • 相关阅读:
    700. Search in a Binary Search Tree
    100. Same Tree
    543. Diameter of Binary Tree
    257. Binary Tree Paths
    572. Subtree of Another Tree
    226. Invert Binary Tree
    104. Maximum Depth of Binary Tree
    1、解决sublime打开文档,出现中文乱码问题
    移植seetafaceengine-master、opencv到ARM板
    ubuntu16.04-交叉编译-SeetaFaceEngine-master
  • 原文地址:https://www.cnblogs.com/zlfly/p/4770961.html
Copyright © 2011-2022 走看看