關於jsp程序導出excel的信息

本文目錄一覽:

如何將jsp數據導出到excel中

jsp通過POI導入導出Excel。

步驟:

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

—————–

// 第一步,創建一個webbook

HSSFWorkbook wb = new HSSFWorkbook();

// 第二步,添加一個sheet

HSSFSheet sheet = wb.createSheet(“表一”);

// 第三步,在sheet中添加表頭

HSSFRow row = sheet.createRow((int) 0);

// 第四步,創建單元格

HSSFCellStyle style = wb.createCellStyle();

style.setAlignment(HSSFCellStyle.ALIGN_CENTER);

—————-

生成單元格內容

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

cell.setCellValue(“內容”);

cell.setCellStyle(style);

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

————–

FileOutputStream fout = new FileOutputStream(“D:/test.xls”);

wb.write(fout);

fout.close();

jsp如何導出excel

類文件,導入poi包。package com.grs.exportexcel;import java.io.*;

import java.util.List;

import org.apache.poi.hssf.usermodel.*;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;public final class ExcelUtils

{public ExcelUtils() {

}/**

* 導出excel對外接口

*

* @param title 標題 如:同業對標分段統計報表

* @param tableData 數據表數據 如:new String[][]{{“表頭1″,”表頭2”},{“data1″,”data2”}}

* @param exportFileName 導出後的文件名 如:data.xls

* @param request

* @param response

*/

public static void exportExcelData(

String title,

String[][] tableData,

String exportFileName,

HttpServletRequest request,

HttpServletResponse response) {

response.reset();

String fileName = “attachment;filename=\”” + exportFileName + “\”;”;

response.setHeader(“Content-disposition”, fileName);

response.setContentType(“application/vnd.ms-excel”);

try {

exportExcel(title,tableData,response.getOutputStream(),createWorkbook());

response.getOutputStream().flush();

response.getOutputStream().close();

} catch (Exception e) {

e.printStackTrace();

// log.error(e.getMessage(), e);

}

}

protected static void exportExcel(

String title,

String[][] tableData,

OutputStream output,

HSSFWorkbook workbook)

throws Exception {

HSSFSheet sheet = workbook.getSheetAt(0);

HSSFCellStyle titleStyle = workbook.createCellStyle();

titleStyle.setFillBackgroundColor((short) 55);

HSSFFont hsFont = workbook.createFont();

hsFont.setBoldweight((short) 700);

String titles[] = tableData[0];

titleStyle.setFont(hsFont);

titleStyle.setAlignment((short) 2);

HSSFRow row = sheet.createRow(1); row.setHeight((short) 300);

HSSFCell cell = createCell(row, (short) 0, title, titleStyle); row = sheet.createRow(3);

row.setHeight((short) 250);

short i = 0;

for (int forI = 0; forI titles.length; forI++) {

createCell(row, i, titles[forI], titleStyle);

i++;

} int rowCount = 4; for (int rowPos = 1; rowPos tableData.length; rowPos++) {

row = sheet.createRow(rowCount++);

i = 0;

for (int colPos = 0; colPos tableData[rowPos].length; colPos++) {

createCell(row, i, tableData[rowPos][colPos], null);

i++;

}

}

try {

workbook.write(output);

} catch (Exception e) {

//throw new Exception(e);

}

} protected static HSSFCell createCell(

HSSFRow row,

short cellCount,

String value,

HSSFCellStyle titleStyle) {

HSSFCell cell = row.createCell(cellCount);

cell.setEncoding((short) 1);

if (titleStyle != null)

cell.setCellStyle(titleStyle);

cell.setCellValue(value); return cell;

}public static HSSFWorkbook createWorkbook() throws Exception {

HSSFWorkbook wb = new HSSFWorkbook();

HSSFSheet s = wb.createSheet();

return wb;

}public static HSSFWorkbook createWorkbook(int sheetCount)

throws Exception {

HSSFWorkbook wb = new HSSFWorkbook();

for (int i = 0; i sheetCount; i++) {

HSSFSheet si = wb.createSheet();

} return wb;

}public static HSSFWorkbook createWorkbook(int sheetCount, List sblxList)

throws Exception {

HSSFWorkbook wb = new HSSFWorkbook();

for (int i = 0; i sheetCount; i++) {

HSSFSheet si = wb.createSheet((String) sblxList.get(i));

wb.setSheetName(i, (String) sblxList.get(i), (short) 1);

} return wb;

}}頁面代碼!%@ page contentType=”text/html; charset=gb2312″%

