分别导入.xls和.xlsx后缀的excel文件
程序员文章站
2022-05-17 13:59:29
...
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, 地址=佛山]
推荐阅读
-
结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程
-
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
-
java使用POI实现excel文件的导入和导出(通用方法)
-
Java读取Excel数据内容,兼容excel2003和excel2007版本/xls后缀,xlsx后缀
-
java导入Excel包含多张sheet表的.xls .xslx .txt三种后缀格式的文件
-
java导入Excel包含多张sheet表的.xls .xslx .txt三种后缀格式的文件
-
Java Hutool工具实现验证码生成及Excel文件的导入和导出
-
最给力的 xlsx文件转换xls软件和转换技巧
-
BootStrap Fileinput插件和表格插件相结合实现导入Excel数据的文件上传、预览、提交的步骤
-
python批量将.xls转化为.xlsx,包括文件名和后缀分割