excel导入mysql并生成数据表_从数据库中取出数据表,导入并生成excel

该博客展示了如何利用Java的XSSFWorkbook库创建Excel工作簿,并填充数据。代码详细解释了创建工作表、行、单元格,设置样式,以及从数据库查询数据并写入到Excel的过程。最后,文件被保存到指定路径并打印提示信息。
摘要由CSDN通过智能技术生成

@RequestMapping("/numericalStatement1")public void createExcel(HttpServletResponse resp) throwsException{try{

String path= "G:/test.xlsx";//创建新的Excel 工作簿

XSSFWorkbook workbook = newXSSFWorkbook();//在Excel工作簿中建一工作表,其名为缺省值//如要新建一名为"用户表"的工作表,其语句为:

XSSFSheet sheet = workbook.createSheet("成绩表");//在索引0的位置创建行(最顶端的行)

XSSFRow row = sheet.createRow((short) 0);//在索引0的位置创建单元格(左上端)

XSSFCell cell = row.createCell((short) 0);//创建单元格样式

CellStyle cellStyle =workbook.createCellStyle();//设置这些样式

cellStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);

cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);

cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);

cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);

cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);

cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//定义单元格为字符串类型

cell.setCellType(HSSFCell.CELL_TYPE_STRING);//在单元格中输入一些内容

cell = row.createCell((short) 0);

cell.setCellValue("成绩编号");

cell.setCellStyle(cellStyle);

cell= row.createCell((short) 1);

cell.setCellValue("组织架构参数表编号");

cell.setCellStyle(cellStyle);

cell= row.createCell((short) 2);

cell.setCellValue("试卷编号");

cell.setCellStyle(cellStyle);

cell= row.createCell((short) 3);

cell.setCellValue("客观题成绩");

cell.setCellStyle(cellStyle);

cell= row.createCell((short) 4);

cell.setCellValue("主观题成绩");

cell.setCellStyle(cellStyle);

cell= row.createCell((short) 5);

cell.setCellValue("总成绩");

cell.setCellStyle(cellStyle);//查询数据库中所有的数据//ResultMapper mapper = getMapper(ResultMapper.class);//VtUserCriteria cri = new VtUserCriteria();//cri.createCriteria().andUserEnabledEqualTo(1);

List list =resultService.selectAllResult();/*//第一个sheet第一行为标题

XSSFRow rowFirst = sheet.createRow(0);

rowFirst.setHeightInPoints(21.75f);*/

for (int i = 0; i < list.size(); i++) {

row= sheet.createRow((int) i + 1);

Result stu=(Result) list.get(i);//第四步,创建单元格,并设置值

row.createCell((short) 0).setCellValue(stu.getId());

row.createCell((short) 1).setCellValue(stu.getParaorgleadershipsId());

row.createCell((short) 2).setCellValue(stu.getPaperId());

row.createCell((short) 3).setCellValue(stu.getObjResult());

row.createCell((short) 4).setCellValue(stu.getSubResult());

row.createCell((short) 5).setCellValue(stu.getTotalResult());

sheet.autoSizeColumn((short) 0); //调整第一列宽度(自适应),只识别数字、字母

sheet.autoSizeColumn((short) 1); //调整第二列宽度//调整第三列宽度,有中文,先判断这一列的最长字符串//int length = stu.getPaperId().getBytes().length;//sheet.setColumnWidth((short)2,(short)(length*2*256));

sheet.autoSizeColumn((short) 2); //调整第三列宽度

sheet.autoSizeColumn((short) 3); //调整第四列宽度

sheet.autoSizeColumn((short) 4); //调整第五列宽度

sheet.autoSizeColumn((short) 5); //调整第六列宽度

/*Font font = workbook.createFont();

font.setFontHeightInPoints((short)18); //字体大小

sheet.setDefaultRowHeightInPoints(21.75f);

font.setFontName("楷体");

font.setBoldweight(Font.BOLDWEIGHT_BOLD); //粗体

font.setColor(HSSFColor.GREEN.index); //绿字- 字体颜色*/}//新建一输出文件流

FileOutputStream fOut = newFileOutputStream(path);//把相应的Excel 工作簿存盘

workbook.write(fOut);//清空缓冲区数据

fOut.flush();//操作结束,关闭文件

fOut.close();

System.out.println("文件生成...");

}catch(Exception e) {

System.out.println("已运行 xlCreate() : " +e);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值