All Downloads are FREE. Search and download functionalities are using the official Maven repository.

goja.rapid.mvc.render.PoiRender Maven / Gradle / Ivy

The newest version!
package goja.rapid.mvc.render;

import com.jfinal.render.Render;
import com.jfinal.render.RenderException;
import goja.rapid.excel.PoiExporter;

import java.io.IOException;
import java.io.OutputStream;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 

导出POI工具

* * @author sogYF * @version 1.0 * @since JDK 1.6 */ public class PoiRender extends Render { private static final Logger logger = LoggerFactory.getLogger(PoiRender.class); private final static String CONTENT_TYPE = "application/msexcel;charset=" + getEncoding(); private final List[] data; private String[][] headers; private String[] sheetNames = new String[]{}; private int cellWidth; private String[] columns = new String[]{}; private String fileName = "file1.xls"; private int headerRow; private String version; public PoiRender(List[] data) { this.data = data; } public static PoiRender me(List... data) { return new PoiRender(data); } @Override public void render() { response.reset(); response.setHeader("Content-disposition", "attachment; filename=" + fileName); response.setContentType(CONTENT_TYPE); OutputStream os = null; try { os = response.getOutputStream(); PoiExporter.data(data) .version(version) .sheetNames(sheetNames) .headerRow(headerRow) .headers(headers) .columns(columns) .cellWidth(cellWidth) .export() .write(os); } catch (Exception e) { throw new RenderException(e); } finally { try { if (os != null) { os.flush(); os.close(); } } catch (IOException e) { logger.error(e.getMessage(), e); } } } public PoiRender headers(String[]... headers) { this.headers = headers; return this; } public PoiRender headerRow(int headerRow) { this.headerRow = headerRow; return this; } public PoiRender columns(String... columns) { this.columns = columns; return this; } public PoiRender sheetName(String... sheetName) { this.sheetNames = sheetName; return this; } public PoiRender cellWidth(int cellWidth) { this.cellWidth = cellWidth; return this; } public PoiRender fileName(String fileName) { this.fileName = fileName; return this; } public PoiRender version(String version) { this.version = version; return this; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy