java用jxl读取网页上下载的excel文件,怎么识别?求解答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java用jxl读取网页上下载的excel文件,怎么识别?求解答相关的知识,希望对你有一定的参考价值。

现在识别不了,需要把下载的excel文件复制粘贴到新建的excel文件才能识别,能不能用什么招儿让java直接识别下载的excel呢?先谢谢各位了

参考技术A 用poi吧,jxl只能读取03的。。追问

先谢谢你了,poi的话,网上下载的excel能识别吗?网上下载的excel用记事本格式打开是html格式的。。。我需要做大量的计算,每次复制粘贴的话麻烦。。。

参考技术B 下载的excel,有多余的数据,清理一下追问

多余的数据?用记事本形式打开的话它是html格式的。。。

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();

 

以上是关于java用jxl读取网页上下载的excel文件,怎么识别?求解答的主要内容,如果未能解决你的问题,请参考以下文章

java通过apache poi框架读取2007版Excel文件

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

为啥java读不了.xlsx的excel文件只能读.xls的,难道是因为我的jxl.jar包太久了?

JAVA利用jxl读取Excel内容

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

如何从java输出到excel