使用POI导出EXCEL表格

1.工具类

public class ExcelUtil {
	@SuppressWarnings("deprecation")
	public static void createCell(HSSFCellStyle cellstyle, HSSFRow row, short col, String val) {
		HSSFCell cell = row.createCell(col);
		cell.setCellValue(val);
		cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER_SELECTION);
		cell.setCellStyle(cellstyle);
	}

	public static void createExcel(OutputStream os, List<RiskCount> riskCount) throws Exception {
		HSSFWorkbook wb = new HSSFWorkbook();
		HSSFCellStyle cellstyle = wb.createCellStyle();
		HSSFSheet sheet = wb.createSheet();
		HSSFRow row = sheet.createRow((short) 0);
		sheet.createFreezePane(0, 1);
		ExcelUtil.createCell(cellstyle, row, (short) 0, "组织机构");  //中文是列名,根据实际情况自己写
		ExcelUtil.createCell(cellstyle, row, (short) 1, "风险类型");
		ExcelUtil.createCell(cellstyle, row, (short) 2, "风险名称");
		ExcelUtil.createCell(cellstyle, row, (short) 3, "风险结果");
		ExcelUtil.createCell(cellstyle, row, (short) 4, "风险等级");
		ExcelUtil.createCell(cellstyle, row, (short) 5, "专业分类");
		ExcelUtil.createCell(cellstyle, row, (short) 6, "风险数量");
		ExcelUtil.createCell(cellstyle, row, (short) 7, "状态");
		ExcelUtil.createCell(cellstyle, row, (short) 8, "账期");

		int i = 0;
		for (RiskCount risk : riskCount) {
			HSSFRow rowi = sheet.createRow((short) (++i));
			ExcelUtil.createCell(cellstyle, rowi, (short) 0, risk.getProvinceCode());
			ExcelUtil.createCell(cellstyle, rowi, (short) 1, risk.getRiskCode());
			ExcelUtil.createCell(cellstyle, rowi, (short) 2, risk.getRiskName());
			ExcelUtil.createCell(cellstyle, rowi, (short) 3, risk.getRiskType());
			ExcelUtil.createCell(cellstyle, rowi, (short) 4, risk.getRiskGrade());
			ExcelUtil.createCell(cellstyle, rowi, (short) 5,
					risk.getRiskCount() == null ? "0" : risk.getRiskCount().toString());
			ExcelUtil.createCell(cellstyle, rowi, (short) 6, risk.getCountDate());
			ExcelUtil.createCell(cellstyle, rowi, (short) 7, risk.getRiskResult());
			ExcelUtil.createCell(cellstyle, rowi, (short) 8, risk.getStatus());

		}
		wb.write(os);
		os.flush();
		os.close();
	}
}

2

.@RequestMapping(value="/exportExcel/{id}",method=RequestMethod.GET)
		public void exportExcel(HttpServletRequest req,HttpServletResponse res,
														@PathVariable String id) throws Exception{
			
			List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
			Map<String,Object> map=new HashMap<String,Object>();
		try{		
				String[] para=id.split(",");			
				for(int i=0;i<para.length;i++){
					map=riskCountService.getReportExportById(para[i].trim());									
				    list.add(map);
				}		
			OutputStream os= res.getOutputStream();
			String fileName="风险报表";
			res.setHeader("content-disposition", "attachment;fileName="
	           +new String(fileName.getBytes("gb2312"),"ISO8859-1")+".xls");
			res.setContentType("application/msexcel");			
			ExcelUtil.createReportExcel(os, list);
			logger.info("风险报表导出请求成功");
			}catch(Exception e){
				e.printStackTrace();
				logger.info("风险报表导出异常" + e.getMessage());
			}
		 
       }
好的,我可以为您提供帮助。首先,您需要在您的项目中添加 POIPOI-OOXML 依赖。您可以在您的 pom.xml 文件中添加以下依赖: ```xml <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> ``` 接下来,您可以创建一个类来生成 Excel 文件。以下是一个简单的示例: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io.IOException; public class ExcelExporter { public static void export() throws IOException { // 创建一个工作簿 Workbook workbook = new XSSFWorkbook(); // 创建一个工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建一个行 Row row = sheet.createRow(0); // 创建单元格并添加值 Cell cell = row.createCell(0); cell.setCellValue("Hello World"); // 保存工作簿 FileOutputStream outputStream = new FileOutputStream("output.xlsx"); workbook.write(outputStream); workbook.close(); } } ``` 在这个例子中,我们创建了一个工作簿,然后创建了一个工作表和一行。我们然后创建了一个单元格,将值设置为 "Hello World"。最后,我们将工作簿保存到文件中。 您可以通过调用 `ExcelExporter.export()` 来生成 Excel 文件。这将在项目的根目录下创建一个名为 "output.xlsx" 的文件。 当然,这只是一个简单的示例。如果您需要更复杂的 Excel 文件,您可以使用 POI 的其他功能来添加样式、合并单元格等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值