zoukankan      html  css  js  c++  java
  • JXLjava读取 和 修改 Excel文件

    读取:

    public static void main(String[] args) throws Exception{
        String filePath = "d:\\test.xls";
        Workbook book = Workbook.getWorkbook(new File(filePath));
        //获得第一个工作表对象
        Sheet sheet = book.getSheet(0);
        //得到第一列 第二行的单元格
        Cell cell1 = sheet.getCell(0, 1);
        String result  = cell1.getContents();
        System.out.println(result);
        book.close();
     }

    操作修改:

    public class JXLModify {
       public static void main(String[] args) throws Exception
       {
          //获得Excel文件
          String filePath = "d:\\test.xls";
          Workbook wb = Workbook.getWorkbook(new File(filePath));
      
          //打开一个文件的副本,并且制定数据写回到源文件
      注意这里的第二个参数,是上面获得的Excel参数    
          WritableWorkbook book = Workbook.createWorkbook(new File(filePath),wb );
            

        //获得第一个表
          WritableSheet oldSheet = book.getSheet(0);
          Label l = new Label(0, 1, "修改测试的编号");
          oldSheet.addCell(l);

      
          //添加一个新的工作表
          WritableSheet sheet  = book.createSheet("第二个表",1);
          Label l = new Label(0, 0, "第二页的测试数据");
          sheet.addCell(l);
      
          //关闭
          book.write();
          book.close();
      
       }
    }

    操作图片(注意图片格式:

    Warning:  Image type jpeg not supported.  Supported types are png

    )

    public static void main(String[] args) throws Exception{
      String filePath = "d:\\test.xls";
      Workbook wb = Workbook.getWorkbook(new File(filePath));
      WritableWorkbook wwb = Workbook.createWorkbook(new File(filePath),wb);
      WritableSheet sheet = wwb.getSheet(2);
      
      File imageFile = new File("d:\\jxl.png");
      //5个参数  (行  列)  横跨(行 列)  文件对象
      WritableImage image = new WritableImage(1,4, 2, 2, imageFile);

    //这里注意写入方法
      sheet.addImage(image);
      wwb.write();
      
      wwb.close();
     }

    单元格的简单操作方法:

    WritableSheet.setRowView(int i,int height);    //指定第I+1行的高度

    WritableSheet.setColumnView(int i,int width);   // 指定第i+1 列的宽度

  • 相关阅读:
    NSURLConnection与NSURLSession的区别
    微信支付流程
    支付宝支付流程
    配置openfire问题(Oracle)
    id和instancetype
    数组和集合
    静态变量,静态常量以及全局变量
    内存的那些事
    Block循环引用解析
    线程的几个小问题
  • 原文地址:https://www.cnblogs.com/liuhuapiaoyuan/p/3113388.html
Copyright © 2011-2022 走看看