%@ page import=”java.util.*”%

%@ page import=”com.grs.exportexcel.*”%%

//導出在數據

String queryData[][] = new String[3][2]; //[行][列]

//列名

/***

***在此處獲得請求在參數,根據參數或者調用方法得到結果

***將結果存入queryDate[][]中

***/ String exportFileName = “data.xls”;//導出Excel在名稱可以根據參數命名。

//導出EXCEL

ExcelUtils.exportExcelData(“san”, queryData, exportFileName,

request, response);

if (out != null out.getBufferSize() != 0) {

out.clearBuffer();

out = pageContext.pushBody();

}

%

如何把JSP頁面導出到Excel中

jsp頁面導出excel的話,剛好有做這個功能,可以參考如下代碼:

function getExplorer() {

var explorer = window.navigator.userAgent;

// ie

if (explorer.indexOf(“MSIE”) = 0 || (explorer.indexOf(“Windows NT 6.1;”) = 0 explorer.indexOf(“Trident/7.0;”) = 0) ) {

alert(“識別你是IE瀏覽器1111======”);

return ‘ie’;

}

// firefox

else if (explorer.indexOf(“Firefox”) = 0) {

return ‘Firefox’;

}

// Chrome

else if (explorer.indexOf(“Chrome”) = 0) {

return ‘Chrome’;

}

// Opera

else if (explorer.indexOf(“Opera”) = 0) {

return ‘Opera’;

}

// Safari

else if (explorer.indexOf(“Safari”) = 0) {

return ‘Safari’;

}

}

//設置導出的excel的標題

var excelTitle =”表格數據”;

function toOutPutExcel(tableid,title) {// 整個表格拷貝到EXCEL中

excelTitle =title;

if (getExplorer() == ‘ie’) {

var curTbl = document.getElementById(tableid);

var oXL = new ActiveXObject(“Excel.Application”);

// 創建AX對象excel

var oWB = oXL.Workbooks.Add();

// 獲取workbook對象

var xlsheet = oWB.Worksheets(1);

// 激活當前sheet

var sel = document.body.createTextRange();

sel.moveToElementText(curTbl);

// 把表格中的內容移到TextRange中

sel.select;

// 全選TextRange中內容

sel.execCommand(“Copy”);

// 複製TextRange中內容

xlsheet.Paste();

// 粘貼到活動的EXCEL中

oXL.Visible = true;

// 設置excel可見屬性

try {

var fname = oXL.Application.GetSaveAsFilename(“Excel.xls”,

“Excel Spreadsheets (*.xls), *.xls”);

} catch (e) {

print(“Nested catch caught ” + e);

} finally {

oWB.SaveAs(fname);

oWB.Close(savechanges = false);

// xls.visible = false;

oXL.Quit();

oXL = null;

// 結束excel進程,退出完成

// window.setInterval(“Cleanup();”,1);

idTmr = window.setInterval(“Cleanup();”, 1);

}

} else {

tableToExcel(tableid);

}

}

function Cleanup() {

window.clearInterval(idTmr);

CollectGarbage();

}

