如何在Java中从excel中读取特定行?
我试图编写一个程序,使我能够检索excel文件中存储的个人详细信息。我决定用电子邮件作为识别每个人的一种方式,因为它们是独一无二的。我的程序似乎不起作用,有人能帮我吗如何在Java中从excel中读取特定行?,java,excel,csv,filereader,text-parsing,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
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();
}
}
}
仅供参考:CSV文件不是Excel文件。您可以用记事本这样简单的方式读取CSV。请给出CSV文件的结构。。。