以下是一个使用SSM(Spring+SpringMVC+MyBatis)和JSP的示例代码,用于实现年度、月度、周度和日度销售统计功能按钮,并将统计结果导出为Excel文件。

  1. 控制器(Controller)代码:
@Controller
@RequestMapping("/sales")
public class SalesController {
    
    @Autowired
    private SalesService salesService;
    
    @RequestMapping("/yearly")
    public String yearlySales(Model model) {
        // 获取年度销售统计结果
        List<SalesData> salesData = salesService.getYearlySales();
        
        model.addAttribute("salesData", salesData);
        return "yearly_sales";
    }
    
    @RequestMapping("/monthly")
    public String monthlySales(Model model) {
        // 获取月度销售统计结果
        List<SalesData> salesData = salesService.getMonthlySales();
        
        model.addAttribute("salesData", salesData);
        return "monthly_sales";
    }
    
    @RequestMapping("/weekly")
    public String weeklySales(Model model) {
        // 获取周度销售统计结果
        List<SalesData> salesData = salesService.getWeeklySales();
        
        model.addAttribute("salesData", salesData);
        return "weekly_sales";
    }
    
    @RequestMapping("/daily")
    public String dailySales(Model model) {
        // 获取日度销售统计结果
        List<SalesData> salesData = salesService.getDailySales();
        
        model.addAttribute("salesData", salesData);
        return "daily_sales";
    }
    
    @RequestMapping("/export")
    public void exportToExcel(HttpServletResponse response) {
        // 获取销售统计结果
        List<SalesData> salesData = salesService.getSalesData();
        
        // 创建Excel文件并写入统计结果
        Workbook workbook = salesService.exportToExcel(salesData);
        
        // 设置响应头信息,告诉浏览器下载文件
        response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-Disposition", "attachment; filename=sales_data.xlsx");
        
        try (OutputStream outputStream = response.getOutputStream()) {
            // 将Excel文件写入响应输出流
            workbook.write(outputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. 服务层(Service)代码:
@Service
public class SalesService {
    
    @Autowired
    private SalesMapper salesMapper;
    
    public List<SalesData> getYearlySales() {
        // 查询数据库获取年度销售统计结果
        return salesMapper.getYearlySales();
    }
    
    public List<SalesData> getMonthlySales() {
        // 查询数据库获取月度销售统计结果
        return salesMapper.getMonthlySales();
    }
    
    public List<SalesData> getWeeklySales() {
        // 查询数据库获取周度销售统计结果
        return salesMapper.getWeeklySales();
    }
    
    public List<SalesData> getDailySales() {
        // 查询数据库获取日度销售统计结果
        return salesMapper.getDailySales();
    }
    
    public List<SalesData> getSalesData() {
        // 查询数据库获取销售统计结果
        return salesMapper.getSalesData();
    }
    
    public Workbook exportToExcel(List<SalesData> salesData) {
        // 创建Excel工作簿
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sales Data");
        
        // 创建表头行
        Row headerRow = sheet.createRow(0);
        headerRow.createCell(0).setCellValue("Date");
        headerRow.createCell(1).setCellValue("Sales Amount");
        
        // 写入统计结果
        int rowNum = 1;
        for (SalesData data : salesData) {
            Row row = sheet.createRow(rowNum++);
            row.createCell(0).setCellValue(data.getDate());
            row.createCell(1).setCellValue(data.getSalesAmount());
        }
        
        return workbook;
    }
}
  1. 数据访问层(Mapper)代码:
@Repository
public interface SalesMapper {
    
    List<SalesData> getYearlySales();
    
    List<SalesData> getMonthlySales();
    
    List<SalesData> getWeeklySales();
    
    List<SalesData> getDailySales();
    
    List<SalesData> getSalesData();
}
  1. JSP视图(yearly_sales.jsp、monthly_sales.jsp、weekly_sales.jsp和daily_sales.jsp)代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Yearly Sales</title>
</head>
<body>
    <h1>Yearly Sales</h1>
    
    <table>
        <tr>
            <th>Date</th>
            <th>Sales Amount</th>
        </tr>
        
        <c:forEach items="${salesData}" var="data">
            <tr>
                <td>${data.date}</td>
                <td>${data.salesAmount}</td>
            </tr>
        </c:forEach>
    </table>
    
    <a href="/sales/export">Export to Excel</a>
</body>
</html>

注意:以上代码只是一个示例,实际应用中需要根据具体需求进行适当修改和完善。同时,还需要配置Spring、SpringMVC和MyBatis的相关配置文件,并创建数据库表和相应的实体类(SalesData)。

2	年度销售统计功能按钮;3	月度销售统计功能按钮;4	周度销售统计功能按钮;5	日度销售统计功能按钮;6	统计结果导出为Excel文件。ssm+jsp代码

原文地址: https://www.cveoy.top/t/topic/jbK6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录