java操作excel
- 導(dǎo)入maven依賴
<!-- excel操作 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
service 實(shí)現(xiàn)方法
// res 為: HttpServletResponse
public void getCsv(SourceInfoVO sourceInfoVO, HttpServletResponse res) {
res.setContentType("application/vnd.ms-excel");
res.setCharacterEncoding("utf-8");
// 這里URLEncoder.encode可以防止中文亂碼 當(dāng)然和easyexcel沒有關(guān)系
String fileName = null;
fileName = URLEncoder.encode("fileName", "UTF-8");
res.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
EasyExcel.write(res.getOutputStream(), SourcePerformanceVO.class)
.autoCloseStream(Boolean.FALSE).sheet("sheetname").doWrite(collect);
}
實(shí)體類
@Data
public class SourcePerformanceVO {
@ExcelIgnore
private Integer type;
@ExcelProperty(value = "類型", index = 0)
private String typeName;
@ExcelProperty(value = "時(shí)間", index = 1)
@ColumnWidth(30)
private String createStr;
}