首页 新闻 搜索 专区 学院

请问在java中如何读取Excel的数据

0
悬赏园豆:100 [已解决问题] 解决于 2018-09-11 16:03

请问在java中如何读取Excel的数据?
非常急,求好心的大佬给个具体一点的方法
我邮箱 572836448@qq.con
感激不尽,好人一生平安

moments_hadoop的主页 moments_hadoop | 初学一级 | 园豆:53
提问于:2018-09-06 20:40
< >
分享
最佳答案
0
收获园豆:100
dudu | 高人七级 |园豆:38841 | 2018-09-06 21:37

moments_hadoop | 园豆:53 (初学一级) | 2018-09-07 09:11

报错了、、、

moments_hadoop | 园豆:53 (初学一级) | 2018-09-07 09:12
其他回答(4)
0
.NET_海 | 园豆:480 (菜鸟二级) | 2018-09-07 08:48

支持(0) 反对(0) moments_hadoop | 园豆:53 (初学一级) | 2018-09-07 09:12

报错了、、、

支持(0) 反对(0) moments_hadoop | 园豆:53 (初学一级) | 2018-09-07 09:12

@一匹小瘦码: 找不到那个方法 加一个state 打断点跟一下

支持(0) 反对(0) .NET_海 | 园豆:480 (菜鸟二级) | 2018-09-07 09:25
0

可以用阿帕奇的poi框架来解析excel 文件和或者生成excel都可以的,具体实现你自己百度,很不错的一个开源框架

PandOne | 园豆:202 (菜鸟二级) | 2018-09-07 16:54
0
ycyzharry | 园豆:21134 (高人七级) | 2018-09-08 17:31
0

代码如下:
package com.zccs.controller;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class ReadExcel {

public static void main(String[] args) {
    ReadExcel obj = new ReadExcel();
    // 此处为我创建Excel路径
    File file = new File("D:/_20161128092000-20161128141827d28U2.xls");
    List excelList = obj.readExcel(file);
    System.out.println("list中的数据打印出来");
    for (int i = 0; i < excelList.size(); i++) {
        List list = (List) excelList.get(i);
        for (int j = 0; j < list.size(); j++) {
            System.out.print(list.get(j));
        }
        System.out.println();
    }
}

// 去读Excel的方法readExcel,该方法的入口参数为一个File对象
public List readExcel(File file) {
    try {
        // 创建输入流,读取Excel
        InputStream is = new FileInputStream(file.getAbsolutePath());
        // jxl提供的Workbook类
        Workbook wb = Workbook.getWorkbook(is);
        // Excel的页签数量
        int sheet_size = wb.getNumberOfSheets();
        for (int index = 0; index < sheet_size; index++) {
            List<List> outerList = new ArrayList<List>();
            // 每个页签创建一个Sheet对象
            Sheet sheet = wb.getSheet(index);
            // sheet.getRows()返回该页的总行数
            for (int i = 0; i < sheet.getRows(); i++) {
                List innerList = new ArrayList();
                // sheet.getColumns()返回该页的总列数
                for (int j = 0; j < sheet.getColumns(); j++) {
                    String cellinfo = sheet.getCell(j, i).getContents();
                    if (cellinfo.isEmpty()) {
                        continue;
                    }
                    innerList.add(cellinfo);

// System.out.print(cellinfo);
}
outerList.add(i, innerList);
// System.out.println();
}
return outerList;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}

maven引入依赖
<!-- 引入poi,解析workbook视图 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>
<!-- 处理excel和上面功能是一样的 -->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.10</version>
</dependency>

    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.2.2</version>
    </dependency>
moments_hadoop | 园豆:53 (初学一级) | 2018-09-11 16:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册