我的文件如下:
1.先要准备相应的jar包,我使用的是maven,所以在pom文件中添加依赖就行了
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
<!--ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl -->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
</dependencies>
2.开始撸代码
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import org.testng.annotations.Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
/**
* @Author: 宇涵
* @Date: 2019-1-16 16:30
*/
public class TestExcel {
@Test
public void test() throws Exception {
//获取excel文件
File file = new File("D:\\UserIDID.xls");
//转化成输入流
InputStream input = new FileInputStream(file);
//创建Workbook对象
Workbook workbook = Workbook.getWorkbook(input);
//获取第一张表(sheet1)
Sheet readsheet = workbook.getSheet(0);
//获取sheet表中的总行数
int rsRows = readsheet.getRows();
//获取sheet表中的总列数
int rsColumns = readsheet.getColumns();
System.out.println("总的行数:"+rsRows);
System.out.println("总的列数:"+rsColumns);
//创建集合把单元格中的数据存储起来
ArrayList<String> list = new ArrayList<String>();//创建两个集合是希望按照行数进行存储
ArrayList<String> list1 = new ArrayList<String>();//
for (int i = 1; i < rsRows; i++) //因为第一行是字段名称,所以此处从第二行开始取的数据
{
for (int j = 0; j < rsColumns; j++)
{
Cell cell = readsheet.getCell(j, i);//获取当前表的单元格
String str = cell.getContents();//获取单元格中的数据
list.add(str);//把获取到的数据添加至集合中
System.out.println("第"+(i+1)+"行"+"第"+(j+1)+"列的值是:"+str);
}
list1.add(String.valueOf(list));//每读完一行则把该行的list数据集添加至另一个集合中。
}
System.out.println("单元格个数(list集合获取的总的数据个数):"+list.size());
System.out.println("list:"+list);
System.out.println("共取了 "+list1.size()+" 行的数据集");
System.out.println("list1:"+list1);
}
}
3.结果如图: