Public Sub ExportData(ByVal Filename As String)
Dim SD As New Windows.Forms.SaveFileDialog
SD.InitialDirectory = My.Application.Info.DirectoryPath & "\XLSOUT"
SD.FileName = Filename
If System.IO.Directory.Exists(SD.InitialDirectory) = False Then System.IO.Directory.CreateDirectory(SD.InitialDirectory)
SD.Filter = "탭으로 분리된 텍스트파일(*.TXT)|*.TXT"
SD.FilterIndex = 0
SD.RestoreDirectory = True
If SD.ShowDialog <> Windows.Forms.DialogResult.OK Then Return
Dim Fs As New System.IO.FileStream(SD.FileName, IO.FileMode.Create)
Dim SW As New System.IO.StreamWriter(Fs, System.Text.Encoding.Default)
Dim Strbuf As String = ""
SW.WriteLine("====")
SW.WriteLine("파일생성일자" & vbTab & Now.ToShortDateString & vbTab & Now.ToShortTimeString)
SW.WriteLine("====")
For Each DC As Windows.Forms.DataGridViewColumn In Me.Columns
Strbuf = Strbuf & vbTab & DC.HeaderText
Next
SW.WriteLine(Strbuf)
Strbuf = ""
For Each DR As Windows.Forms.DataGridViewRow In Me.Rows
For i As Integer = 0 To Me.Columns.Count - 1
'MsgBox(Me.Columns(i).ValueType.ToString)
'DR.Cells(0).FormattedValue
Strbuf = Strbuf & vbTab & DR.Cells(i).FormattedValue
Next
SW.WriteLine(Strbuf)
Strbuf = ""
Next
SW.Dispose()
Fs.Dispose()
MsgBox("저장완료" & vbCrLf & SD.FileName, MsgBoxStyle.Information, "확인")
End Sub
========================================================================
FileName 은 저장할 파일명입니다.
다른방식으로도 많이 응용이 가능하겠지만 전 DataView 를 상속해서
재사용을 하구요 아래코드는 그 안의 코드입니다.
로직은 간단합니다. ^^ ..루프일 뿐입니다.
CSV파일도 가능하겠죠?vbtab 을 "," 로 바꾸면되니까요
근데 CSV 파일은 내용자체가 , 가 있으면 열이 틀어진다는 단점이 있더군요
^^
'Programming' 카테고리의 다른 글
Master K-80S 명령어 프로토콜 (0) | 2012.01.13 |
---|---|
DevExpress NavGroup 에 아이템추가하기 (0) | 2010.10.22 |
데이터리더를 데이터셋으로 변환 (0) | 2009.05.20 |
사용자정의 컨트롤 속성만들때 기본값 설정하는방법 (0) | 2008.03.20 |
콤보박스 목록구성 방법 (0) | 2008.03.20 |