var tableToExcel = (function() {

var uri = ‘data:application/vnd.ms-excel;base64,’, template = ‘html xmlns:o=”urn:schemas-microsoft-com:office:office” xmlns:x=”urn:schemas-microsoft-com:office:excel” xmlns=””head!–[if gte mso 9]xmlx:ExcelWorkbookx:ExcelWorksheetsx:ExcelWorksheetx:Name{worksheet}/x:Namex:WorksheetOptionsx:DisplayGridlines//x:WorksheetOptions/x:ExcelWorksheet/x:ExcelWorksheets/x:ExcelWorkbook/xml![endif]–/headbodytable{table}/table/body/html’, base64 = function(

s) {

return window.btoa(unescape(encodeURIComponent(s)))

}, format = function(s, c) {

return s.replace(/{(\w+)}/g, function(m, p) {

return c[p];

})

}

return function(table, name) {

if (!table.nodeType)

table = document.getElementById(table)

var ctx = {

worksheet : excelTitle || ‘Worksheet’,

table : table.innerHTML

}

//window.location.href = uri + base64(format(template, ctx))

var titleDate= new Date().Format(“yyyy-MM-dd hh-mm-ss”);

document.getElementById(“dlink”).href = uri + base64(format(template, ctx));

document.getElementById(“dlink”).download = excelTitle+titleDate+”.xls”;

document.getElementById(“dlink”).click();

}

})()

怎麼把JSP頁面里的查詢出來的數據導出到excel

jsp頁面導出excel的話,剛好有做這個功能,可以參考如下代碼:

function getExplorer() {

var explorer = window.navigator.userAgent;

// ie

if (explorer.indexOf(“MSIE”) = 0 || (explorer.indexOf(“Windows NT 6.1;”) = 0 explorer.indexOf(“Trident/7.0;”) = 0) ) {

alert(“識別你是IE瀏覽器1111======”);

return ‘ie’;

}

// firefox

else if (explorer.indexOf(“Firefox”) = 0) {

return ‘Firefox’;

}

// Chrome

else if (explorer.indexOf(“Chrome”) = 0) {

return ‘Chrome’;

}

// Opera

else if (explorer.indexOf(“Opera”) = 0) {

return ‘Opera’;

}

// Safari

else if (explorer.indexOf(“Safari”) = 0) {

return ‘Safari’;

}

}

//設置導出的excel的標題

var excelTitle =”表格數據”;

jsp頁面的數據怎麼樣導出到excel表格

方法一:

function saveCode(obj) {

var winname = window.open(”, ‘_blank’, ‘top=10000’);

var strHTML = document.all.tableExcel.innerHTML;

winname.document.open(‘text/html’, ‘replace’);

winname.document.writeln(strHTML);

winname.document.execCommand(‘saveas’,”,’excel.xls’);

winname.close();

}

方法二:

// Excel導出2

/**

如果javaScript報“Automation 服務器不能創建對象”,則按下方解決。

打開Internet Explorer “工具”菜單欄中的“選項”一欄,單擊“安全”欄中的“自定義級別”選項卡,

將第三項“對沒有標記為安全的activex控件進行初始化和腳本運行”設置成“啟用”即可。

*/

function exportExecl(tableId) {

var table=document.getElementById(tableId);

var oXL = new ActiveXObject(“Excel.Application”);

var oWB = oXL.Workbooks.Add();

var oSheet = oWB.ActiveSheet;

var sel=document.body.createTextRange();

sel.moveToElementText(table);

sel.select();

sel.execCommand(“Copy”);

oSheet.Paste();

oXL.Visible = true;

}

這裡的tableId為表格的id

怎麼從jsp頁面的表格導出到Excel

無非是這樣的一個過程。先通過數據庫查詢出數據,放到List里,然後把這個List發往頁面,然後遍歷這個List把數據顯示到這個表格里。 要想把數據導出到execel,很簡單,把頁面接受的這個List用jxl寫到Execel就行了。具體將List導出到Execel的類如下:

package cms.dao;

import java.io.IOException;

import java.io.OutputStream;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import jxl.Workbook;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import cms.utlis.DbUtils;

