我来说一下大致的实现步骤,具体实现需要你自己去写了
1.检索数据,检索到的数据假定为内一个list
2.你需要自己容写一个objectToString之类的方法来把检索到的数据转化为一个String或StringBuffer,就是往各字段间插",",往个记录间插"\r\n",如此这类的转换,假定转换好的字符串为strResult.
3.然后用下面的代码写在后台来控制下载,文件名那里你可以把时间格式控制好,或者用前台传过来的参数做名字。
response.setContentType("application/download;charset=UTF-8");
response.setHeader("Content-disposition","attachment;filename=\"" +new Date()+".csv\"");
B. java如何导出csv文件 用户点击导出可以导出到他想保存的地方
txt格式的只有一种可能,就是你存的时候扩展名就是txt
在系统里选择工具--》文件夹选项--》查看--》去掉“隐藏已知文件的类型及扩展名”,看看你导出的文件是不是XXX.csv.txt
C. java将查询数据导出成csv文件的问题
生成.csv文件有第三方包javacsv.jar,例子网上找,很简单
提示用户下载,用流实现,网络上更多
提供个jsP的例子给你。
<%@ page language="java" pageEncoding="UTF-8"%>
<%
// example:
// <a href="download.jsp?p=img/test.gif">download image</a>
String path = request.getParameter("p");
String name = request.getParameter("name");
String root = getServletContext().getRealPath(path);
if (name == null) {
int index = path.lastIndexOf("/");
if (index >= 0) {
name = path.substring(index + 1);
} else {
name = path;
}
}
response.setContentType("unknown");
response.addHeader("content-disposition", "filename=\"" + name + "\"");
java.io.OutputStream os = response.getOutputStream();
try {
java.io.FileInputStream fis = new java.io.FileInputStream(root);
byte[] b = new byte[1024];
int i = 0;
while ( (i = fis.read(b)) > 0 ) {
os.write(b, 0, i);
}
fis.close();
os.flush();
os.close();
}
catch ( Exception e )
{
e.printStackTrace();
}
out.clear();
out = pageContext.pushBody();
%>
D. java里将从excel读到的数据用csv导出,代码怎么写
解释:csv文件实际上就是字符串,之间用“,”进行分割,之后进行的存储。
工具类如下:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
/**
*
* CSV文件导出工具类
*/
public class CSVUtils {
/**
* CSV文件生成方法
* @param head
* @param dataList
* @param outPutPath
* @param filename
* @return
*/
public static File createCSVFile(List head, List<List> dataList,
String outPutPath, String filename) {
File csvFile = null;
BufferedWriter csvWtriter = null;
try {
csvFile = new File(outPutPath + File.separator + filename + ".csv");
File parent = csvFile.getParentFile();
if (parent != null && !parent.exists()) {
parent.mkdirs();
}
csvFile.createNewFile();
// GB2312使正确读取分隔符","
csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(
csvFile), "GB2312"), 1024);
// 写入文件头部
writeRow(head, csvWtriter);
// 写入文件内容
for (List row : dataList) {
writeRow(row, csvWtriter);
}
csvWtriter.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
csvWtriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return csvFile;
}
/**
* 写一行数据方法
* @param row
* @param csvWriter
* @throws IOException
*/
private static void writeRow(List row, BufferedWriter csvWriter) throws IOException {
// 写入文件头部
for (Object data : row) {
StringBuffer sb = new StringBuffer();
String rowStr = sb.append("\"").append(data).append("\",").toString();
csvWriter.write(rowStr);
}
csvWriter.newLine();
}
}
Object-Z
E. 用JAVA导出CSV的问题!!!
我也正抄在做这样的导出问题袭
1.如果数据中本身存在换行符号,那么这条数据就会自动拆成2行
我想你只能在接受数据的时候,手动的把数据中的换行符号替换掉或者去掉
2.还有,这个导出的CSV文件的作用是往其他数据库里面导入,是不是用下面的格式也可以?
我想csv的格式没有那么多的限制,只要你在导入到数据库的时候能得到你想要的数据就行了吧
F. 请问如何使JAVA代码输出CSV格式文件
这个其实相当简单的,因为楼主的要求是 prints out the salary sheet in a CSV file ,肯定是一个薪水表格,或者表单之类的版页面,要把它输出成权CSV的格式,其实有很多方法,跟你说个最简单的 ,在项目里面引入 display-tag的jar包,然后在展现页面使用display标签,用displaytag重构页面,然后在display标签自带的 display table 里面使用一个 export='true' ,就可以实现了 ,楼主多去了解一下 Displaytag 这个页面标签语言就知道了。很简单的。
而且相当容易实现很多功能,具体碰到问题了也欢迎随时问我
G. java导出csv文件,怎么设置为内容不可更改
csv本身文件没有保护功能,直接生成肯定无法满足要求,只能另想其他办法。
H. 用java导出.csv格式的文件
使用poi包,csv其实就是用逗号隔开的文本文件,每条记录占一行。
I. 如何从java中导出数据到csv中
其实csv文件来格式和txt文件一样,你用ue或者自editplus打开它看看,就是一些字符串,中间用逗号隔开了。
所以你从java中导出数据到csv文件中是和导出到txt文件中一样的,导出的文件后缀名改成csv就ok了。
J. 问题一:java怎样限制导出的csv文件大小,csv文件导出里面行数大于5000条则分为多个csv文件。
生成csv文件的时候你判断下条数,大于5000就另外写一个文件就好了。打包的话,jar有在专门的zip 的api的,你调用一下就可以实现了