如何从Java中的excel读取特定的行?
问题描述:
我想编写一个程序,它允许我检索存储在excel文件中的人员的详细信息。我决定使用电子邮件作为识别每个人的方式,因为这些都是独一无二的。我的程序似乎没有工作,有人可以帮助我吗?如何从Java中的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 protected]")){
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("[email protected]")){
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文件的结构... –