Java代码示例从CSV文件中使用POI库读取数据
CSV(逗号分隔值)是存储和传输表格数据的常见文件格式。在Java中,我们可以使用Apache POI库读取CSV文件并提取数据。
1. 引入POI库的依赖性首先,我们需要在项目中工作pom.xml
POI库的依赖被添加到文件中。在这里,我们使用POI的最新版本(4.1.2):
<dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency></dependencies>
2. 创建CSV文件读取器我们可以创建一个CSVReader
类,用于读取CSV文件并提取其数据:
import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.*;import java.util.ArrayList;import java.util.List;public class CSVReader { private String filename; public CSVReader(String filename) { this.filename = filename; } public List<List<String>> read() throws IOException { List<List<String>> data = new ArrayList<>(); FileInputStream fis = new FileInputStream(filename); Workbook workbook = new XSSFWorkbook(fis); Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { List<String> rowData = new ArrayList<>(); for (Cell cell : row) { rowData.add(cell.getStringCellValue()); } data.add(rowData); } workbook.close(); fis.close(); return data; }}
我们使用上述代码XSSFWorkbook
类别读取XLSX格式的Excel文件。如果要读取XLS格式的文件,可以使用HSSFWorkbook
类。
现在,我们可以用了CSVReader
类读取CSV文件并提取其数据:
import java.io.IOException;import java.util.List;public class Main { public static void main(String[] args) { String filename = "data.csv"; CSVReader csvReader = new CSVReader(filename); try { List<List<String>> data = csvReader.read(); for (List<String> rowData : data) { for (String cellData : rowData) { System.out.print(cellData + " "); } System.out.println(); } } catch (IOException e) { e.printStackTrace(); } }}
在上述代码中,我们首先创建了一个代码CSVReader
对象,然后调用它read
该方法读取CSV文件并返回数据。最后,我们将数据遍历并打印到控制台。
以下是用mermaid语法绘制饼状图的示例:
```mermaidpie "Apples" : 45 "Oranges" : 20 "Bananas" : 35
上面的代码会生成一个饼状图,显示苹果、橙子和香蕉的比例。### 5. 以下是一个用mermaid语法绘制甘特图的示例:```markdown```mermaidgantt dateFormat YYYY-MM-DD title My Awesome Gantt Chart section Project Task 1 :a1, 2022-01-01, 30d Task 2 :after a1 , 20d Task 3 :after a2 , 10d Task 4 :after a3 , 40d
上述代码将生成一个甘特图,显示多个任务的开始和结束日期。### 本文介绍了如何使用POI库从CSV文件中读取数据的Java代码示例。创建一个CSV文件读取器并调用它`read`方法,我们可以很容易地读取CSV文件并提取数据。同时,我们还讨论了如何用mermaid语法绘制饼状图和甘特图来可视化数据。希望本文能帮助您理解如何使用POI库阅读CSV文件,并为您的数据处理任务提供一些启示!