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