Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中编写.csv文件时,excel中没有选项卡_Java - Fatal编程技术网

在java中编写.csv文件时,excel中没有选项卡

在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

我想用JAVA编写一个使用一些数据的.csv文件。虽然我能够获得CSV文件,但我不能将其作为制表符删除器。我想将文件类型保持为.csv,但应清除这些值。我的代码如下:

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”)
在响应流中添加任何内容之前。然后在第二行中写入标题,然后添加实际数据。不要忘记将标题和数据括在双引号内。