首页 > 编程知识 正文

包含jsp带样式导出excel的词条

时间:2023-12-06 16:47:16 阅读:312761 作者:NQTY

本文目录一览:

  • 1、jsp页面的excel的导出
  • 2、如何把JSP页面导出到Excel中
  • 3、jsp如何导出excel
  • 4、如何把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;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。