使用多行字段

时间:2018-01-11 02:50:18

标签: csv vbscript multiline

过去4个小时我一直在努力解决这个问题,老实说真的很累...我试图通过vbscript编写一个CSV文件,在少数几个字段中使用多行...认为这很容易让人感到轻松......不是这样......我的原始代码是

summary = "This is my brief summary"
description = "Hello" & vbCrLf & "Today, I am going to describe my issue."
reference_id = "0000102203"

Set fso = CreateObject("Scripting.FileSystemObject")
Set csv = fso.CreateTextFile(download_file_name,True)

csv.WriteLine summary & "," description & "," & "Consulting" & "," & reference_id 
csv.close
set csv = Nothing

我要做的就是创建一个csv,当我使用excel打开文件时会显示为

This is my brief summary| Hello                                   |Consulting| 0000102203    
                        | Today, I am going to describe my issue. |   

我用vbCr,vbLf,chr(10),chr(13),“\ n”,“\ n”,“\ r \ n”,“\ r \ n”和“堆”替换vbCrLf的尝试很多更

This is my brief summary| Hello
Today, I am going to describe my issue. |Consulting|  0000102203

无论如何我能解决这个问题吗?

由于

2 个答案:

答案 0 :(得分:1)

没有实际标准。在发明CSV之后,这个RFC就很顺利了。所以你可以做你想做的事,但你也需要代码来阅读你自己的标准,因为其他工具不会。将CR作为特殊字符实现(代码222对我来说具有历史意义 - SurveyCraft)并在导入后替换为CR。

来自https://tools.ietf.org/html/rfc4180(另见https://en.wikipedia.org/wiki/Comma-separated_values

  
      
  1. CSV格式的定义

         

    虽然有各种规格和实施   CSV格式(例如[4],[5],[6]和[7]),没有正式的   存在的规范,允许各种各样的   CSV文件的解释。本节记录了该格式   似乎接下来是大多数实现:

         
        
    1. 每条记录都位于一条单独的行上,由一行分隔   休息(CRLF)。例如:

        aaa,bbb,ccc CRLF
        zzz,yyy,xxx CRLF
      
    2.   
    3. 文件中的最后一条记录可能有也可能没有结束行   打破。例如:

        aaa,bbb,ccc CRLF
        zzz,yyy,xxx
      
    4.   
  2.   

答案 1 :(得分:1)

好吧,经过4个小时的敲击键盘后,我终于找到了解决问题的方法。所以,如果有人有兴趣......只需更改代码的这一部分

description = "Hello" & vbCrLf & "Today, I am going to describe my issue."    
csv.WriteLine summary & "," description & "," & "Consulting" & "," & reference_id 

desc1 = "Hello" 
desc2 = "Today, I am going to describe my issue."
csv.WriteLine summary & ",""" desc1 & vbCrLf & desc2 & """," & "Consulting" & "," & reference_id 
塔达......像魅力一样工作......