中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JSP如何動態生成Excel文件

發布時間:2024-11-13 14:39:54 來源:億速云 閱讀:81 作者:小樊 欄目:編程語言

在JSP中動態生成Excel文件,可以使用Apache POI庫或者jxl庫。這里我將向您展示如何使用Apache POI庫來動態生成Excel文件。

首先,確保您的項目中已經包含了Apache POI庫。如果您使用的是Maven項目,可以在pom.xml文件中添加以下依賴:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.1.0</version>
</dependency>

接下來,創建一個JSP文件,例如generateExcel.jsp,并在其中編寫以下代碼:

<%@ page import="org.apache.poi.ss.usermodel.*" %>
<%@ page import="org.apache.poi.xssf.usermodel.XSSFWorkbook" %>
<%@ page contentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8" language="java" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.io.OutputStream" %>

<%
    // 創建一個新的Excel工作簿
    Workbook workbook = new XSSFWorkbook();
    // 創建一個工作表
    Sheet sheet = workbook.createSheet("Dynamic Excel");

    // 創建表頭樣式
    CellStyle headerStyle = workbook.createCellStyle();
    headerStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
    headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
    Font headerFont = workbook.createFont();
    headerFont.setBold(true);
    headerStyle.setFont(headerFont);

    // 創建表頭
    Row headerRow = sheet.createRow(0);
    String[] headers = {"ID", "Name", "Age"};
    for (int i = 0; i < headers.length; i++) {
        Cell cell = headerRow.createCell(i);
        cell.setCellValue(headers[i]);
        cell.setCellStyle(headerStyle);
    }

    // 創建數據行
    int rowNum = 1;
    for (int i = 1; i <= 10; i++) {
        Row row = sheet.createRow(rowNum++);
        row.createCell(0).setCellValue(i);
        row.createCell(1).setCellValue("Name" + i);
        row.createCell(2).setCellValue(25 + i);
    }

    // 設置響應頭
    response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    response.setHeader("Content-Disposition", "attachment;filename=dynamicExcel.xlsx");
    response.setContentLength((int) workbook.getSize());

    // 將工作簿寫入輸出流
    try (OutputStream outputStream = response.getOutputStream()) {
        workbook.write(outputStream);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
%>

在這個示例中,我們首先創建了一個新的Excel工作簿和一個工作表。然后,我們設置了表頭樣式和表頭,接著創建了一些數據行。最后,我們設置了響應頭,將工作簿寫入輸出流,并將其作為附件下載。

要運行此示例,請將generateExcel.jsp文件部署到您的Web服務器上,并通過瀏覽器訪問它。您應該能夠下載一個名為dynamicExcel.xlsx的Excel文件,其中包含我們動態生成的數據。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jsp
AI

蛟河市| 桐柏县| 长阳| 大港区| 勃利县| 高平市| 和林格尔县| 银川市| 乐东| 清水县| 西充县| 龙陵县| 宁化县| 额济纳旗| 巴彦淖尔市| 专栏| 永泰县| 镇巴县| 梁山县| 屏边| 龙海市| 阿克苏市| 漠河县| 新蔡县| 博野县| 嘉定区| 当阳市| 阳春市| 石嘴山市| 黔西| 广南县| 永德县| 安化县| 益阳市| 余江县| 张家港市| 饶平县| 金山区| 克什克腾旗| 河曲县| 乌拉特中旗|