java string to csv,在Java中的csv文件的列中写入字符串数组

so what i am trying to accomplish is to write an array of data down each cell of the column for as many array elements that i have. i want i too look like this in excel:

buyer | parts | price| quantity | comments

tom | blah | 546 | 5 | blah

| blah | 56 | 67 |

my file has manyyyyy more columns than this but i wanted to give a brief example. what also creates my problem is that i dont want to print the next column after it on the last row that the writer is on once its done my array data set, so i want it to be on that forst line. i have looked into other libraries for accomplishing this, but there is nothing that i can find that seems to meet my needs. i do understand the nature of CSV file may not allow this to happen, without manually adding in blank cells, but is there any other way to do this?

Enumeration paramNames = request.getParameterNames();

while(paramNames.hasMoreElements())

{

String paramName = (String)paramNames.nextElement();

writer.append(paramName);

writer.append(',');

String[] paramValues = request.getParameterValues(paramName);

if (paramValues.length == 1)

{

String paramValue = paramValues[0];

if (paramValue.length() == 0)

{

writer.append("No Value");

writer.append('\n');

}

else

{

writer.append(paramValue);

writer.append('\n');

}

}

else

{

for(int i = 0; i

{

writer.append(paramValues[i]);

writer.append(',');

}

writer.append('\n');

}

previousname = paramName;

}

writer.flush();

writer.close();

}

also to clarify where this data is coming from, a JSP table thats in the middle of the form, so i am reading in arrays of values that are in the table.

解决方案

/** The below Java Code writes

* some data to a file in CSV

* (Comma Separated Value) File

*/

package developer;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

public class MakeCSVFile {

public static void main(String[] args) throws IOException {

//Note the "\\" used in the path of the file

//instead of "\", this is required to read

//the path in the String format.

FileWriter fw = new FileWriter("D:\\JavaCodeFile\\WriteTest.csv");

PrintWriter pw = new PrintWriter(fw);

//Write to file for the first row

pw.print("Hello guys");

pw.print(",");

pw.print("Java Code Online is maing");

pw.print(",");

pw.println("a csv file and now a new line is going to come");

//Write to file for the second row

pw.print("Hey");

pw.print(",");

pw.print("It's a");

pw.print(",");

pw.print("New Line");

//Flush the output to the file

pw.flush();

//Close the Print Writer

pw.close();

//Close the File Writer

fw.close();

}

}

Probably instead of doing hard print do a loop of the array and print each value separated by a comma.

Something like :

Array array;

Iterator iter = array.iterator();

while (iter.hasNext())

{

object = iter.next();

pw.print(object.getBuyer());

pw.print(",");

pw.print(object.getTitle());

..

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值