在java中编写.csv文件时,excel中没有选项卡
我想用JAVA编写一个使用一些数据的.csv文件。虽然我能够获得CSV文件,但我不能将其作为制表符删除器。我想将文件类型保持为.csv,但应清除这些值。我的代码如下:在java中编写.csv文件时,excel中没有选项卡,java,Java,我想用JAVA编写一个使用一些数据的.csv文件。虽然我能够获得CSV文件,但我不能将其作为制表符删除器。我想将文件类型保持为.csv,但应清除这些值。我的代码如下: response.setContentType("application/vnd.ms-excel"); PrintWriter out = response.getWriter(); response.setDateHeader("Expires", 0); StringBuffer fileNameFormat = new
response.setContentType("application/vnd.ms-excel");
PrintWriter out = response.getWriter();
response.setDateHeader("Expires", 0);
StringBuffer fileNameFormat = new StringBuffer();
fileNameFormat.append( "attachment; filename= ReferenceData");
fileNameFormat.append(".csv");
response.setHeader("Content-disposition",fileNameFormat.toString());
StringBuffer totalString =new StringBuffer();
StringBuffer header=new StringBuffer();
header.append("ReferenceId");
header.append("\t");
header.append("TYPE");
header.append("\t");
header.append("VALUE");
header.append("\t");
header.append("ENABLED");
StringBuffer body=new StringBuffer();
if (null != responseBody && responseBody.getResultArray().length > 0) {
DvrReferenceData[] obj=responseBody.getResultArray();
int responseLength = responseBody.getResultArray().length;
for(int i=0;i<responseLength;i++){
DvrReferenceData obj1=obj[i];
body.append(obj1.getRefId());
body.append("\t");
body.append(obj1.getRefType());
body.append("\t");
body.append(obj1.getRefValue());
body.append("\t");
body.append(obj1.getEnabled());
body.append("\n");
}
}
totalString.append(header.toString());
response.setContentType(“application/vnd.ms excel”);
PrintWriter out=response.getWriter();
response.setDateHeader(“Expires”,0);
StringBuffer fileNameFormat=新的StringBuffer();
追加(“附件;文件名=引用数据”);
fileNameFormat.append(“.csv”);
setHeader(“内容处置”,fileNameFormat.toString());
StringBuffer totalString=新的StringBuffer();
StringBuffer头=新的StringBuffer();
header.append(“ReferenceId”);
标题。追加(“\t”);
标题。追加(“类型”);
标题。追加(“\t”);
标题。附加(“值”);
标题。追加(“\t”);
header.append(“已启用”);
StringBuffer主体=新的StringBuffer();
如果(null!=responseBody&&responseBody.getResultArray().length>0){
DvrReferenceData[]obj=responseBy.getResultArray();
int responseLength=responseBody.getResultArray().length;
对于(int i=0;i将sep=;
放在CSV文件的第一行,该文件将指示Excel根据分号拆分单元格
在写入CSV文件时,对每个值使用;
作为分隔符,而不是\t
不要忘记将值括在双引号内
以下是示例代码:
sep=;
"ReferenceId";"TYPE";"VALUE";"ENABLED"
"1";"T1";"V1","true"
"2";"T2";"V2","true"
"3";"T3";"V3","false"
实际上,我想在Excel文件中显示csv,该值应该由一个选项卡分隔,这意味着该值应该位于不同的单元格中。请帮助我。如果我想在java代码中放置分隔符,我应该如何将其写入?非常简单的输出。写入(“sep=;\n”)
在响应流中添加任何内容之前。然后在第二行中写入标题,然后添加实际数据。不要忘记将标题和数据括在双引号内。