`
xjq2008
  • 浏览: 15921 次
  • 性别: 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文件中。 首先,要理解的是,从...

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

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

    Keil数据导出分析

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

    Elasticsearch数据导出工具

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

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

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

    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 ...

    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 库,这是一个专门用于...

    xlsx百万级模板数据导出

    xlsx百万级模板数据导出,可以使用8M内存模板导出excel. easypoi和hutool对07版本的excel都没有提供模板导出,因此个人封装了下(原创)。 目前支持的模板表达式有 #if:表达式不成立则不输出#if #end中的行 #each ...

    微信聊天数据导出数据库解析器sqlcipher

    微信聊天数据导出数据库解析器是一款专门用于处理微信聊天记录的工具,它能够将微信的本地数据库文件导出并解析成可读格式,方便用户查看、分析或备份聊天信息。这款解析器支持sqlcipher加密,sqlcipher是一种开源的...

Global site tag (gtag.js) - Google Analytics