Java导出Excel

Posted 米饭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java导出Excel相关的知识,希望对你有一定的参考价值。

Java导出Excel

 

太简单了,直接上代码吧

 

生成Excel

技术分享
    @RequestMapping("/importExcel")
    @ResponseBody
    public void importExcel() throws Exception {
        File file = File.createTempFile("Excel模板", ".xls");
        WritableWorkbook workbook = Workbook.createWorkbook(file);
        WritableSheet sheet = workbook.createSheet("Excel模板", 0);
        WritableFont font = new WritableFont(WritableFont.ARIAL, 12); // 字的大小
        WritableCellFormat format = new WritableCellFormat(font);
        format.setAlignment(Alignment.CENTRE); // 水平居中
        format.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直居中
        sheet.addCell(new Label(0, 0, "姓名", format));
        sheet.addCell(new Label(1, 0, "手机号", format));

        sheet.addCell(new Label(0, 1, "a", format));
        sheet.addCell(new Label(1, 1, "b", format));

        sheet.setColumnView(0, 13); // 设置列宽
        sheet.setColumnView(1, 14);

        go(workbook, file);
    }
View Code

 

保存Excel

技术分享
    private void go(WritableWorkbook workbook, File file) throws Exception {
        workbook.write();
        workbook.close();

        response.setContentType("application/x-xls");
        response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(file.getName(), "utf-8") + "\"");
        response.setContentLength((int) file.length()); // 文件大小
        FileUtil.i2o(new BufferedInputStream(new FileInputStream(file)), response.getOutputStream());

        // 最后删除临时文件
        file.deleteOnExit();
    }
View Code

 

FileUtil 工具类 i2o 方法

技术分享
    /**
     * 输入流写到输出流
     */
    public static void i2o(InputStream is, OutputStream os) {
        try {
            byte[] b = new byte[1024 * 1024]; // 一次读取1M
            int n;
            while ((n = is.read(b)) != -1)
                os.write(b, 0, n);
            is.close();
            os.flush();
            os.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
View Code

 

以上是关于Java导出Excel的主要内容,如果未能解决你的问题,请参考以下文章

如何用java导入Excel数据到数据库?

java如何导出excel表格,如果用poi,java代码如何实现.,求代码!!!

java导出excel

java里将从excel读到的数据用csv导出,代码怎么写

java jxl 导出excel出现代码走完 页面不出现下载对话框

java excel导出到用户本地