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

2019-01-02 22:22发布

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

标签: java excel
5条回答
Viruses.
5楼-- · 2019-01-02 23:10

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

查看更多
聊天终结者
6楼-- · 2019-01-02 23:22

代码如下:
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>
查看更多
登录 后发表回答