使用Apache POI操作Excel表格【更新ing】

使用Apache POI操作Excel表格

参考https://www.yiibai.com/apache_poi


Maven依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<dependencies>
<!-- 基本依赖,仅操作 xls 格式只需引入此依赖 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>

<!-- 使用 xlsx 格式需要额外引入此依赖 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>
</dependencies>

读取已有Excel表格数据

  1. 获取Excel表格:XSSFWorkbook excel = new XSSFWorkbook(FileInputStream fis);
  2. XSSFWorkbook # getSheetAt(int n):获取表格的sheet
  3. Cell # getCellType():获取单元格格式
  4. Cell # getNumericCellValue() / getStringCellValue():获取单元格数值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.*;

public class PoiTest {
public static void main(String[] args) {
try {
File file = new File("/Users/dragonbaby308/Desktop/test.xlsx");
if (file.isFile() && file.exists()) {
System.out.println(".xlsx open successfully");
}else {
System.out.println(".xlsx open error");
}
FileInputStream fileInputStream = new FileInputStream(file);

//获取Excel表格
XSSFWorkbook excel = new XSSFWorkbook(fileInputStream);

//获取表格的第一个sheet
XSSFSheet sheet = excel.getSheetAt(0);

//sheet的迭代器,返回的是行(Row)
Iterator<Row> rowIterator = sheet.iterator();
Row row;
//遍历行
while (rowIterator.hasNext()) {
row = rowIterator.next();

//获取行的某一列
// Cell cell = row.getCell(3);

//行的迭代器,返回的是表格(Cell),可以理解为列
//遍历列
Iterator<Cell> cellIterator = row.iterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();

//通过getCellType()判断Cell的类型,选择取值函数
switch (cell.getCellType()) {
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t\t");
break;
default:
System.out.print(cell.getStringCellValue() + "\t\t");
break;
}
}
System.out.println();
}

//记得关闭流
fileInputStream.close();
} catch (Exception e) {
System.out.println("exception!");
}
}
}
-------------本文结束感谢您的阅读-------------

本文标题:使用Apache POI操作Excel表格【更新ing】

文章作者:DragonBaby308

发布时间:2020年05月13日 - 22:30

最后更新:2020年05月13日 - 22:34

原始链接:http://www.dragonbaby308.com/poi/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

急事可以使用右下角的DaoVoice,我绑定了微信会立即回复,否则还是推荐Valine留言喔( ఠൠఠ )ノ
0%