jxl的使用,从excel插入数据以及读取数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jxl的使用,从excel插入数据以及读取数据相关的知识,希望对你有一定的参考价值。

最近写的一个小项目需要把txt文件里面的内容转化成excel,经过查寻资料发现现阶段Java操作Excel的JAR主要有apache 的POI及jxl.Jxl方便快捷,POI用于对复杂Excel的操作。

以下为写数据进入excel的代码

    public static void addDataToExcel(String[] dataArr,String filepath) throws IOException, RowsExceededException, WriteException{    
               //构建Workbook对象, 只读Workbook对象,创建可以写入的excel工作薄
        WritableWorkbook book= Workbook.createWorkbook(new File(filepath)); 
         //生成名为“统计”的工作表,参数0表示这是第一页 
         WritableSheet sheet=book.createSheet("统计",0); 
        //循环数据,此为一段代码,用于读取每一行的数据。每一行的数据格式为???:???:????:????
        for(int rowC=0;rowC<dataArr.length;rowC++){
            String data = dataArr[rowC];
            String[] Arr = data.split("::");//将读取到的行数据进行分割
                for(int i=0;i<Arr.length;i++){
                    Label lable = new Label(rowC, i, Arr[i]);//将创建每一格的数据,其中row为int,表示第几行,0表示第一行 ,而i则表示第几列。
                    sheet.addCell(lable);//将内容加入到excel中
                }
        }
        book.write(); 
         book.close();
    }    

要写入的数据:

技术分享

 

 

结果如下:

技术分享

 

以下为读取excel的方式:

 //    获得工作薄(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 = workbook.getSheet(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();

 

以上是关于jxl的使用,从excel插入数据以及读取数据的主要内容,如果未能解决你的问题,请参考以下文章

java jxl 读取excel时读取了很多空行 求解决办法

Java 实现Excel表数据的读取和写入 以及过程中可能遇到的问题

java jxl 大量数据写入excel,比如上千万条

Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)

使用列名从excel中读取数据并插入到C#中的SQL表中

你好! 请教你个问题 java web程序如何将读取的excel表格里的数据插入到数据库,并显示在JSP页面上?