`
xjq2008
  • 浏览: 15834 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

数据导出

    博客分类:
  • J2EE
 
阅读更多
package com;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;


	public class PermitAction extends DispatchAction
	{
		public ActionForward getPermitList(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
		{
			String fuserId = request.getParameter("fuserId");
		
			try
			{
				response.getWriter().print("<script>history.back();alert('hjhjhjhjhjh');</script>");
				------------直接返回到当前页面----------
			} catch (IOException e)
			{
				e.printStackTrace();
			}
			return null;
		}
	}

 

 

    数据导出:

	// 导出Excel
        // 先将数据导到服务器上的路径,然后下载
String path = request.getSession().getServletContext().getRealPath("excel") + File.separator + "locationresult.xls";
// 先将数据导到服务器上的路径:exportExcel 函数如下
this.exportExcel(sql.toString(), path);

File file = new File(path);
// application/vnd.ms-excel : 这个可去tomcat 配置文件(web.xml)中找  还有其他类型
response.setContentType("application/vnd.ms-excel");

response.setHeader("Content-Disposition", "attachment; filename=locationresult.xls");
response.setContentType("application/x-msdownload");
InputStream is = new FileInputStream(file);
OutputStream os = response.getOutputStream();
int i = 0;
byte[] buffer = new byte[10240];
while ((i = is.read(buffer, 0, buffer.length)) > -1)
{
	os.write(buffer, 0, i);
	os.flush();
}
if (is != null)
{
 is.close();
}
if (os != null)
{
	os.close();
}

==================
public void exportExcel(String sql, String path)
	{
		ResultSet rs = null;
		Statement stmt = null;
		Connection conn =  null;
		try
		{
			WritableWorkbook book = Workbook.createWorkbook(new File(path));
			// 生成名为"第一页"的工作表,参数0表示这是第一页
			WritableSheet sheet = book.createSheet("第u19968 页, 0);
			// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0) //以及单元格内容为test
			 conn = oracleToolIn.getConnection();//获取数据方法自己修改
			 stmt = conn.createStatement();
			 rs = stmt.executeQuery(sql);
			ResultSetMetaData rsmd = rs.getMetaData();
			int colCnt = rsmd.getColumnCount();
			for (int k = 1; k < colCnt + 1; k++)
			{
				String title = rsmd.getColumnName(k);
				Label labelTitle = new Label(k - 1, 0, title);
				sheet.addCell(labelTitle);
			}

			int i = 1;
			while (rs.next())
			{
				for (int j = 1; j < colCnt + 1; j++)
				{
					String colName = rsmd.getColumnName(j);
					String colValue = rs.getString(colName);
					Label label = new Label(j - 1, i, colValue);
					sheet.addCell(label);
				}
				i++;
			}
			
			book.write();
			book.close();
		}
		catch (Exception e)
		{
			
		}
		finally
		{
			
			try 
			{
				if(rs!=null)
				{
						rs.close();
				}
				if(stmt!=null)
				{
					stmt.close();
				}
				if(conn!=null)
				{
					conn.close();
				}
				}catch (Exception e) 
					{
						Log4jInit.logger().error(e.toString());
					}
			}
	} 

=================================
// 导出HTML

// 先将数据导到服务器上的路径,然后下载
				String path = request.getSession().getServletContext().getRealPath("excel") + File.separator + "motesss.html";
				this.exportHtml(sql.toString(), path);
				response.setContentType("text/html");
				response.setHeader("Content-Disposition", "attachment; filename=mouserlist.html");
				response.setContentType("application/x-download");
				InputStream is = new FileInputStream(path);
				OutputStream os = response.getOutputStream();
				int i = 0;
				byte[] buffer = new byte[10240];
				while ((i = is.read(buffer, 0, buffer.length)) > -1)
				{
					os.write(buffer, 0, i);
					os.flush();
				}
				if (is != null)
				{
					is.close();
				}
				if (os != null)
				{
					os.close();
				}
==================
public void exportHtml(String sql, String path)
	{
		PrintWriter pw = null;
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		try
		{
			 conn = oracleToolIn.getConnection();
			 stmt = conn.createStatement();
			 rs = stmt.executeQuery(sql);
			ResultSetMetaData rsmd = rs.getMetaData();
			StringBuffer html = new StringBuffer("<table border=1>");
			StringBuffer title = new StringBuffer("<tr>");
			int colCnt = rsmd.getColumnCount();
			for (int k = 1; k < colCnt + 1; k++)
			{
				title.append("<td>").append(rsmd.getColumnName(k)).append("</td>");
			}
			title.append("</tr>");
			html.append(title.toString());
			while (rs.next())
			{
				html.append("<tr>");
				for (int j = 1; j < colCnt + 1; j++)
				{
					String colName = rsmd.getColumnName(j);
					String colValue = rs.getString(colName);
					html.append("<td>").append(colValue).append("</td>");
				}
				html.append("</tr>");
			}
		
			html.append("</table>");
			File f =  new File(path);
			pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(f),"gb2312"));
			pw.write(html.toString());
			pw.flush();
			pw.close();
		}
		catch (Exception e)
		{
			Log4jInit.logger().error(e.toString());
		}
		finally
		{
			
			try 
			{
				if(rs!=null)
				{
					rs.close();
				}
				if(stmt!=null)
				{
					stmt.close();
				}
				if(conn!=null)
				{
					conn.close();
				}
				}catch (Exception e) 
					{
						Log4jInit.logger().error(e.toString());
					}
			}

	}

 

分享到:
评论

相关推荐

    wincc归档数据导出

    ### WinCC归档数据导出的关键知识点 #### 一、WinCC归档数据导出概述 **WinCC** (Windows Control Center) 是一款由西门子公司开发的强大工业自动化软件平台,广泛应用于各种工业领域的监控与数据采集系统(SCADA)...

    wincc数据导出方法

    WinCC在生产过程中能够收集大量数据,当这些数据需要存档或分析时,通常需要将数据导出到文件中,以便于进一步处理或记录。本文将详细介绍如何将WinCC中的历史数据导出到Excel CSV文件中。 首先,要理解的是,从...

    PHP数据导出成csv

    在PHP编程中,数据导出是一项常见的需求,特别是在数据分析、报表生成或用户下载服务中。CSV(Comma Separated Values)格式是一种通用的数据交换格式,因其简单性和广泛的兼容性而被广泛使用。本文将深入探讨如何...

    Keil数据导出分析

    总结起来,"Keil数据导出分析"是一个涉及嵌入式开发工具与办公软件协同工作的过程,它能够帮助开发者更高效地理解和分析程序运行中的内存数据,从而提高调试效率和代码质量。通过熟练掌握Keil的数据导出及Excel的...

    用友NC财务软件数据导出方法.doc

    用友NC财务软件数据导出方法 用友NC财务软件是一款功能强大且广泛应用于企业财务管理的财务软件。随着企业数据的增加和复杂性,数据导出变得越来越重要。因此,本文将详细介绍用友NC财务软件数据导出方法,旨在帮助...

    MCGS历史数据导出,比较详细

    ### MCGS历史数据导出详解 #### 一、引言 MCGS(Monitor and Control Generated System)是一款广泛应用于工业自动化领域的组态软件。它主要用于监控与控制系统的设计与开发,能够快速构建人机交互界面(HMI)。...

    Elasticsearch数据导出工具

    Elasticsearch数据导出工具是一种高效实用的解决方案,它允许用户方便地从Elasticsearch(ES)集群中抽取数据,并将其导出到不同的目标,如MySQL数据库或本地文件系统。这款工具尤其适用于需要进行数据迁移、备份或...

    Data From Keil to Excel (keil数据导出至excel)

    为了将这些数据导出到Excel,我们需要在KEIL中设置数据导出选项。通常,KEIL可以通过仿真器或调试器的内存查看器来查看和复制内存数据。在内存窗口中选择要导出的数据范围,然后通过复制(Ctrl+C)将数据粘贴到Excel...

    ElasticSearch数据导出

    ElasticSearch数据导出 elasticsearch单文档数据导出 支持自定义查询 导出数据Json文件

    C#百万数据导出Demo

    本文将深入探讨如何在C#环境中高效地处理百万级别的数据导出,并结合“C#百万数据导出Demo”进行详细解析。 首先,我们需要了解Excel文件的存储格式。通常,我们使用的Excel文件有两种主要格式:.xls(Excel 97-...

    Ldap数据导出到文件

    下面将详细阐述如何实现“Ldap数据导出到文件”的过程。 首先,理解LDAP的数据结构至关重要。LDAP目录结构是由一系列条目(Entries)组成,每个条目都有一个唯一的DN(Distinguished Name),类似于条目的地址。...

    组态王历史数据导出EXCEL表格的方法.docx

    组态王历史数据导出EXCEL表格的方法 组态王是一种工业自动化软件,具有强大的数据采集和处理能力。为了更好地对历史数据进行分析和处理,需要将其导出到EXCEL表格中。本文将介绍组态王历史数据导出EXCEL表格的方法...

    easyui+数据导出为Excel

    在IT行业中,前端数据处理和展示是至关重要的,特别是在企业级应用中,用户往往需要将大量数据导出为便于分析的格式,如Excel。本文将详细介绍如何在基于EasyUI的前端框架下实现数据导出为Excel的功能。 EasyUI是一...

    SilvacoTonyplot中如何导出数据导出图片保存文件[汇编].pdf

    Silvaco Tonyplot 中数据导出和图片保存 Silvaco Tonyplot 是一款功能强大的数据分析和可视化工具,广泛应用于电子设计自动化(EDA)和计算机辅助设计(CAD)领域。随着数据分析和可视化的需求日益激增,Silvaco ...

    将simulink示波器数据导出到excel表格教程

    在MATLAB Simulink环境中,将示波器数据导出到Excel表格是一项常见的需求,这有助于数据的存储、分析和进一步处理。以下是一份详细的步骤教程: 首先,我们需要准备一个Simulink模型,在模型中添加必要的组件。核心...

    VB6 DataGrid中的数据导出到Excel

    VB6 DataGrid中的数据导出到Excel 本篇文章将详细介绍如何使用VB6将DataGridView中的数据导出到Excel文件中。下面将对标题、描述、标签和部分内容进行解释,并生成相关的知识点。 标题:VB6 DataGrid中的数据导出...

    C#下成功登录后datagridview数据导出excel

    在这个场景中,"C#下成功登录后datagridview数据导出excel"的标题描述了一个常见的需求:用户通过登录窗口验证身份后,能够将数据显示在datagridview控件中,并且支持将这些数据导出到Excel文件中。这一过程涵盖了多...

    财务数据导出工具

    税务局数据导出工具。可以导出国内外,国内大部分财务管理软件的数据。

    keil数据导出至excel

    要将这些数据导出到Excel,我们通常需要以下步骤: 1. **导出内存数据**:在Keil μVision中,通过“Debug” -&gt; “Memory View”选项打开内存查看器。选择需要导出的数据段,例如全局变量或堆栈区域。然后右键点击...

    destoon添加数据导出到excel表格中.doc

    在进行二次开发时,有时我们需要将数据库中的数据导出到 Excel 表格中,以便进行数据分析或备份。以下是一个关于如何在 Destoon 系统中实现这一功能的详细步骤。 首先,你需要添加 PHPExcel 库,这是一个专门用于...

Global site tag (gtag.js) - Google Analytics