`
- 浏览:
165971 次
- 性别:
- 来自:
成都
-
package com.hull.servlet;
import jxl.*;
import jxl.write.*;
import jxl.format.BorderLineStyle;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.hull.db.pool.SqlServerPool;
import com.hull.tools.StringConverter;
/**
* <p>Title: hull</p>
* <p>Description: read and write excel with java</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: hz-group</p>
* @author wangdong
* @version 1.0
*/
public class JExcel extends HttpServlet{
private String excelFilePath;
private WritableWorkbook wbbook;
//private FileOutputStream os;
private OutputStream os;
private WritableCellFormat wcf,wcf_title;
private WritableSheet ws;
private String title;
private int sheetid;
private long shipid;
public void init(ServletConfig config) throws ServletException{
super.init();
excelFilePath = config.getInitParameter("excelFilePath");
if(excelFilePath == null){
throw new ServletException("不能创建excel文件!");
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("application/vnd.ms-excel");
title = request.getParameter("shipname");
shipid = (new Long(request.getParameter("shipid"))).longValue();
os = response.getOutputStream();
wbbook = Workbook.createWorkbook(os);
sheetid = (wbbook.getSheets()).length;
try{
wcf = new WritableCellFormat();
wcf.setAlignment(Alignment.RIGHT);
wcf.setBorder(Border.ALL,BorderLineStyle.THIN);
wcf.setWrap(true);
wcf_title = new WritableCellFormat();
wcf_title.setAlignment(Alignment.CENTRE);
wcf_title.setBorder(Border.ALL,BorderLineStyle.THIN);
}
catch(WriteException e){
}
ws = wbbook.createSheet(StringConverter.EnToChinese(title),sheetid+1);
ws.setColumnView(0,20);
ws.setColumnView(1,20);
ws.setColumnView(2,20);
ws.setColumnView(3,20);
try{
/**
* 写标题
*/
jxl.write.Label labelTitle = new jxl.write.Label(0,0,StringConverter.EnToChinese(title),wcf_title);
ws.mergeCells(0,0,3,0);
ws.addCell(labelTitle);
/**
* 写入船型内容
*/
SqlServerPool pool = new SqlServerPool();
int i=0,j=1,work=1;
String strsql = "select a.*,b.refvalue from shipref a left join refcontent b on b.refid=a.id "+
"where a.shipid="+shipid+" order by a.reftype desc";
ResultSet rs = pool.executeQuery(strsql);
while(rs.next()){
if(rs.getString("reftype").equals("文本")){
jxl.write.Label typeLabel = new jxl.write.Label(0,j++,rs.getString("refname"),wcf);
ws.addCell(typeLabel);
jxl.write.Label valueLabel = new jxl.write.Label(1,j-1,rs.getString("refvalue"),wcf);
ws.mergeCells(1,j,3,j);
ws.addCell(valueLabel);
}
else{
if(i%2 == 1){
jxl.write.Label typeLabel = new jxl.write.Label(0,j,rs.getString("refname"),wcf);
ws.addCell(typeLabel);
jxl.write.Label valueLabel = new jxl.write.Label(1,j,rs.getString("refvalue"),wcf);
ws.addCell(valueLabel);
}
else{
jxl.write.Label typeLabel = new jxl.write.Label(2,j++,rs.getString("refname"),wcf);
ws.addCell(typeLabel);
jxl.write.Label valueLabel = new jxl.write.Label(3,j-1,rs.getString("refvalue"),wcf);
ws.addCell(valueLabel);
}
work = j;
}
i++;
}
if(work%2 == 1){
jxl.write.Label additional1 = new jxl.write.Label(2,work,"",wcf);
ws.addCell(additional1);
jxl.write.Label additional2 = new jxl.write.Label(3,work,"",wcf);
ws.addCell(additional2);
}
wbbook.write();
wbbook.close();
os.flush();
os.close();
}
catch(Exception ex){
}
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Java编程环境中,将JSP表格中的数据导出到Excel文件是一种常见的需求,尤其是在数据分析、报表生成和数据交换等场景中。本篇文章将详细介绍如何利用Java实现这一功能,主要涉及的技术包括Java Servlet、JSP以及...
总之,JSP导出Excel和Word是常见的功能需求,通过Apache POI库可以轻松实现。正确设置响应头和使用流处理可以确保文件能被正确下载,同时根据实际需求调整数据处理和样式设置,能够创建符合业务需求的导出文件。
在JSP页面导出Excel时,我们会用到POI库来创建和操作Excel工作簿、工作表和单元格。首先,确保项目中已经引入了Apache POI的相关依赖。 2. **服务器端代码** 在后端Java代码中,你需要创建一个Servlet或者...
"jsp页面数据通过excel导出"这个主题就是关于如何在Java Web应用程序中利用JSP(JavaServer Pages)技术和Apache POI库将动态生成的数据导出为Excel文件。Apache POI是一个强大的API,它允许开发者读写Microsoft ...
本篇主要探讨如何利用JSP和Servlet将数据库中的数据导出到Excel文件,这对于数据分析、报告生成等场景非常实用。 首先,我们需要了解JSP和Servlet的基本概念。JSP是一种动态网页技术,它允许开发者在HTML页面中嵌入...
在这个主题中,我们将深入探讨如何使用Java技术栈,特别是基于IDEA开发环境,来实现在JSP和Servlet中进行Excel与数据库之间的数据导入和导出。 首先,我们需要了解Java中用于处理Excel文件的库,如Apache POI。...
在IT行业中,尤其是在Web开发领域,常常需要将数据导出为Excel格式,以便用户进行查看、分析或进一步处理。JSP(JavaServer Pages)作为Java的一种动态网页技术,经常被用来实现这种功能。本篇文章主要探讨了在使用...
在IT行业中,尤其是在Web开发领域,常常需要将网页上的数据导出为Excel格式,以便用户进行下载和进一步处理。本文将详细介绍如何使用JSP(JavaServer Pages)来实现这一功能,特别是针对页面上的HTML表格数据。 ...
在JavaWeb开发中,JSP(JavaServer Pages)页面经常被用来构建动态用户界面,而Excel作为常用的电子表格工具,其数据处理能力强大,广泛应用于数据管理与分析。本篇文章将详细探讨如何在JSP中实现Excel的导出和导入...
**二、导出Excel到JSP** 1. **创建Excel文件**:在服务器端,使用Apache POI创建一个新的工作簿对象,然后添加工作表。根据需要设置标题行和其他格式。 2. **填充数据**:从数据库或其他数据源获取数据,使用POI ...
本文将详细介绍如何在Java和JSP环境中利用Apache POI库导出Excel表格,包括必要的库导入、代码示例和关键步骤解析。 #### Apache POI库简介 Apache POI是Apache软件基金会的一个开源项目,它提供了一组用于处理...
在IT行业中,尤其是在Web开发领域,常常需要将网页上的数据导出到Excel文件,以便用户进行数据分析或存储。本主题聚焦于"JSP中table导出多表头excel"的技术实现,这是一种常见的需求,特别是在展示复杂表格数据时,...
**JSP Struts2 分页 导出Excel** 在Web开发中,经常需要处理大量数据,这时分页显示和导出功能就显得尤为重要。JSP(JavaServer Pages)和Struts2作为Java Web开发中的常见技术,可以帮助我们构建动态、交互的网页...
查询数据跳转到当前的jsp,通过获取后台的接口数据导出excel文件,最后再自动跳转到上一个的页面。
描述部分进一步明确了文章的目的——不仅仅是在JSP页面上显示数据,更重要的是能够将这些数据导出成Excel格式,方便用户在客户端进行进一步的操作,如数据分析、打印等。这里强调的是“快速生成报表”,意味着介绍的...
在这里,通过使用JQUERY+JQUERY UI+JSON-LIB+POI实现这个功能数据导出设计:通过使用JQUERY分析表格的结构,读取表格结构数据构建JSON字符串,发送到后台,后台分析表格结构,然后生成Excel数据. 本程序基于是...
在JSP页面数据导出Excel中,JavaScript主要用于数据交互、报表格式设计和数据获取。JavaScript可以通过EXT中间件进行数据交互,使用JsonReader将数据转换为JSON格式,并使用ActiveXObject创建Excel对象,实现数据的...
接下来,我们讨论JSP数据导出到Excel。这一过程通常是根据用户请求,从数据库中查询数据,然后生成Excel文件供用户下载。主要步骤包括: 1. **创建Excel工作簿**:使用POI库创建一个新的`Workbook`对象。 2. **创建...
通过以上步骤,我们可以实现在JSP环境中动态生成并导出Excel文件,不仅提高了数据处理的灵活性,还增强了用户体验。无论是对于日常的数据管理还是数据分析场景,这一技术的应用都显得尤为重要且实用。
在IT领域,特别是Web开发中,JSP(JavaServer Pages)...在JSP中导入导出Excel文件,Apache POI是一个强大且灵活的工具。掌握其基本用法后,可以高效地处理各种Excel文件相关的任务,从而提升Web应用的数据处理能力。