1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Java操作excel之合并单元格 写入强制换行数据

Java操作excel之合并单元格 写入强制换行数据

时间:2024-06-24 15:25:06

相关推荐

Java操作excel之合并单元格 写入强制换行数据

1、初始化Excel表格

HSSFWorkbook workbook = new HSSFWorkbook();HSSFSheet sheet = workbook.createSheet("test");List<Object> list= 获取listString fileName = "test" + ".xls";//设置要导出的文件的名字

2、合并单元格

//这个就是合并单元格//参数说明:1:开始行 2:结束行 3:开始列 4:结束列//比如我要合并 第二行到第四行的 第六列到第八列sheet.addMergedRegion(new CellRangeAddress(1,3,5,7));if(!list.isEmpty()){//这里是我写完list数据的5行至14行之间、0列至10列之间=进行合并单元格CellRangeAddress cra = new CellRangeAddress(list.size()+5,list.size()+14,0,10);sheet.addMergedRegion(cra);}else{CellRangeAddress cra = new CellRangeAddress(5,14,0,10);sheet.addMergedRegion(cra);}

3、先把list数据写完、再给合并单元格写入强制换行数据

//1、新增数据行,并且设置单元格数据int rowNum = 1;String[] headers = { "姓名","学号"};//headers表示excel表中第一行的表头HSSFRow row = sheet.createRow(0);//2、在excel表中添加表头for(int i=0;i<headers.length;i++){HSSFCell cell = row.createCell(i);HSSFRichTextString text = new HSSFRichTextString(headers[i]);cell.setCellValue(text);}//3、在表中存放查询到的数据放入对应的列for (Object object: list) {HSSFRow row1 = sheet.createRow(rowNum);row1.createCell(0).setCellValue(object.0);//示例row1.createCell(1).setCellValue(object.1);//示例}//4、给合并单元格写入数据HSSFRow row1 = sheet.createRow(rowNum+4);HSSFCellStyle cellStyle=workbook.createCellStyle();//5、先设置为自动换行cellStyle.setWrapText(true);HSSFCell cell = row1.createCell(0);cell.setCellStyle(cellStyle);//6、"\r\n为显示换行"cell.setCellValue("说明:\r\n" +"1、挂科数据截至去年底\r\n" +"2、经济水平为近1个月内餐厅消费平均值与全校平均自对比(分男女)\r\n" +"3、熬夜判定条件为凌晨2-5点有主动网络或消费记录\r\n" +"4、全天无休判定条件为全天没有连续4个小时无主动消费或网络记录的情况\r\n" +"5、异常离校判定条件为两周内,非周末离校,连续两天及以上\r\n" +"6、疑似失恋或人际冲突判定条件为,两人相互的交流次数出现异常减少\r\n" +"7、如需详细数据请联系心理辅导中心");response.setContentType("application/octet-stream");response.setHeader("Content-disposition", "attachment;filename=" + fileName);response.flushBuffer();workbook.write(response.getOutputStream());

4、核心:

HSSFCellStyle cellStyle=workbook.createCellStyle();cellStyle.setWrapText(true);//先设置为自动换行 数据中"\r\n为显示换行"

5、效果图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。