分别导入.xls和.xlsx后缀的excel文件

Java导入excel文件,暂时找到两种方法,分别对应.xls和.xlsx文件。
1,首先创建一个user类,后面会用到。

package importMethod;

import java.io.Serializable;

/**
 * 用户类
 */
public class User implements Serializable{
    private static final long serialVersionUID = 5430875702565190652L;
    private String name; // 姓名
    private String phoneNo; // 电话
    private String address; // 地址
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPhoneNo() {
        return phoneNo;
    }
    public void setPhoneNo(String phoneNo) {
        this.phoneNo = phoneNo;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    @Override
    public String toString() {
        return "User [姓名=" + name + ", 电话=" + phoneNo + ", 地址=" + address + "]";
    }
}

2,备用的excel数据。
这里写图片描述

3,导入.xls后缀的excel文件
首先要导入“jxl,jar”包,百度下载此包。

import java.io.File;

import jxl.Sheet;
import jxl.Workbook;

/**
 * 导入.xls后缀的excel文件
 */
public class ImportXlsFile {

    public static void main(String[] args){
        // 要读取的excel文件的绝对路径
        String url = "C:\\Users\\twf\\Desktop\\user (1).xls"; 
        Workbook workbook = null;
        try {
            workbook = Workbook.getWorkbook(new File(url));
            // 获取excel对象
            // 获取第一个sheet页(有可能一个excel有多个选项卡,即多个excel文件,咱们取第一个文件)
            Sheet sheet = workbook.getSheet(0); 
            // 循环excel文件中的每一行
            for (int i = 1; i < sheet.getRows(); i++) { // i从1开始,表示不读取表头
                // 获得单元格的对象,然后获取单元格的值,并设置到对象中
                User user = new User();
                user.setName(sheet.getCell(0, i).getContents());
                user.setPhoneNo(sheet.getCell(1, i).getContents());
                user.setAddress(sheet.getCell(2, i).getContents());
                System.out.println(user.toString());
            }
        }  catch (Exception e) {
            e.printStackTrace();
        } finally {
            workbook.close(); // 关闭流
        }
    }
}

4,导入.xlsx后缀的excel文件
首先导入poi依赖包,笔者从网上下载的包,解压后如下:
这里写图片描述
将这些依赖包全部导入项目。

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * 导入.xlsx的excel文件
 */
public class ImportXlsxFile {
    public static void main(String[] args) {
        String url = "C:\\Users\\twf\\Desktop\\user.xlsx";
        XSSFWorkbook xssfWorkbook = null;
        try {
            InputStream is = new FileInputStream(new File(url));
            xssfWorkbook = new XSSFWorkbook(is);
//          int numSheet = xssfWorkbook.getNumberOfSheets(); // 获取选项卡的个数
            XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); // 获取第一个sheet选项卡
            // 遍历该sheet中的每一行
            for (int i = 1; i <= xssfSheet.getLastRowNum(); i++) {
                XSSFRow xssfRow = xssfSheet.getRow(i); // 获取其中一行
                if (xssfRow == null) {
                    continue;
                }
                // 读取数据
                User user = new User();
                user.setName(xssfRow.getCell(0).toString());
                user.setPhoneNo(xssfRow.getCell(1).toString());
                user.setAddress(xssfRow.getCell(2).toString());
                System.out.println(user.toString());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

5,输出

User [姓名=胡歌, 电话=13437878888, 地址=广州]
User [姓名=赵丽颖, 电话=13437899999, 地址=从化]
User [姓名=许嵩, 电话=13437877777, 地址=佛山]

猜你喜欢

转载自blog.csdn.net/tanwenfang/article/details/80631774