一个用servlet实现导出csv文件的实例

原创 2005年05月16日 21:31:00

作者:李书鹏 tukeyli@sohu.com

关键字: Java Servlet CSV

本文实现了一个基于servlet技术的简单的csv文件导出的程序实例。

代码如下,其中setCsvData函数的作用是设置导出的数据,并将结果保存于Vector中,实际应用时可以任意扩展该函数:

package common;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.http.*;

public class Go2Csv extends HttpServlet
{
public Vector vecCsvData;

private String FileName;

public void doGet(HttpServletRequest request, HttpServletResponse response)
//throws ServletException, IOException
{
FileName = "Untitled.csv"; //default file name

vecCsvData = new Vector();

//sets the data to be exported
setCsvData(request);

//Exporting vector to csv file
String strOut = "";
for (int i = 0; i < vecCsvData.size(); i++)
{
String[] strLine = (String[])vecCsvData.elementAt(i);
int col_num = strLine.length;
for (int j = 0; j < col_num; j++)
{
strOut += strLine[j];
if (j < col_num - 1)
{
strOut += ",";
}
}
strOut += "/n";
}

//***** Output strOut to Response ******
response.reset(); // Reset the response
response.setContentType("application/octet-stream;charset=GB2312"); // the encoding of this example is GB2312
response.setHeader("Content-Disposition","attachment; filename=/"" + FileName + "/"");

PrintWriter out;
try
{
out = response.getWriter();
out.write(strOut);
}
catch (IOException e)
{
e.printStackTrace();
}
//***************************************
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}

/**
* Sets the data to be exported
* @param request
*/
public void setCsvData(HttpServletRequest request)
{
//Writing vector
for (int i = 0; i < 5; i++)
{
String[] strLine = new String[10];
for (int j = 0; j < 10; j++)
{
strLine[j] = Integer.toString(i) + "-" + Integer.toString(j);
}
vecCsvData.addElement(strLine);
}
}

/**
* Sets the file name to be exported
* @param filename
*/
public void setFileName(String filename)
{
FileName = filename;
}
}

调用方法:
http://hostname:port/ApplicationName/servlet/common.Go2Csv

导出文件Untitled.csv内容如下:
0-0,0-1,0-2,0-3,0-4,0-5,0-6,0-7,0-8,0-9
1-0,1-1,1-2,1-3,1-4,1-5,1-6,1-7,1-8,1-9
2-0,2-1,2-2,2-3,2-4,2-5,2-6,2-7,2-8,2-9
3-0,3-1,3-2,3-3,3-4,3-5,3-6,3-7,3-8,3-9
4-0,4-1,4-2,4-3,4-4,4-5,4-6,4-7,4-8,4-9

Servlet实现导出下载csv文件

工作上遇到的场景,需要将客户列表数据导出成csv文件。测试了一个最简单版本,记录一下。 订单实体类: package entity; /** * 订单信息实体 * Created by dy...
  • IndexMan
  • IndexMan
  • 2017年08月26日 22:11
  • 494

导出下载csv格式的表格(逗号分隔文件)的servlet代码,留待以后调用

导出并下载csv格式的表格(逗号分隔文件) 以导出销售榜单为例 package cn.estore.web.servlet; import java.io.IOException; import...
  • qhwc2009
  • qhwc2009
  • 2015年05月20日 22:35
  • 703

JAVA/SERVLET 以UTF-8导出CSV文件时产生乱码的解决方法

JAVA/SERVLET 以UTF-8导出CSV文件时产生乱码的解决方法 博客分类:  JSP & Servlet javaservletcsvexcel乱码  Jav...
  • LoveTea99
  • LoveTea99
  • 2016年07月28日 12:05
  • 586

Java 导出CSV文件及实现web下载CSV

本文主要介绍Java 导出CSV文件到本地及实现web下载CSV。 1.Java 导出CSV文件到本地 csvWriter: package com.csvio; import...
  • psp0001060
  • psp0001060
  • 2015年11月02日 17:43
  • 9744

jsp servlet导出csv格式

  • 2008年01月31日 13:45
  • 3KB
  • 下载

springmvc导出页面上展示的数据到cvs文件

springmvc导出界面显示数据到cvs文件
  • binbinyouli301
  • binbinyouli301
  • 2017年01月13日 15:58
  • 827

用CSV框架导出csv文件实现下载(jsp)

  • xwl617756974
  • xwl617756974
  • 2012年07月25日 00:11
  • 1587

Java实现CSV文件输出

在很多时候我们都需要将一些数据集合以某种文件格式输出,其中CSV文件输出是一种比较常用的方式.下面是一个简单的实现CSV文件输出的代码,与大家共享.public static boolean crea...
  • sytuyuan
  • sytuyuan
  • 2007年12月20日 13:20
  • 3200

【Servlet】把文件写到Respond输出流里面供用户下载

本文区分于《【Jsp】把Java写到Respond输出流里面供用户下载》(点击打开链接)把原本该打印到控制台的内容,直接打印到一个文本文件txt中给用户下载。 实际上是《【Struts2】中文文件的...
  • yongh701
  • yongh701
  • 2015年07月16日 16:54
  • 8072

SERVLET 中设置下载文件名

response.setContentType("text/x-msdownload");response.addHeader("Content-Disposition","attachment; f...
  • linfenliang
  • linfenliang
  • 2014年09月18日 16:22
  • 581
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个用servlet实现导出csv文件的实例
举报原因:
原因补充:

(最多只允许输入30个字)