博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java生成Excel
阅读量:6242 次
发布时间:2019-06-22

本文共 3948 字,大约阅读时间需要 13 分钟。

public class SimpleExcelWrite { public void createExcel(OutputStream os) throws WriteException,IOException{//  创建工作薄  WritableWorkbook workbook=Workbook.createWorkbook(os);//  创建新的一页  WritableSheet sheet=workbook.createSheet("First Sheet", 0);//  创建要显示的具体内容  Label xuexiao=new Label(0,0,"学校");  sheet.addCell(xuexiao);  Label zhuanye=new Label(1,0,"专业");  sheet.addCell(zhuanye);  Label jingzhengli=new Label(2,0,"竞争力");  sheet.addCell(jingzhengli);    Label qinghua=new Label(0,1,"清华大学");  sheet.addCell(qinghua);  Label jisuanji=new Label(1,1,"计算机专业");  sheet.addCell(jisuanji);  Label gao=new Label(2,1,"高");  sheet.addCell(gao);    Label beida=new Label(0,2,"北京大学");  sheet.addCell(beida);  Label falv=new Label(1,2,"法律专业");  sheet.addCell(falv);  Label zhong=new Label(2,2,"中");  sheet.addCell(zhong);    Label ligong=new Label(0,3,"北京理工大学");  sheet.addCell(ligong);  Label hangkong=new Label(1,3,"航空专业");  sheet.addCell(hangkong);  Label di=new Label(2,3,"低");  sheet.addCell(di);  //  把创建的内容写入到输出流中,并关闭输出流  workbook.write();  workbook.close();  os.close();   }}

 

<% String fname="学校专业竞争力情况"; OutputStream os=response.getOutputStream(); response.reset();  //下面是对中文文件名的处理 response.setCharacterEncoding("UTF-8");//设置相应内容的编码格式 fname=java.net.URLEncoder.encode(fname,"UTF-8"); response.setHeader("Content-Disposition","attachment;filename="+ new String(fname.getBytes("UTF-8"),"GBK")+".xls"); response.setContentType("application/msexel");//定义输出类型 SimpleExcelWrite sw=new SimpleExcelWrite(); sw.createExcel(os); %>

 

import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.HSSFColor;import org.springframework.web.servlet.view.document.AbstractExcelView;public class SimpleExcelView extends AbstractExcelView {    /**     * 生成excel视图,可用excel工具打开或者保存 单行表头,简单模板     * 例子可参考:问题反馈_excel导出     */    public void buildExcelDocument(Map
model, HSSFWorkbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { // 设置文件名 // 创建sheet HSSFSheet sheet = workbook.createSheet(); // 设置样式 HSSFCellStyle hssCellStyle = getGeneralCellStyle(workbook); // 处理表格头 String[] headArr = (String[]) model.get("head"); sheet.setDefaultColumnWidth(headArr.length); HSSFCell cell = null; int colNum = headArr.length; for (int i = 0; i < colNum; i++) { cell = getCell(sheet, 0, i); setText(cell, headArr[i]); cell.setCellStyle(hssCellStyle); // 设置列宽 sheet.setColumnWidth(i, 5000); } // 处理数据 List
> data = (List
>) model.get("data"); List row = null; int rowNum = data.size(); for (int i = 0; i < rowNum; i++) { row = data.get(i); for (int j = 0; j < colNum; j++) { cell = getCell(sheet, i + 1, j); setText(cell, "" + row.get(j)); cell.setCellStyle(hssCellStyle); } } } /** * 设置样式 * * @param cell * @param workbook */ public HSSFCellStyle getGeneralCellStyle(HSSFWorkbook workbook) { HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setLocked(false); // 设置Excel中的边框 cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); cellStyle.setBottomBorderColor(HSSFColor.BLACK.index); cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); cellStyle.setLeftBorderColor(HSSFColor.BLACK.index); cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); cellStyle.setRightBorderColor(HSSFColor.BLACK.index); cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); cellStyle.setTopBorderColor(HSSFColor.BLACK.index); return cellStyle; }}

 

 

转载地址:http://wkpia.baihongyu.com/

你可能感兴趣的文章
一些小小的总结
查看>>
Homestead 环境搭建
查看>>
Retrofit源码分析
查看>>
零基础兴趣或者转行学习Python,我们应该如何入门呢?
查看>>
electron 仿制QQ登录界面
查看>>
基于Spring Boot实现图片上传/加水印一把梭操作
查看>>
聊聊storm的LoggingClusterMetricsConsumer
查看>>
vue-waterfall2 基于Vue.js 瀑布流组件
查看>>
Vue一个案例引发的递归组件的使用
查看>>
Canvas 实现一个简单的贪吃蛇
查看>>
前后端导出/下载excel方法
查看>>
JVM之垃圾回收与内存动态分配
查看>>
Numpy中的广播原则/机制
查看>>
DOM编程系列之事件
查看>>
小程序加载svg图片
查看>>
JavaScript面向对象编程-多态
查看>>
sequelize 管理查询——一对一关联查询
查看>>
PHP下kafka的常用脚本实践
查看>>
AJAX
查看>>
百度地图绘制点、图形
查看>>