2011-08-05 7 views
1

CSV로 내보내기를 처음 사용했습니다. gridview (str = coups.Cells [0] .Text + "-"+ coups.Cells [1] .Text)에서 생성 된 문자열이 있습니다. 이 파일을 csv 파일로 내보내는 방법을 알고 싶습니다.문자열을 CSV로 내 보냅니다.

어떻게 헤더 파일을 csv 파일에 생성 한 다음 일치시켜야합니까?

저는 CSV로 내보내는 것을 처음입니다.

감사합니다 모두

답변

2

이 문제점은 무엇입니까 : 유일한 까다로운 부분은 값이 쉼표를 포함하는 경우, 다음 전체 값이이 같은 따옴표로 묶어야 할 필요가 있다는 것입니다?

TextWriter x = File.OpenWrite ("my.csv", ....); 

x.WriteLine("Column1,Column2"); // header 
x.WriteLine(coups.Cells[0].Text + "," + coups.Cells[1].Text); 

열 구분 기호는 쉼표입니다. 이것으로 충분합니다.

Column1,Column2 
data,data2 
data,data2 

다음과 같이 시각적으로 정렬 할 필요는 없습니다.

Column1, Column2 
data,  data2 
data,  data2 

편집 : 미국에서 쉼표 , 의미 세미콜론 ;을 의미한다. 소프트웨어에서 사용하는 구분 기호를 선택해야합니다.

+0

아무 문제가 없습니다. 그게 정확히 내가 원하는거야 :) –

+1

그래도 조심해. 내 대답에서 언급했듯이, 쿠데타가. [0]. 텍스트 또는 쿠데타 .Cells [1].텍스트는 쉼표를 포함 할 수 있습니다. 그런 다음 따옴표로 묶어야합니다. –

+0

인용 된 값에'''인용문이 포함되어 있으면'''를''''로 이스케이프 처리해야합니다. –

0

Csv는 문자열의 목록입니다. 셀들 사이

문자열 포함; 당신은 CSV는 * C * OMMA * S * eparated * V * alues의 약자 따옴표

 
Language; Country 
RU; Russia 
EN; UK 
"string with ; in ";I like StackOverFlow 

+0

실제로는 세미콜론이 아닌 쉼표입니다 (CSV에서 C를 포함). –

0

에 있어야합니다. 따라서 모든 문자열 연결 방법이 작동합니다.

"마우스, 미키"

, 디즈니 랜드, 미국

2

Heres 방법 나는 당신이 문자열을 전달할 수 있고 CSV를 위해 그것을 포맷 할 수있는 동안 뒤로 썼다 ... 그냥 각 문자열을; 그것은 별도의 열에있을 것입니다. 다른 행을 나타 내기 위해 새로운 행 (하드 리턴)을하십시오. 죄송이

Private Function FormatStringForCsvFile(ByVal strCSV As String) As String 
     Dim addDoubleQuotes As Boolean = False 
     Dim strReturn As String = strCSV 
     If strReturn IsNot Nothing AndAlso strReturn.Length > 0 Then 
      'if the string contains any double quotes then we need to change those double quotes to 2x double quotes 
      If strReturn.Contains("""") Then 
       strReturn = strReturn.Replace("""", """""") 
       addDoubleQuotes = True 
      End If 
      'if the string contains a comma, any spaces before or after, 
      'any 2x double quotes, or a new line then we need to enclose it in double quotes 
      If strReturn.Contains(",") Or Char.IsWhiteSpace(strReturn(0)) _ 
       Or Char.IsWhiteSpace(strReturn(strReturn.Length - 1)) _ 
       Or addDoubleQuotes Or strReturn.Contains(vbCrLf) Then 
       strReturn = """" & strReturn & """" 
      End If 
     End If 

     Return strReturn 

    End Function 

VB.NET

에이 방법을 사용하면과 분리해서 원하는 문자열을 포맷하는 데 사용됩니다; 왜냐하면 당신의 분리가 항상 CSV 규칙을 따르지 않는 문자열이기 때문입니다. 만약 있다면; 또는 "또는 문자열 반환 .. 잘 당신은 큰 따옴표로 묶어야합니다. 이것은 csv를 렌더링하는 프로그램이 ;;"문자열의 일부이며 구분자를 나타내지는 않습니다.

+0

좋은 사람. 이것은 또한 도움이 될 것입니다. –

0

How do i generate headers in the csv file and then match them up.

CSV 의미 Comma Separated Value 여기서 각 값은 ,으로 구분됩니다. 머리글로 특별한 것은 없습니다. 그러나 첫 행을 헤더로 간주 할 수 있습니다.

관련 문제