Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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另存为”对话框,将文件保存在路径_Java_Excel_Servlets_Filereader - Fatal编程技术网

“Java另存为”对话框,将文件保存在路径

“Java另存为”对话框,将文件保存在路径,java,excel,servlets,filereader,Java,Excel,Servlets,Filereader,我有一个表单,它接受一个PDF文件并提交给servlet。在阅读了PDF的内容之后,我正在使用ApachePOI在servlet中创建一个xls文件,我想将其保存到本地光盘中 HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("Data"); ArrayList<String> keys = ne

我有一个表单,它接受一个
PDF
文件并提交给servlet。在阅读了PDF的内容之后,我正在使用ApachePOI在servlet中创建一个xls文件,我想将其保存到本地光盘中

            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet sheet = workbook.createSheet("Data");

            ArrayList<String> keys = new ArrayList<String>(excelData.keySet());

            int counter = 0;

            for(int i=keys.size()-1; i>=0;i--){

              String key = keys.get(i);
              String value = excelData.get(key);

              Row row = sheet.createRow(counter++);

              Cell cell = row.createCell(0);
              cell.setCellValue(key);

              Cell cell1 = row.createCell(1);
              cell1.setCellValue(value);  
            }
我不想将文件直接保存到
C:\\Users\\user\\Desktop\\new.xls
,而是想提供一个
另存为
选项来选择用户要保存的文件的路径和名称。比如:

如何将此文件发送回客户端浏览器并显示另存为选项

                //read file back after saving to some temp path.
                File pdfFile = new File("D:\\temp\\"+ fileName +".xls");

                response.setContentType("application/vnd.ms-excel");
                response.setHeader("Content-Disposition", "attachment; filename="+fileName+".xls");

                FileInputStream fileInputStream = new FileInputStream(pdfFile);
                OutputStream responseOutputStream = response.getOutputStream();
                int bytes;
                while ((bytes = fileInputStream.read()) != -1) {
                    responseOutputStream.write(bytes);
                }

                fileInputStream.close();
                //read file back after saving to some temp path.
                File pdfFile = new File("D:\\temp\\"+ fileName +".xls");

                response.setContentType("application/vnd.ms-excel");
                response.setHeader("Content-Disposition", "attachment; filename="+fileName+".xls");

                FileInputStream fileInputStream = new FileInputStream(pdfFile);
                OutputStream responseOutputStream = response.getOutputStream();
                int bytes;
                while ((bytes = fileInputStream.read()) != -1) {
                    responseOutputStream.write(bytes);
                }

                fileInputStream.close();