简体   繁体   English

如何设置字段名称Excel Export Java

[英]How to set field names excel export java

I have a code that exports MySQL table to excel file.I want to export the excel file with column names that the user can understand. 我有一个将MySQL表导出到excel文件的代码。我想导出具有用户可以理解的列名的excel文件。 How can i set these new column names.My code is shown below.Thanks in advance. 我如何设置这些新的列名。我的代码如下所示。

public Response getEventsAsExcel(@Context HttpServletResponse response) throws Throwable {
    DataReader reader = getEvents();

    ExcelDocument excelDocument = new ExcelDocument();
    DataWriter writer = new ExcelWriter(excelDocument).setFieldNamesInFirstRow(true);

    JobTemplate.DEFAULT.transfer(reader, writer);

    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-Disposition", "attachment; filename=\"export.xls\"");
    OutputStream outputStream = response.getOutputStream();
    excelDocument.save(outputStream);

    return Response.ok().build();
}

Here is a sample code what I'm using. 这是我正在使用的示例代码。

try {
            response.setContentType("application/vnd.ms-excel");
            String reportName = "excelname_.xls";
            response.setHeader("Content-disposition", "attachment; filename=" + reportName);
            ArrayList<String> rows = new ArrayList<String>();
            rows.add("col1 name");
            rows.add("\t");
            rows.add("col2 name");
            rows.add("\t");
            rows.add("col3 name");
            rows.add("\n");

            for (int i = 0; i < 5; i++) {
                rows.add("col1 data");
                rows.add("\t");
                rows.add("col2 data");
                rows.add("\t");
                rows.add("col3 data");
                rows.add("\n");
            }
            Iterator<String> iter = rows.iterator();
            while (iter.hasNext()) {
                String outputString = (String) iter.next();
                response.getOutputStream().print(outputString);
            }

            response.getOutputStream().flush();

        } catch (IOException e) {
            e.printStackTrace();
        }

You can use a simple sql query to export a mysql table to excel. 您可以使用简单的sql查询将mysql表导出到excel。

String filename = "d:/outfile.xls";//name of excel file here
String tablename = "abc";//name of table here
stmt.executeQuery("SELECT * INTO OUTFILE \"" + filename + "\" FROM " + tablename);//now execute it.

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM