基础题目:用java导出数据到CSV中,如何指定CSV一列的格式,

blackgougou 2007-08-20 01:52:15
例如我输出00000111到CSV中,如果默认的话,显示的会是111,前面的0就截取了,用java的话,如何指定格式,显示为00000111
...全文
1291 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果是 1.4 的话,可以采用下面的试试看。

int a = 111;
DecimalFormat decf = new DecimalFormat("00000000");
String str = decf.format(a);
System.out.println(str);
  • 打赏
  • 举报
回复
CVS 就是用逗号分隔的文本文件,不知为什么你放 00000111 进去,会变成 111,又不是 int 类型,00000111 是个字符串,应该不会被截掉的啊。
blackgougou 2007-08-20
  • 打赏
  • 举报
回复
FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter out = null;
File file = new File("d:/Parter.csv");
try
{

fos = new FileOutputStream(file);
osw = new OutputStreamWriter(fos); // 如果要写入全角字符,应该选择合适的编码
out = new BufferedWriter(osw);
// 设置标题
out.write("物料编码,名称,规格型号,规格型号2,单位,物料来源" + ",创建日期,重量,电镀面积");
out.newLine();

======================================
基本上就是上面这个样子,传的是String,因为是CSV,所以没用JXL包,我以前用JXL包写XLS没有这个问题的,不会截断
tdy1234 2007-08-20
  • 打赏
  • 举报
回复
你用 String类型传禁区 应该不会截断阿
blackgougou 2007-08-20
  • 打赏
  • 举报
回复
再谢谢上面两位,现在CSV文件是用程序生成,写进去的时候就已经被截断了,再改为文本也没用
tdy1234 2007-08-20
  • 打赏
  • 举报
回复
是右键点击 要修改的列头,然后选择设置单元格格式 在数字栏中把数字改称文本就可以了
tdy1234 2007-08-20
  • 打赏
  • 举报
回复
....以String类型传导文件中去,然后再CSV文件中间设置 左键点击所属列 在数字栏中把数字 换成文本 就可以了 不关程序的事
blackgougou 2007-08-20
  • 打赏
  • 举报
回复
谢谢楼上的了,但是.................
还有没有其他办法,我们的系统是基于1.4的,在上面二次开发
  • 打赏
  • 举报
回复
使用 String.format("%08d", rs.getInt("id")); 格式化成字符串(需 JDK 1.5 以上版本)。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