parent
da9ff84197
commit
9880950b9c
@ -0,0 +1,45 @@
|
||||
package com.ruoyi.pay.domain.vo;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class ButieMoneyAndTypes {
|
||||
private String buTieName;
|
||||
private BigDecimal money;
|
||||
private String type;
|
||||
|
||||
public String getBuTieName() {
|
||||
return buTieName;
|
||||
}
|
||||
|
||||
public void setBuTieName(String buTieName) {
|
||||
this.buTieName = buTieName;
|
||||
}
|
||||
|
||||
public BigDecimal getMoney() {
|
||||
return money;
|
||||
}
|
||||
|
||||
public void setMoney(BigDecimal money) {
|
||||
this.money = money;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("buTieName", getBuTieName())
|
||||
.append("money", getMoney())
|
||||
.append("type", getType())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,81 @@
|
||||
package com.ruoyi.pay.util;
|
||||
|
||||
import org.apache.poi.hssf.usermodel.HSSFFont;
|
||||
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.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
import org.apache.poi.ss.usermodel.FillPatternType;
|
||||
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||
import sun.misc.BASE64Encoder;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class SalaryExportUtil {
|
||||
/**
|
||||
* @param sheetName 工作表的名字
|
||||
* @param column 列名
|
||||
* @param data 需要导出的数据 ( map的键定义为列的名字 一定要和column中的列明保持一致 )
|
||||
* @param response
|
||||
*/
|
||||
public static void exportExcel(String sheetName, List<String> column, List<Map<String,Object>> data, HttpServletRequest request, HttpServletResponse response){
|
||||
//创建工作薄
|
||||
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
|
||||
//创建sheet
|
||||
HSSFSheet sheet = hssfWorkbook.createSheet(sheetName);
|
||||
// 表头
|
||||
HSSFRow headRow = sheet.createRow(0);
|
||||
//设置表头背景填充色
|
||||
CellStyle style = hssfWorkbook.createCellStyle();
|
||||
style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex());
|
||||
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||
//设置表头字体颜色
|
||||
HSSFFont font = hssfWorkbook.createFont();
|
||||
font.setColor(IndexedColors.WHITE.getIndex());
|
||||
font.setBold(true);
|
||||
style.setFont(font);
|
||||
|
||||
for (int i = 0; i < column.size(); i++){
|
||||
Cell titleCell =headRow.createCell(i);
|
||||
titleCell.setCellStyle(style);
|
||||
titleCell.setCellValue(column.get(i));
|
||||
}
|
||||
|
||||
for (int i = 0; i < data.size(); i++) {
|
||||
HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
|
||||
for (int x = 0; x < column.size(); x++) {
|
||||
dataRow.createCell(x).setCellValue(data.get(i).get(column.get(x))==null?"":data.get(i).get(column.get(x)).toString());
|
||||
}
|
||||
}
|
||||
|
||||
response.setContentType("application/vnd.ms-excel");
|
||||
|
||||
try {
|
||||
//获取浏览器名称
|
||||
String agent=request.getHeader("user-agent");
|
||||
String filename=sheetName+".xls";
|
||||
//不同浏览器需要对文件名做特殊处理
|
||||
if (agent.contains("Firefox")) { // 火狐浏览器
|
||||
filename = "=?UTF-8?B?"
|
||||
+ new BASE64Encoder().encode(filename.getBytes("utf-8"))
|
||||
+ "?=";
|
||||
filename = filename.replaceAll("\r\n", "");
|
||||
} else { // IE及其他浏览器
|
||||
filename = URLEncoder.encode(filename, "utf-8");
|
||||
filename = filename.replace("+"," ");
|
||||
}
|
||||
//推送浏览器
|
||||
response.setHeader("Content-Disposition","attachment;filename="+filename);
|
||||
hssfWorkbook.write(response.getOutputStream());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in new issue