gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 08:48:52 25 4
gpt4 key购买 nike

我想使用 JAVA 使用一些数据编写一个 .csv 文件。虽然我能够获取 CSV 文件,但我没有将它们作为 TAB 分隔符。我想将文件类型保留为 .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());

totalString.append("\n"); totalString.append(body.toString()); out.write(totalString.toString());`

当我将文件格式设置为 .csv 时,Excel 不会读取“\t”,但如果我将文件格式设置为 .xls,它就会发生 enter code here

最佳答案

sep=; 放在 CSV 文件的第一行,这将指示 Excel 根据分号拆分单元格。

写入 CSV 文件时,使用 ; 作为每个值的分隔符,而不是 \t

不要忘记将值括在双引号内。

示例代码如下:

sep=;
"ReferenceId";"TYPE";"VALUE";"ENABLED"
"1";"T1";"V1","true"
"2";"T2";"V2","true"
"3";"T3";"V3","false"

关于java - 在 java 选项卡中编写 .csv 文件时,excel 中没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23720112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com