栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

java excel表格导入

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java excel表格导入

多说两句:表格的导入导出,是比较常见的系统操作,一般涉及数据批量导入导出时会用到,以前遇到过的业务场景有批量添加会员信息,数据迁移等。实现工具,Apache的poi最为常见。实现简单,博客简单一记。

实现工具:Apache POI - the Java API for Microsoft Documents

官网:https://poi.apache.org/

HSSF - 提供读写Microsoft Excel XLS格式档案的功能。

XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。

HWPF - 提供读写Microsoft Word DOC97格式档案的功能。

XWPF - 提供读写Microsoft Word DOC2003格式档案的功能。

HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

HDGF - 提供读Microsoft Visio格式档案的功能。

HPBF - 提供读Microsoft Publisher格式档案的功能。

HSMF - 提供读Microsoft Outlook格式档案的功能。

下面的java程序是利用HSSF,实现excel导入功能:

maven坐标:

org.apache.poi

poi

3.11

根据自己需要,我用的版本有点旧,现在版本已到3.17.

表格准备:在D盘的excel文件夹下新建“联系人.xls”表格。

实现代码:

public static void main(String[] args) {

try {

//读文件

InputStream input = new FileInputStream("D:/example/联系人信息.xls");

//xssfWorkbook对应于你读到的这个表格

HSSFWorkbook xssfWorkbook = new HSSFWorkbook(input);

//一个表格可能有好多sheet,通过getSheetAt(0),拿到第一个sheet

HSSFSheet sheet = xssfWorkbook.getSheetAt(0);

if (sheet != null) {

// 0

String username = "";

// 1

String age = "";

// 2

String sex = "";

//遍历行,i = 1,从第二行开始,第一行是表头跳过。

for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) {

//row是一行数据,row.getCell(i),代表拿到这一行,第i列数据

Row row = sheet.getRow(i);

if (row == null) {

continue;

}

Cell cell = null;

cell = row.getCell(0);

username = cell == null ? "" : cell.toString();

cell = row.getCell(1);

age = cell == null ? "" : cell.toString();

cell = row.getCell(2);

sex = cell == null ? "" : cell.toString();

System.out.println(username+" "+age+" "+sex);//张三 18 男

}

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

可能出现的异常:nested exception is org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents

原因是:

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls

XSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx

解决方案:把高版本的excel,通过另存为保存为低版本的,如:123.xlsx,另存为123.xls。可以解决上述异常。

导出:Java实现Excel表格的导入和导出(二)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号