编程语言
首页 > 编程语言> > 创建和下载CSV文件Java(Servlet)

创建和下载CSV文件Java(Servlet)

作者:互联网

我正在开发JAVA EXTJS应用程序,我需要在其中创建和下载CSV文件.

单击按钮时,我希望在客户端计算机中下载CSV文件.

在按钮监听器上,我使用ajax调用servlet.在那里我正在创建一个CSV文件.

我不希望CSV文件保存在服务器中.我希望文件应该使用下载选项动态创建.

我希望文件的内容创建为字符串,然后我将内容作为文件提供,它将在浏览器中作为下载模式打开.(这是我用其他语言实现的,但不知道如何在java中实现它)

这是我的代码,仅用于创建CSV文件,但如果我只能将文件下载为CSV,我真的不想创建或保存CSV文件.

public String createCSV()
{
    try
    {
        String filename = "c:\\test.csv";
        FileWriter fw = new FileWriter(filename);
        fw.append("XXXX");
        fw.append(',');
        fw.append("YYYY");
        fw.append(',');
        fw.append("ZZZZ");
        fw.append(',');
        fw.append("AAAA");
        fw.append(',');
        fw.append("BBBB");
        fw.append('\n');

        CSVResult.close();
        return "Csv file Successfully created";
    }
    catch(Exception e)
    {
        return e.toString();
    }
}

谁可以帮我这个事.

谢谢

解决方法:

我得到了解决方案,我将在下面发布.

public void doGet(HttpServletRequest request, HttpServletResponse response)
{
    response.setContentType("text/csv");
    response.setHeader("Content-Disposition", "attachment; filename=\"userDirectory.csv\"");
    try
    {
        OutputStream outputStream = response.getOutputStream();
        String outputResult = "xxxx, yyyy, zzzz, aaaa, bbbb, ccccc, dddd, eeee, ffff, gggg\n";
        outputStream.write(outputResult.getBytes());
        outputStream.flush();
        outputStream.close();
    }
    catch(Exception e)
    {
        System.out.println(e.toString());
    }
}

在这里,我们不需要将文件保存/存储在服务器中.

谢谢

标签:java,csv,extjs4
来源: https://codeday.me/bug/20190930/1836183.html