public class ToExecelByQuery {

//方法接受兩個參數,一個是list,這個地方我用了泛型。另一個參數是HttpServletResponse response

public static void toExcelBy(ListAccessLog list,HttpServletResponse response) {

// 創建工作表

WritableWorkbook book=null;

response.reset();

// 創建工作流

OutputStream os =null;

try {

// 設置彈出對話框

response.setContentType(“application/DOWLOAD”);

// 設置工作表的標題

response.setHeader(“Content-Disposition”,

“attachment; filename=****.xls”);//設置生成的文件名字

os = response.getOutputStream();

// 初始化工作表

book = Workbook.createWorkbook(os);

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

try{

//以下是我做的導出日誌的一個模版

int nCount = list.size();

WritableSheet sheet = book.createSheet(“訪問日誌”, 0);

// 生成名為”商品信息”的工作表,參數0表示這是第一頁

int nI = 1;

// 表字段名

sheet.addCell(new jxl.write.Label(0, 0, “日誌編號”));

sheet.addCell(new jxl.write.Label(1, 0, “用戶ID”));

sheet.addCell(new jxl.write.Label(2, 0, “用戶姓名”));

sheet.addCell(new jxl.write.Label(3, 0, “訪問日期”));

sheet.addCell(new jxl.write.Label(4, 0, “訪問時間”));

sheet.addCell(new jxl.write.Label(5, 0, “名片ID”));

sheet.addCell(new jxl.write.Label(6, 0, “名片名稱”));

sheet.addCell(new jxl.write.Label(7, 0, “創建日期”));

sheet.addCell(new jxl.write.Label(8, 0, “更新日期”));

// 將數據追加

for(int i=1;ilist.size();i++){

sheet.addCell(new jxl.write.Label(0, i, list.get(i).toString()));

sheet.addCell(new jxl.write.Label(1, i, list.get(i).getUserId()));

sheet.addCell(new jxl.write.Label(2, i, list.get(i).getUsername()));

sheet.addCell(new jxl.write.Label(3, i, list.get(i).getCrtTim()));

sheet.addCell(new jxl.write.Label(4, i, list.get(i).getComplTime()));

sheet.addCell(new jxl.write.Label(5, i, list.get(i).getCopId()));

sheet.addCell(new jxl.write.Label(6, i, list.get(i).getFirstname()));

sheet.addCell(new jxl.write.Label(7, i, list.get(i).getCrtTim()));

sheet.addCell(new jxl.write.Label(8, i, list.get(i).getUpdTim()));

}

book.write();

book.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

大體思路就是這樣的,別忘了在你的項目中導入JXL必要的jar包,這個包叫jxl.jar,你可以下載一個。希望能幫到你,歡迎追問。望採納!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/306575.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 12:01
下一篇 2025-01-02 12:01

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • 爬蟲是一種程序

    爬蟲是一種程序,用於自動獲取互聯網上的信息。本文將從如下多個方面對爬蟲的意義、運行方式、應用場景和技術要點等進行詳細的闡述。 一、爬蟲的意義 1、獲取信息:爬蟲可以自動獲取互聯網上…

    編程 2025-04-29
  • Vb運行程序的三種方法

    VB是一種非常實用的編程工具,它可以被用於開發各種不同的應用程序,從簡單的計算器到更複雜的商業軟件。在VB中,有許多不同的方法可以運行程序,包括編譯器、發布程序以及命令行。在本文中…

    編程 2025-04-29
  • Python一元二次方程求解程序

    本文將詳細闡述Python一元二次方程求解程序的相關知識,為讀者提供全面的程序設計思路和操作方法。 一、方程求解 首先,我們需要了解一元二次方程的求解方法。一元二次方程可以寫作: …

    編程 2025-04-29
  • 如何使用GPU加速運行Python程序——以CSDN為中心

    GPU的強大性能是眾所周知的。而隨着深度學習和機器學習的發展,越來越多的Python開發者將GPU應用於深度學習模型的訓練過程中,提高了模型訓練效率。在本文中,我們將介紹如何使用G…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟件開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29
  • 微信小程序和Python數據交互完整指南

    本篇文章將從多個方面介紹如何在微信小程序中實現與Python的數據交互。通過本文的學習,您將掌握如何將微信小程序與後台Python代碼結合起來,實現更豐富的功能。 一、概述 微信小…

    編程 2025-04-29

發表回復

登錄後才能評論