大佬教程收集整理的这篇文章主要介绍了如何在Spring Boot中创建Apache POI Excel View配置,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用Spring Boot,您不需要任何额外的配置即可生成excel文件。
创建一个返回带有AbstractExcelVIEw的ModelAndVIEw的控制器:
@Controller
public class MyController {
@requestMapPing(value="/myexcel", method=requestMethod.GET)
public ModelAndVIEw getMyData(httpServletrequest request, httpServletResponse responsE) throws sqlException{
Map<String, Object> model = new HashMap<String, Object>();
//Sheet name
model.put("sheetname", "TestSheetname");
//headers List
List<String> headers = new ArrayList<String>();
headers.add("column1");
headers.add("column2");
headers.add("column3");
model.put("headers", headers);
//Results table (List<Object[]>)
List<List<String>> results = new ArrayList<List<String>>();
List<String> l1 = new ArrayList<String>();
l1.add("A1");
l1.add("B1");
l1.add("C1");
results.add(l1);
List<String> l2 = new ArrayList<String>();
l2.add("A2");
l2.add("B2");
l2.add("C2");
results.add(l2);
model.put("results",results);
response.setContentType( "application/ms-excel" );
response.setheader( "Content-disposition", "attachment; filename=myfile.xls" );
return new ModelAndVIEw(new MyExcelVIEw(), model);
}
然后像这样构建您的AbstractExcelVIEw:
public class MyExcelVIEw extends AbstractExcelVIEw
{
@SuppressWarnings("unchecked")
protected voID buildExceldocument(Map<String, Object> model,
hssfWorkbook workbook,
httpServletrequest request,
httpServletResponse responsE)
{
//VARIABLES required IN MODEL
String sheetname = (String)model.get("sheetname");
List<String> headers = (List<String>)model.get("headers");
List<List<String>> results = (List<List<String>>)model.get("results");
List<String> numericcolumns = new ArrayList<String>();
if (model.containsKey("numericcolumns"))
numericcolumns = (List<String>)model.get("numericcolumns");
//BUILD DOC
hssfSheet sheet = workbook.createSheet(sheetName);
sheet.setDefaultcolumnWIDth((short) 12);
int currentRow = 0;
short currentcolumn = 0;
//CREATE STYLE FOR header
hssfCellStyle headerStyle = workbook.createCellStyle();
hssfFont headerFont = workbook.createFont();
headerFont.setBolDWeight(hssfFont.bolDWEIGHT_BolD);
headerStyle.setFont(headerFont);
//POPulATE header columNS
hssfRow headerRow = sheet.createRow(currentRow);
for(String header:headers){
hssfRichTextString text = new hssfRichTextString(header);
hssfCell cell = headerRow.createCell(currentcolumn);
cell.setCellStyle(headerStylE);
cell.setCellValue(text);
currentcolumn++;
}
//POPulATE VALUE ROWS/columNS
currentRow++;//exclude header
for(List<String> result: results){
currentcolumn = 0;
hssfRow row = sheet.createRow(currentRow);
for(String value : result){//used to count number of columns
hssfCell cell = row.createCell(currentcolumn);
if (numericcolumns.contains(headers.get(currentcolumn))){
cell.setCellType(hssfCell.CELL_TYPE_NUMERIC);
cell.setCellValue(NumUtils.extractDoubLeorZero(value));
} else {
hssfRichTextString text = new hssfRichTextString(value);
cell.setCellValue(text);
}
currentcolumn++;
}
currentRow++;
}
}
}
以上是大佬教程为你收集整理的如何在Spring Boot中创建Apache POI Excel View配置全部内容,希望文章能够帮你解决如何在Spring Boot中创建Apache POI Excel View配置所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。