包含jsp帶樣式導出excel的詞條

本文目錄一覽:

jsp頁面的excel的導出

額…我給你看看哈.!

仍然用response.setContentType(“application/vnd.ms-excel”) ,後面看你原來是用什麼方式輸出的,比如XML方式的,稍加修改就可以了。

你打開一個EXCEL文件,選擇另存為XML格式,現在這個XML文件可以用記事本打開,最後把文件的擴展名.XML改為.XLS,就可以雙擊在EXCEL裏面打開。

你的JSP輸出的內容,按照前面XML的格式輸出你的內容,瀏覽器上就會下載一個EXCEL可以打開的文件,什麼格式都可以實現。

補充:

這個帖子實在說不下呀。我過兩天內在我空間發表一篇用PHP生成EXCEL的文件的文章吧。

你的JSP只輸出文本吧,但是你用記事本打開一個EXCEL看一看,開頭是什麼「刑唷」的東西,然後完全是亂碼,你的JSP怎麼才能生成這些亂碼呢?

我估計你儘管用了response.setContentType(“application/vnd.ms-excel”),實際上是輸出的還是HTML代碼,我只能估計,因為第一次就問你,你沒有補充這個關鍵內容,卻讓我猜,還很着急的樣子。如果你用輸出的內容用的HTML,用了一個ms-excel的頭,實際上只是讓EXCEL強制把你的內容理解為EXCEL工作表,當然是不可能實現多個工作表的。

我已經告訴你了,應該用XML,方法是用EXCEL新建立一個文件,簡單輸入少數內容,你保存為XML格式,你就可以用記事本打開這個XML文件查看內容,而且也可以修改為.XLS文件讓EXCEL直接打開。這種方式和上面的HTML一樣,也是掛羊頭賣狗肉,但是這樣羊頭樣子逼真一點,可以實現多個工作表。你自己也不去實踐一下,我貼個EXCEL內容上來也是亂七八糟的呀。

如果還不明白的話.在看看下面的

在需要導出Excel的jsp頁面做一個「導出到Excel」的按鈕

這是代碼:

input name=”btmExcel” class=”button1″ type=”button” id=”btmExcel” value=”導出當前頁” onclick=”saveCode(tableExcel)”

就是這張表的id=「tableExcel」;

==================================================

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’,”,yy+”年”+mt+”月”+dd+”日”+’ 假植情況報表.xls’);

winname.close();

}

這樣就把我當前 比如說分頁顯示10頁的數據 導出到Excel

但是我想把查詢出的所有數據都導出 怎麼做??不單單這10頁的數據

祝你成功,,,,!!!!

如何把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

類文件,導入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吧,有個關於java導出excel的jar包封裝了這個功能,這個jar包你自己去百度下載下來就行,給你個示例,看看就能明白了。

package oa.common.utils;

import java.io.OutputStream;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import java.lang.reflect.Field;

import jxl.Workbook;

import jxl.format.Alignment;

import jxl.format.Border;

import jxl.format.BorderLineStyle;

import jxl.format.VerticalAlignment;

import jxl.write.Label;

import jxl.write.WritableCellFormat;

import jxl.write.WritableFont;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

/***

* @author lsf

*/

public class ExportExcel {

/***************************************************************************

* @param fileName EXCEL文件名稱

* @param listTitle EXCEL文件第一行列標題集合

* @param listContent EXCEL文件正文數據集合

* @return

*/

public final static String exportExcel(String fileName,String[] Title, ListObject listContent) {

String result=”系統提示:Excel文件導出成功!”;

// 以下開始輸出到EXCEL

try {

//定義輸出流,以便打開保存對話框______________________begin

HttpServletResponse response=ServletActionContext.getResponse();

OutputStream os = response.getOutputStream();// 取得輸出流

response.reset();// 清空輸出流

response.setHeader(“Content-disposition”, “attachment; filename=”+ new String(fileName.getBytes(“GB2312″),”ISO8859-1”));

// 設定輸出文件頭

response.setContentType(“application/msexcel”);// 定義輸出類型

//定義輸出流,以便打開保存對話框_______________________end

/** **********創建工作簿************ */

WritableWorkbook workbook = Workbook.createWorkbook(os);

/** **********創建工作表************ */

WritableSheet sheet = workbook.createSheet(“Sheet1”, 0);

/** **********設置縱橫打印(默認為縱打)、打印紙***************** */

jxl.SheetSettings sheetset = sheet.getSettings();

sheetset.setProtected(false);

/** ************設置單元格字體************** */

WritableFont NormalFont = new WritableFont(WritableFont.ARIAL, 10);

WritableFont BoldFont = new WritableFont(WritableFont.ARIAL, 10,WritableFont.BOLD);

/** ************以下設置三種單元格樣式,靈活備用************ */

// 用於標題居中

WritableCellFormat wcf_center = new WritableCellFormat(BoldFont);

wcf_center.setBorder(Border.ALL, BorderLineStyle.THIN); // 線條

wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 文字垂直對齊

wcf_center.setAlignment(Alignment.CENTRE); // 文字水平對齊

wcf_center.setWrap(false); // 文字是否換行

// 用於正文居左

WritableCellFormat wcf_left = new WritableCellFormat(NormalFont);

wcf_left.setBorder(Border.NONE, BorderLineStyle.THIN); // 線條

wcf_left.setVerticalAlignment(VerticalAlignment.CENTRE); // 文字垂直對齊

wcf_left.setAlignment(Alignment.LEFT); // 文字水平對齊

wcf_left.setWrap(false); // 文字是否換行

/** ***************以下是EXCEL開頭大標題,暫時省略********************* */

//sheet.mergeCells(0, 0, colWidth, 0);

//sheet.addCell(new Label(0, 0, “XX報表”, wcf_center));

/** ***************以下是EXCEL第一行列標題********************* */

for (int i = 0; i Title.length; i++) {

sheet.addCell(new Label(i, 0,Title[i],wcf_center));

}

/** ***************以下是EXCEL正文數據********************* */

Field[] fields=null;

int i=1;

for(Object obj:listContent){

fields=obj.getClass().getDeclaredFields();

int j=0;

for(Field v:fields){

v.setAccessible(true);

Object va=v.get(obj);

if(va==null){

va=””;

}

sheet.addCell(new Label(j, i,va.toString(),wcf_left));

j++;

}

i++;

}

/** **********將以上緩存中的內容寫到EXCEL文件中******** */

workbook.write();

/** *********關閉文件************* */

workbook.close();

} catch (Exception e) {

result=”系統提示:Excel文件導出失敗,原因:”+ e.toString();

System.out.println(result);

e.printStackTrace();

}

return result;

}

}

