Java Can';在检查是否有相同的数字后,我不能用ApachePOI写入.xls
我为用户创建了一个要注册的GUI,我想说明用户以前没有注册过。我将所有信息保存在使用apache poi创建的Exel文件夹中。在添加此属性之前,它工作正常。无论用户是否注册过,它都不会将信息写入文件夹 而且它不会抛出异常,它的工作方式没有任何错误Java Can';在检查是否有相同的数字后,我不能用ApachePOI写入.xls,java,apache-poi,Java,Apache Poi,我为用户创建了一个要注册的GUI,我想说明用户以前没有注册过。我将所有信息保存在使用apache poi创建的Exel文件夹中。在添加此属性之前,它工作正常。无论用户是否注册过,它都不会将信息写入文件夹 而且它不会抛出异常,它的工作方式没有任何错误 public boolean ayniVeriKontrol(String tc,String musteri_no)引发异常{ 布尔控制=假; 字符串geciciTc,geciciNo; fileInputStream=新的fileInputS
public boolean ayniVeriKontrol(String tc,String musteri_no)引发异常{
布尔控制=假;
字符串geciciTc,geciciNo;
fileInputStream=新的fileInputStream(“Test.xls”);
isimsiz_banka_verileri=新的HSSF工作簿(fileInputStream);
musteri=isimsiz_banka_verileri.getSheetAt(0);
sayac=1+musteri.getLastRowNum();
for(int i=1;i
我将while循环更改为if-else条件,现在它写入并检查文件是否有相同的用户
public void kullaniciGuncelle(String tc, String ad, String soyad, String musteri_no, String telefon, String hesap_turu)throws Exception{
if (ayniVeriKontrol(tc,musteri_no)){
fileInputStream = new FileInputStream("Test.xls");
isimsiz_banka_verileri = new HSSFWorkbook(fileInputStream);
musteri =isimsiz_banka_verileri.getSheetAt(0);
sayac = 1 + musteri.getLastRowNum();
row2 = musteri.createRow(sayac);
celli = row2.createCell(0);
celli.setCellValue(tc);
celli = row2.createCell(1);
celli.setCellValue(ad);
celli = row2.createCell(2);
celli.setCellValue(soyad);
celli = row2.createCell(3);
celli.setCellValue(musteri_no);
celli = row2.createCell(4);
celli.setCellValue(telefon);
celli = row2.createCell(5);
celli.setCellValue(hesap_turu);
fileInputStream.close();
fileOutputStream = new FileOutputStream("Test.xls");
isimsiz_banka_verileri.write(fileOutputStream);
isimsiz_banka_verileri.close();
fileOutputStream.close();
}
else{
KayitArayuzu kayit = new KayitArayuzu();
}
}
public boolean ayniVeriKontrol(String tc,String musteri_no)引发异常{
布尔控制=真;
字符串geciciTc,geciciNo;
fileInputStream=新的fileInputStream(“Test.xls”);
isimsiz_banka_verileri=新的HSSF工作簿(fileInputStream);
musteri=isimsiz_banka_verileri.getSheetAt(0);
sayac=1+musteri.getLastRowNum();
for(int i=1;i
你所说的它不将信息写入文件夹是什么意思?它会引发一些异常吗?如果是,请提供StackTrace您可能应该停止在循环中关闭流。只需刷新它,在完成之前不要关闭它。实际上,你的循环从未进入过<代码>geciciTc==tc
。。。。你可能想看看@cricketı007谢谢你教我如何调试。作为一名学生,它可以帮助我提高我的自我。我改变了,而如果其他的和ıt现在起作用,我将更新post@cricket_007我很抱歉写得不好这些作品?在第一个块中,通过关闭fileInputStream
,我相信您也在关闭isimsiz\u banka\u verileri
too@cricket_007是的,但我在每个代码块开始时都会打开文件。为什么?你可以把它作为一个parameter@cricket_007我试试看
public boolean ayniVeriKontrol(String tc, String musteri_no) throws Exception{
boolean kontrol = false;
String geciciTc ,geciciNo;
fileInputStream = new FileInputStream("Test.xls");
isimsiz_banka_verileri = new HSSFWorkbook(fileInputStream);
musteri = isimsiz_banka_verileri.getSheetAt(0);
sayac = 1 + musteri.getLastRowNum();
for (int i = 1; i < sayac; i++) {
row2 = musteri.getRow(i);
celli = row2.getCell(0);
geciciTc = celli.getStringCellValue();
celli = row2.getCell(3);
geciciNo = celli.getStringCellValue();
if (geciciTc == tc) {
System.out.println("Ayılar");
kontrol = true;
}
}
fileInputStream.close();
return kontrol;
}
public void kullaniciGuncelle(String tc, String ad, String soyad, String musteri_no, String telefon, String hesap_turu)throws Exception{
if (ayniVeriKontrol(tc,musteri_no)){
fileInputStream = new FileInputStream("Test.xls");
isimsiz_banka_verileri = new HSSFWorkbook(fileInputStream);
musteri =isimsiz_banka_verileri.getSheetAt(0);
sayac = 1 + musteri.getLastRowNum();
row2 = musteri.createRow(sayac);
celli = row2.createCell(0);
celli.setCellValue(tc);
celli = row2.createCell(1);
celli.setCellValue(ad);
celli = row2.createCell(2);
celli.setCellValue(soyad);
celli = row2.createCell(3);
celli.setCellValue(musteri_no);
celli = row2.createCell(4);
celli.setCellValue(telefon);
celli = row2.createCell(5);
celli.setCellValue(hesap_turu);
fileInputStream.close();
fileOutputStream = new FileOutputStream("Test.xls");
isimsiz_banka_verileri.write(fileOutputStream);
isimsiz_banka_verileri.close();
fileOutputStream.close();
}
else{
KayitArayuzu kayit = new KayitArayuzu();
}
}
public boolean ayniVeriKontrol(String tc, String musteri_no) throws Exception{
boolean kontrol = true;
String geciciTc ,geciciNo;
fileInputStream = new FileInputStream("Test.xls");
isimsiz_banka_verileri = new HSSFWorkbook(fileInputStream);
musteri = isimsiz_banka_verileri.getSheetAt(0);
sayac = 1 + musteri.getLastRowNum();
for (int i = 1; i < sayac; i++) {
row2 = musteri.getRow(i);
celli = row2.getCell(0);
geciciTc = celli.getStringCellValue();
celli = row2.getCell(3);
geciciNo = celli.getStringCellValue();
if (geciciTc.equals(tc)) {
System.out.println("Ayılar");
kontrol = false;
}
}
fileInputStream.close();
return kontrol;
}