问题:某列其实你用记事本打开还是0001, 但是用excel打开是1,而且长数字比如身份证之类的,会变成十六位科学计算法,搞得很难看,而且csv的字符串左对齐,数字右对齐对于某些领导来说是不被看好的,所以如下文字解决此状况。opencsv导出csv之后的数字0消失的格式问题解决。
解决办法有两种:
1、在生成csv的时候,在数字的前面或后面加上"\t"制表符,再用excel打开问题解决!如 “1234567890”
2、在生成csv的时候,在数字的前面加上"=",再用excel打开问题解决!如 ="9876543210",=“1234567890”,
3 、对于EXCEL文件, 在禁止转义的内容前,加上一个半角单引号,' 符号
例子:
//测试
public void writeCsvWithRs (CsvHead head, CsvTitle title, ResultSet rs, String fname) throws IOException {
File tempFile = new File (fname);
CSVWriter writer = new CSVWriter (new FileWriter (tempFile) );
CsvField[] csvFields = null;
String[] titles = null;
try {
if (head != null) {
writer.writeNext (new String[] { head.getCompanyName() }); //公司号
writer.writeNext (new String[] { head.getDocDescription() }); //当前文档名
}
if (t