Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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
当我尝试访问Excel文件时,我的JAVA Swing代码有什么问题?_Java_Excel_Swing_User Interface_Actionlistener - Fatal编程技术网

当我尝试访问Excel文件时,我的JAVA Swing代码有什么问题?

当我尝试访问Excel文件时,我的JAVA Swing代码有什么问题?,java,excel,swing,user-interface,actionlistener,Java,Excel,Swing,User Interface,Actionlistener,我正在尝试用JavaSwing制作“生活调度器”,并尝试使用Excel作为数据库。(我不能将SQL用于数据库,因为我不太了解它) 但我的程序似乎破坏了我试图使用的excel文件 当我按下“addSchedulebutton”时,我打算在单元格(0,0)中添加字符串“这是一个测试数据”。但我的程序似乎在添加字符串时破坏了excel文件。按下按钮后,我无法打开excel文件,错误消息为“此excel文件似乎已损坏…” 上面是我编写的代码。有人能在我的代码中找到问题吗?HSSF设计用于使用Excel'

我正在尝试用JavaSwing制作“生活调度器”,并尝试使用Excel作为数据库。(我不能将SQL用于数据库,因为我不太了解它)

但我的程序似乎破坏了我试图使用的excel文件

当我按下“addSchedulebutton”时,我打算在单元格(0,0)中添加字符串“这是一个测试数据”。但我的程序似乎在添加字符串时破坏了excel文件。按下按钮后,我无法打开excel文件,错误消息为“此excel文件似乎已损坏…”


上面是我编写的代码。有人能在我的代码中找到问题吗?

HSSF设计用于使用Excel'97(-2007)文件格式(.xls)。您正在尝试保存.xlsx文件(Excel 2007 OOXML)。您可以尝试另存为“.xls”或更改程序以使用XSSF类


我建议将输出更改为.xls。这是一种快速查看实现是否真的存在问题的方法。

HSSF设计用于使用Excel'97(-2007)文件格式(.xls)。您正在尝试保存.xlsx文件(Excel 2007 OOXML)。您可以尝试另存为“.xls”或更改程序以使用XSSF类


我建议将输出更改为.xls。这是一种快速查看实现是否真的存在问题的方法。

Change
fileoutputstream.close()
to
fileoutputstream.flush();fileoutputstream.close()
Change
fileoutputstream.close()
to
fileoutputstream.flush();fileoutputstream.close()
addSchedulebutton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            HSSFWorkbook workbook = new HSSFWorkbook(); 
            HSSFSheet sheet = workbook.createSheet("Sheet1"); 
            HSSFRow row = sheet.createRow(0); 
            HSSFCell cell = row.createCell(0); 
            cell.setCellValue("This is a test Data"); 

            try {
                FileOutputStream fileoutputstream = new FileOutputStream("C:/Users/jihlo/Desktop/ScheduleData.xlsx");
                workbook.write(fileoutputstream);
                fileoutputstream.close();
            } catch (IOException ex) {
                ex.printStackTrace(); 
            }
        }
    });