java - 如何用Java读取Excel中的特定行?

标签 java excel csv filereader text-parsing

我正在尝试编写一个程序,该程序允许我检索存储在 Excel 文件中的人员的详细信息。我决定使用电子邮件作为识别每个人的方式,因为它们是独一无二的。我的程序似乎无法运行,有人可以帮助我吗?

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Reader {

    public static void main(String[] args) {

        String csvFile = "Clients.csv";
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";

        try {

            br = new BufferedReader(new FileReader(csvFile));
            while ((line = br.readLine()) != null) {
                if(((br.readLine().split(cvsSplitBy))[2]).equals("email@gmail.com")){
                    String[] data = line.split(cvsSplitBy);

                    System.out.println("First Name: "+data[0]+" Last Name: "+data[1]+" Activity Level: "+data[7]);

                }

            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }

}

最佳答案

这是我修正后的代码,解决了我的问题:

        String csvFile = "Clients.csv";
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";

        try {

            br = new BufferedReader(new FileReader(csvFile));
            while ((line = br.readLine()) != null) {
                String[] data = line.split(cvsSplitBy);
                if(data[2].equals("samuelfairbrass@icloud.com")){


                    System.out.println("First Name: "+data[0]+" Last Name: "+data[1]+" Email: "+data[2]+" Phone Number: "+data[3]+" Activity Level: "+data[7]);

                }


            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

关于java - 如何用Java读取Excel中的特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45311429/

相关文章:

java - Java如何通过匹配mongoDB中的名称来获取元素的ID

vba - 从单元格中删除空格

javascript - 在 JavaScript 中解析 csv,每行数据量不清楚

python - 忽略 pandas.read_csv() 中破坏 header= keywords 的坏数据行

java - 在 Android Maven 项目中使用纯 Java 库

使用 Arrays.equals 比较两个 dto 的 java 字节数组

java - 如何在android中将double转换为string

excel - 返回给定月份和年份中最近的非空白单元格值

javascript - 将 jtable 导出到 IE 上的 javascript 中的 excel

python - 将字符串转换回列表