• jxl(Java Excel API) 使用方法 【1】


    //   构建Workbook对象, 只读Workbook对象 
     //   直接从本地文档创建Workbook 
     //   从输入流创建Workbook

        Workbook workbook = null;
        try {
          workbook = Workbook.getWorkbook(new File("D://output.xls"));
        } catch (Exception e) {
         e.printStackTrace();
        } 

    //返回正在使用的API的版本号,似乎是没什么太大的作用。  
        String apiVersion = workbook.getVersion();
        System.out.println(apiVersion);

    //    获得工作薄(Workbook)中工作表(Sheet)的个数 
        int sheets = workbook.getNumberOfSheets(); 
        System.out.println(sheets);

    //返回工作薄(Workbook)中工作表(Sheet)对象数组
        Sheet[] sheetStringArr = workbook.getSheets();
        for(int i=0;i<sheetStringArr.length;i++){
         System.out.println(sheetStringArr[i].getName()); //返回Sheet标题

    System.out.println(sheetStringArr[i].getColumns());//Sheet页的总列数

    System.out.println(sheetStringArr[i].getColumn(0));//Sheet页的某一列的数组

    System.out.println(sheetStringArr[i].getRows());//Sheet页的总行数
    System.out.println(sheetStringArr[i].getRow(0));//Sheet页的某一行的数组
        }

    //获取第一张Sheet表 (术语:工作表)  ,两种方法
        Sheet sheet = workbook.getSheet(0);   //用下标获得第一页
        Sheet sheet = workbook.getSheet("TestCreateExcel");  //用名称获得第一页

    // 返回第一行,第一列的值  (0  (第一个代表列)    ,0  (第二个代表行))
        Cell cell00=sheet.getCell(0, 0);
        System.out.println(cell00.getType());  //获得代表类的类型 (返回类的类型)
        System.out.println(cell00.getContents());//获得代表类的类型 (返回string)

    //判断返回值类型

    if(CellType.DATE==cell00.getType()){
         System.out.print("是日期类"+cell00.getType());//Date()
        }
        if(CellType.LABEL==cell00.getType()){
         System.out.print("是标签类"+cell00.getType());//Lable()
        }
        if(CellType.NUMBER==cell00.getType()){
         System.out.print("是日期类"+cell00.getType());//Number()
        }

     //关闭对象

    workbook.close();

    ===============================================================

    和读取Excel工作表相似,首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象,这里要注意的是,只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,因为类WritableWorkbook的构造函数为protected类型。

    //   构建Workbook对象, 只读Workbook对象 
    //   Method 1:创建可写入的Excel工作薄
     
       File tempFile=new File("d:/output.xls");
       WritableWorkbook workbook = Workbook.createWorkbook(tempFile);

    //   创建Excel工作表 (名称,位置)  ,该方法需要两个参数,一个是工作表的名称,另一个是工作表在工作薄中的位

    //置
       WritableSheet sheet = workbook.createSheet("TestCreateExcel", 0);

    //1.添加带有字型Formatting的对象 
       WritableFont headerFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLUE);  //字体

    //2.Format 
       WritableCellFormat headerFormat = new WritableCellFormat (headerFont);  //Format 一下

    //3.加入标签  (列,行,"内容",字体)

    jxl.write.Label labelCF = new jxl.write.Label(1, 0, "This is a Label Cell", headerFormat );

    //4.加入工作表

    sheet.addCell(labelCF );

    //设置列的宽度  (那列,宽度数字)

    sheet.setColumnView(1,20);

    //写入Exel工作表 
    wwb.write();

    //关闭Excel工作薄对象 
    wwb.close();

    =================================================================================

    3、拷贝、更新Excel工作薄 

      接下来简要介绍一下如何更新一个已存在的工作薄,主要是下面二步操作,第一步是构造只读的Excel工作薄,第二步是利用已创建的Excel工作薄创建新的可写入的Excel工作薄,参考下面的代码片段:(完整代码见ExcelModifying.Java

    //创建只读的Excel工作薄的对象 
    jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourcefile)); 

    //创建可写入的Excel工作薄对象 
    jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile), rw); 

    //读取第一张工作表 
    jxl.write.WritableSheet ws = wwb.getSheet(0); //获得第一页

    //获得第一个单元格对象 
    jxl.write.WritableCell wc = ws.getWritableCell(0, 0); //获得第一列,第一行

    //判断单元格的类型, 做出相应的转化 
    if(wc.getType() == CellType.LABEL) 

    Label l = (Label)wc; //(强转)得到单元格的Label()对象
    l.setString("The value has been modified."); //重新设置值


    //写入Excel对象 
    wwb.write(); 

    //关闭可写入的Excel对象 
    wwb.close(); 

    //关闭只读的Excel对象 
    rw.close();

    文章转载来自http://blog.csdn.net/lcz_ptr/article/details/7687657

  • 相关阅读:
    应用中心无法访问时后台插件列表访问慢的优化
    HTML5 地理定位 【来自百度应用分享平台】
    快捷键补充
    进击的雨燕------------在导航上的UISearchController实现动画效果
    iOS -------- 应用程序引用系统通讯录
    字典和JSON格式字符串相互转换
    进击的雨燕--------------------Swift ? !
    Objective-C多继承的实现
    进击的雨燕------------iOS8中UIAlertController
    进击的雨燕-------------------高级运算符
  • 原文地址:https://www.cnblogs.com/111testing/p/6280221.html
Copyright © 2020-2023  润新知