本文目錄一覽:
- 1、如何將jsp數據導出到excel中
- 2、jsp如何導出excel
- 3、如何把JSP頁面導出到Excel中
- 4、怎麼把JSP頁面里的查詢出來的數據導出到excel
- 5、jsp頁面的數據怎麼樣導出到excel表格
- 6、怎麼從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-hk/n/306575.html