Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';在检查是否有相同的数字后,我不能用ApachePOI写入.xls_Java_Apache Poi - Fatal编程技术网

Java Can';在检查是否有相同的数字后,我不能用ApachePOI写入.xls

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

我为用户创建了一个要注册的GUI,我想说明用户以前没有注册过。我将所有信息保存在使用apache poi创建的Exel文件夹中。在添加此属性之前,它工作正常。无论用户是否注册过,它都不会将信息写入文件夹

而且它不会抛出异常,它的工作方式没有任何错误



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;
}