Public Class Frm_Export Dim fn As String = "" Dim 단위면적당신재생1차에너지합 As Decimal = 0 Dim 단위면적당1차에너소비량합 As Decimal = 0 Dim 에너지자립률 As Double = 0 Public Sub New() ' 이 호출은 디자이너에 필요합니다. InitializeComponent() fn = "" ' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오. End Sub Public Sub New(_file As String) ' 이 호출은 디자이너에 필요합니다. InitializeComponent() fn = _file ' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오. End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click ' Dim prjfile As String = Prj.FileName.Substring(Prj.FileName.LastIndexOf("\") + 1) Dim path As String = AppDomain.CurrentDomain.BaseDirectory + "\Export\" + Now.ToString("yyMMdd") MakeData(path) End Sub Private Sub MakeData(savepath As String, Optional silent As Boolean = False) 'FpSpread1.Visible = False ' FpSpread1.Sheets.Clear() Dim prjfile As String = Prj.FileName.Substring(Prj.FileName.LastIndexOf("\") + 1) prjfile = prjfile.Substring(0, prjfile.LastIndexOf(".")) Dim di As New System.IO.DirectoryInfo(savepath + "\" + prjfile) If Not di.Exists Then di.Create() '//테이블갯수만큼 시트를 생성한다. For i As Integer = 0 To DSET1.Tables.Count - 1 Dim dt As DataTable = DSET1.Tables(i) Dim tablename As String = dt.TableName.ToLower() If tablename = "tbl_pic" Then Continue For If tablename.IndexOf("weather") <> -1 Then Continue For If tablename = "tbl_buha" Then Continue For If tablename = "tbl_monuse" Then Continue For If tablename = "tbl_common" Then Continue For If tablename = "tbl_profile" Then Continue For Dim filename As String = tablename If tablename = "tbl_bunbae" Then filename = "냉방분배" If tablename = "tbl_common" Then filename = "공용코드" If tablename = "tbl_desc" Then filename = "건물개요" If tablename = "tbl_kongjo" Then filename = "공조기기" If tablename = "tbl_kongkub" Then filename = "공급기기" If tablename = "tbl_myoun" Then filename = "입력면" If tablename = "tbl_nanbangkiki" Then filename = "난방기기" If tablename = "tbl_nangbangkiki" Then filename = "냉방기기" If tablename = "tbl_nbunbae" Then filename = "난방분배" If tablename = "tbl_new" Then filename = "신재생기기" If tablename = "tbl_profile" Then filename = "용도프로필" If tablename = "tbl_yk" Then filename = "열관류율" If tablename = "tbl_ykdetail" Then filename = "열관류율(세부)" If tablename = "tbl_zone" Then filename = "입력존" Dim fi As New System.IO.FileInfo(di.FullName + "\" + filename + ".csv") Dim buffer As New System.Text.StringBuilder 'Dim newsheep As New FarPoint.Win.Spread.SheetView(dt.TableName) 'FpSpread1.Sheets.Add(newsheep) 'FpSpread1.Sheets(FpSpread1.Sheets.Count - 1).RowCount = dt.Rows.Count + 1 'FpSpread1.Sheets(FpSpread1.Sheets.Count - 1).ColumnCount = dt.Columns.Count '//첫줄에는 컬럼명을 넣는다. Dim cols As New List(Of String) For c As Integer = 0 To dt.Columns.Count - 1 'FpSpread1.Sheets(FpSpread1.Sheets.Count - 1).Cells(0, c).Text = dt.Columns(c).ColumnName Dim colname = dt.Columns(c).ColumnName If colname = "sortkey" Then Continue For If tablename = "tbl_ykdetail" Then If colname = "전경색" Or colname = "후경색" Or colname = "커스텀" Then Continue For End If ElseIf tablename = "tbl_nbunbae" Then If colname = "지관장소" Then Continue For ElseIf tablename = "tbl_myoun" Then If colname = "대차대조존" Then Continue For ElseIf tablename = "tbl_zone" Then If colname = "지역" Then Continue For If colname = "냉난방분배시스템" Then Continue For End If cols.Add(colname) Next '//column title For Each colname As String In cols buffer.Append("," + colname) Next buffer.AppendLine() '//이테이블의 데이터를 넣는다. For r As Integer = 0 To dt.Rows.Count - 1 Try Dim codedata As String = dt.Rows(r)("code").ToString() If codedata = "0" Then Continue For Catch ex As Exception End Try For Each colname As String In cols 'FpSpread1.Sheets(FpSpread1.Sheets.Count - 1).Cells(r + 1, c).Text = dt.Rows(r)(c).ToString() Dim data As String = dt.Rows(r)(colname).ToString().Replace(",", "_") If tablename = "tbl_nanbangkiki" Then If colname = "연결된시스템" Then Dim dr() As DataRow = DSET1.tbl_new.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If End If ElseIf tablename = "tbl_myoun" Then '존분류 열관류율2 If colname = "존분류" Then Dim dr() As DataRow = DSET1.tbl_zone.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If ElseIf colname = "열관류율2" Then Dim dr() As DataRow = DSET1.tbl_yk.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If ElseIf colname = "열관류율" Then Dim yk2code As String = dt.Rows(r)("열관류율2").ToString() If yk2code <> "" AndAlso yk2code <> "0" Then Dim dr() As DataRow = DSET1.tbl_yk.Select("code='" + yk2code + "'") If dr.Length = 1 Then data = dr(0)("열관류율").ToString() End If End If End If ElseIf tablename = "tbl_yk" Then If colname = "면형태" Then Dim dr() As DataRow = DSET1.tbl_common.Select("gubun ='1088' and code='" + data + "'") If dr.Length = 1 Then data = dr(0)("name").ToString() End If End If ElseIf tablename = "tbl_nbunbae" Then If colname = "생산기기구분" Then Dim dr() As DataRow = DSET1.tbl_nanbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If End If ElseIf tablename = "tbl_kongkub" Then If colname = "열공급생산기기" Then Dim dr() As DataRow = DSET1.tbl_nanbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If End If ElseIf tablename = "tbl_nangbangkiki" Then If colname = "연결된시스템" Then Dim dr() As DataRow = DSET1.tbl_new.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If ElseIf colname = "온수열생산기기" Then Dim dr() As DataRow = DSET1.tbl_nanbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If End If ElseIf tablename = "tbl_zone" Then Select Case colname Case "프로필" Dim dr() As DataRow = DSET1.tbl_profile.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "냉난방열공급시스템" Dim dr() As DataRow = DSET1.tbl_kongkub.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "냉난방공조처리시스템" Dim dr() As DataRow = DSET1.tbl_kongjo.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "열생산난방생산기기" Dim dr() As DataRow = DSET1.tbl_nanbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "공조냉방생산기기" Dim dr() As DataRow = DSET1.tbl_nangbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "공조난방생산기기" Dim dr() As DataRow = DSET1.tbl_nanbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "열생산급탕생산기기" Dim dr() As DataRow = DSET1.tbl_nanbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "열생산냉방생산기기" Dim dr() As DataRow = DSET1.tbl_nangbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "열생산가습생산기기" Dim dr() As DataRow = DSET1.tbl_nanbangkiki.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "냉난방공조분배시스템" Dim dr() As DataRow = DSET1.tbl_kongjo.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If Case "냉방분배시스템" Dim dr() As DataRow = DSET1.tbl_nbunbae.Select("code='" + data + "'") If dr.Length = 1 Then data = dr(0)("설명").ToString() End If End Select End If buffer.Append("," + data.Replace(",", "")) Next buffer.AppendLine() Next System.IO.File.WriteAllText(fi.FullName, buffer.ToString(), System.Text.Encoding.Default) Next ' FpSpread1.Visible = True If (Not silent) Then MsgBox("완료") Shell("explorer " + di.FullName, AppWinStyle.NormalFocus) End If End Sub Private Sub Frm_Upload_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Dim fd As New FolderBrowserDialog fd.SelectedPath = TextBox1.Text If (fd.ShowDialog() = Windows.Forms.DialogResult.OK) Then Dim files() As String = System.IO.Directory.GetFiles(fd.SelectedPath, "*.tpl") For Each filename As String In files MdiMain.Open_File(filename, False, False, True) MakeData(fd.SelectedPath, True) Next MsgBox(files.Length.ToString() + " 개 완료") Shell("explorer " + fd.SelectedPath, AppWinStyle.NormalFocus) End If End Sub End Class