原創文章,作者:V2EL9,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/129405.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
V2EL9的頭像V2EL9
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • 如何使用HTML修改layui內部樣式影響全局

    如果您想要使用layui來構建一個美觀的網站或應用,您可能需要使用一些自定義CSS來修改layui內部組件的樣式。然而,修改layui組件的樣式可能會對整個頁面產生影響,甚至可能破…

    編程 2025-04-29
  • 為什麼不能用Microsoft Excel進行Python編程?

    Microsoft Excel是一個廣泛使用的數據分析工具,但是它不能直接用於Python編程。這是因為Microsoft Excel並不是一個編程工具,它的主要功能是進行數據處理…

    編程 2025-04-29
  • 基尼係數Excel計算模板

    這篇文章將介紹基尼係數Excel計算模板,為大家詳細闡述如何使用Excel進行基尼係數的計算。 一、模板下載及導入 首先需要下載基尼係數的Excel計算模板,可以在Excel中通過…

    編程 2025-04-28
  • JFXtras樣式——美化JavaFX應用的必備神器

    本文將從多個方面對JFXtras樣式進行詳細的闡述,教你如何使用JFXtras樣式來美化你的JavaFX應用。無需任何前置知識,讓我們一步步來了解。 一、簡介 JFXtras是一個…

    編程 2025-04-27
  • 使用ReoGrid操作Excel的WPf應用

    本文將詳細闡述如何使用ReoGrid來操作Excel,重點介紹在WPF應用程序中使用ReoGrid的方法及注意點。 一、ReoGrid簡介 ReoGrid是一個基於.NET的開源組…

    編程 2025-04-27
  • 為什麼web項目的歡迎頁必須是jsp?

    在web項目中,歡迎頁通常是用戶首次訪問的頁面。而對於這個頁面的選擇,我們通常會選擇jsp作為歡迎頁,其原因是什麼呢? 一、JSP的優勢 JSP與HTML和CSS的結合,可以實現動…

    編程 2025-04-25
  • Excel日期函數

    Excel是當前企業和個人使用非常廣泛的辦公軟件之一。其中的日期函數可以用於處理各種涉及日期和時間的任務。本文將從不同的方面介紹Excel日期函數,幫助讀者深入了解和熟練使用日期函…

    編程 2025-04-25
  • 如何優雅地改變鼠標指針樣式

    我們在網頁設計中,經常會遇到需要改變鼠標指針樣式的情況,比如當我們將鼠標移動到一個鏈接上時,我們希望鼠標指針變成手型,這時我們就需要用到改變鼠標指針樣式的技巧。本文將從多個方面詳細…

    編程 2025-04-25
  • Java Excel導入導出詳解

    一、Excel文件簡介 Excel是微軟公司開發的一種電子表格程序,多用於商業、財務、科學等各種數據處理。 Excel文件通常以.xls或.xlsx格式存儲,其中.xls格式為Ex…

    編程 2025-04-25
  • Word轉Excel詳解

    一、使用Office插件 1、可以使用Office自帶的「將表格複製為Excel工作簿」插件。只需在Word中選中表格,點擊「插入」選項卡中的「對象」按鈕,在彈出的窗口中選擇「將表…

    編程 2025-04-25

發表回復

登錄後才能評論