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表数据的读取和写入 以及过程中可能遇到的问题