기상데이터에 import 기능 추가

This commit is contained in:
chi
2020-04-06 23:38:34 +09:00
parent 19f37f4aa9
commit f6dda089fb
6 changed files with 882 additions and 581 deletions

View File

@@ -155,6 +155,9 @@
End Sub
Private Sub bs_CurrentChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bs.CurrentChanged
If isImport = True Then Return
If bs.Current Is Nothing Then Return
Dim pcode As String = CType(bs.Current, DataRowView)("code").ToString
Me.bsw_ilsa.Filter = "pcode='" & pcode & "'"
Me.bsw_temp.Filter = "pcode='" & pcode & "'"
@@ -699,5 +702,287 @@
DSET1.weather_ilsa.WriteXml(AppDomain.CurrentDomain.BaseDirectory + "db_weather_ilsa.xml")
DSET1.weather_temp.WriteXml(AppDomain.CurrentDomain.BaseDirectory + "db_weather_temp.xml")
End Sub
Dim isImport As Boolean = False
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If MsgBox("현 자료가 삭제됩니다 실행?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "확인") <> MsgBoxResult.Yes Then Return
Dim od As New OpenFileDialog
od.Filter = "excle|*.xls"
od.RestoreDirectory = True
If od.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return
isImport = True
Dim xlApp As Excel.Application = New Excel.Application ' CreateObject("Excel.Application")
Dim xlBook As Excel.Workbook = xlApp.Workbooks.Open(od.FileName)
Dim xlSheet1 As Excel.Worksheet = xlBook.Worksheets(3) '//첫번째 시트로고정
DSET1.tbl_weather.Clear()
DSET1.weather_cha.Clear()
DSET1.weather_ilsa.Clear()
DSET1.weather_temp.Clear()
DSET1.weather_supdo.Clear()
Dim Rng As Excel.Range = xlSheet1.Range("B3") '//Offset으로사용할것이므로 0,0셀을 선택한다
Dim newdr0 As DS.tbl_weatherRow = DSET1.tbl_weather.NewRow
newdr0.건물위치 = "없음"
newdr0.code = "0"
DSET1.tbl_weather.Addtbl_weatherRow(newdr0)
'//전체 66개의 지역
For area As Integer = 1 To 66
Dim 지역명 As String = Rng.Offset(0, area - 1).Value
Dim 지역코드 As String = area.ToString("0000")
Dim newdr As DS.tbl_weatherRow = DSET1.tbl_weather.NewRow
newdr.건물위치 = 지역명
newdr.code = 지역코드
newdr.난방기 = Rng.Offset(3, area - 1).Value
newdr.냉방기 = Rng.Offset(4, area - 1).Value
'//월별 외기평균온도
For i As Integer = 1 To 12
newdr("m" + i.ToString("00")) = Rng.Offset(i + 5, area - 1).Value
Next
DSET1.tbl_weather.Addtbl_weatherRow(newdr)
'//월별 평균일사(수평면)
Dim dr일사 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr일사.code = "0001"
dr일사.pcode = 지역코드
dr일사.설명 = "수평면"
dr일사.최대부하 = Rng.Offset(19, area - 1).Value
For i As Integer = 1 To 12
dr일사("m" + i.ToString("00")) = Rng.Offset(20 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr일사)
'//월별 평균일사(남향)
Dim dr남향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr남향.code = "0002"
dr남향.pcode = 지역코드
dr남향.설명 = "남향"
dr남향.최대부하 = Rng.Offset(33, area - 1).Value
For i As Integer = 1 To 12
dr남향("m" + i.ToString("00")) = Rng.Offset(34 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr남향)
'//월별 평균일사(남동향)
Dim dr남동향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr남동향.code = "0003"
dr남동향.pcode = 지역코드
dr남동향.설명 = "남동향"
dr남동향.최대부하 = Rng.Offset(47, area - 1).Value
For i As Integer = 1 To 12
dr남동향("m" + i.ToString("00")) = Rng.Offset(48 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr남동향)
'//월별 평균일사(남서향)
Dim dr남서향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr남서향.code = "0004"
dr남서향.pcode = 지역코드
dr남서향.설명 = "남서향"
dr남서향.최대부하 = Rng.Offset(61, area - 1).Value
For i As Integer = 1 To 12
dr남서향("m" + i.ToString("00")) = Rng.Offset(62 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr남서향)
'//월별 평균일사(동향)
Dim dr동향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr동향.code = "0005"
dr동향.pcode = 지역코드
dr동향.설명 = "동향"
dr동향.최대부하 = Rng.Offset(75, area - 1).Value
For i As Integer = 1 To 12
dr동향("m" + i.ToString("00")) = Rng.Offset(76 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr동향)
'//월별 평균일사(서향)
Dim dr서향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr서향.code = "0006"
dr서향.pcode = 지역코드
dr서향.설명 = "서향"
dr서향.최대부하 = Rng.Offset(89, area - 1).Value
For i As Integer = 1 To 12
dr서향("m" + i.ToString("00")) = Rng.Offset(90 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr서향)
'//월별 평균일사(북동향)
Dim dr북동향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr북동향.code = "0007"
dr북동향.pcode = 지역코드
dr북동향.설명 = "북동향"
dr북동향.최대부하 = Rng.Offset(103, area - 1).Value
For i As Integer = 1 To 12
dr북동향("m" + i.ToString("00")) = Rng.Offset(104 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr북동향)
'//월별 평균일사(북서향)
Dim dr북서향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr북서향.code = "0008"
dr북서향.pcode = 지역코드
dr북서향.설명 = "북서향"
dr북서향.최대부하 = Rng.Offset(117, area - 1).Value
For i As Integer = 1 To 12
dr북서향("m" + i.ToString("00")) = Rng.Offset(118 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr북서향)
'//월별 평균일사(북향)
Dim dr북향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr북향.code = "0009"
dr북향.pcode = 지역코드
dr북향.설명 = "북향"
dr북향.최대부하 = Rng.Offset(131, area - 1).Value
For i As Integer = 1 To 12
dr북향("m" + i.ToString("00")) = Rng.Offset(132 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr북향)
'//월별 평균일사(45도남향)
Dim dr45도남향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr45도남향.code = "0010"
dr45도남향.pcode = 지역코드
dr45도남향.설명 = "45도남향"
dr45도남향.최대부하 = Rng.Offset(145, area - 1).Value
For i As Integer = 1 To 12
dr45도남향("m" + i.ToString("00")) = Rng.Offset(146 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr45도남향)
'//월별 평균일사(45도남동향)
Dim dr45도남동향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr45도남동향.code = "0011"
dr45도남동향.pcode = 지역코드
dr45도남동향.설명 = "45도남동향"
dr45도남동향.최대부하 = Rng.Offset(159, area - 1).Value
For i As Integer = 1 To 12
dr45도남동향("m" + i.ToString("00")) = Rng.Offset(160 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr45도남동향)
'//월별 평균일사(45도남서향)
Dim dr45도남서향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr45도남서향.code = "0012"
dr45도남서향.pcode = 지역코드
dr45도남서향.설명 = "45도남서향"
dr45도남서향.최대부하 = Rng.Offset(173, area - 1).Value
For i As Integer = 1 To 12
dr45도남서향("m" + i.ToString("00")) = Rng.Offset(174 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr45도남서향)
'//월별 평균일사(45도동향)
Dim dr45도동향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr45도동향.code = "0013"
dr45도동향.pcode = 지역코드
dr45도동향.설명 = "45도동향"
dr45도동향.최대부하 = Rng.Offset(187, area - 1).Value
For i As Integer = 1 To 12
dr45도동향("m" + i.ToString("00")) = Rng.Offset(188 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr45도동향)
'//월별 평균일사(45도서향)
Dim dr45도서향 As DS.weather_ilsaRow = DSET1.weather_ilsa.NewRow
dr45도서향.code = "0014"
dr45도서향.pcode = 지역코드
dr45도서향.설명 = "45도서향"
dr45도서향.최대부하 = Rng.Offset(201, area - 1).Value
For i As Integer = 1 To 12
dr45도서향("m" + i.ToString("00")) = Rng.Offset(202 + (i - 1), area - 1).Value
Next
DSET1.weather_ilsa.Addweather_ilsaRow(dr45도서향)
'//월별 평균온도(1)
For m As Integer = 1 To 12
Dim offset As Integer = (m - 1) * 25
Dim dr평균온도1월 As DS.weather_tempRow = DSET1.weather_temp.NewRow
dr평균온도1월.code = m.ToString("0000")
dr평균온도1월.pcode = 지역코드
dr평균온도1월.설명 = m.ToString("00") + ""
For i As Integer = 1 To 24
dr평균온도1월("t" + i.ToString("00")) = Rng.Offset((215 + offset) + (i - 1), area - 1).Value
Next
DSET1.weather_temp.Addweather_tempRow(dr평균온도1월)
Next
'//월별 평균습도(1)
For m As Integer = 1 To 12
Dim offset As Integer = (m - 1) * 25
Dim dr평균온도1월 As DS.weather_supdoRow = DSET1.weather_supdo.NewRow
dr평균온도1월.code = m.ToString("0000")
dr평균온도1월.pcode = 지역코드
dr평균온도1월.설명 = m.ToString("00") + ""
For i As Integer = 1 To 24
dr평균온도1월("t" + i.ToString("00")) = Rng.Offset((515 + offset) + (i - 1), area - 1).Value
Next
DSET1.weather_supdo.Addweather_supdoRow(dr평균온도1월)
Next
'//차양감소계수
For m As Integer = 1 To 8
Dim offset As Integer = (m - 1) * 13
Dim dr평균온도1월 As DS.weather_chaRow = DSET1.weather_cha.NewRow
dr평균온도1월.code = m.ToString("0000")
dr평균온도1월.pcode = 지역코드
Select Case m
Case 1
dr평균온도1월.설명 = "남향"
Case 2
dr평균온도1월.설명 = "남동향"
Case 3
dr평균온도1월.설명 = "남서향"
Case 4
dr평균온도1월.설명 = "동향"
Case 5
dr평균온도1월.설명 = "서향"
Case 6
dr평균온도1월.설명 = "북동향"
Case 7
dr평균온도1월.설명 = "북서향"
Case 8
dr평균온도1월.설명 = "북향"
End Select
For i As Integer = 1 To 12
dr평균온도1월("m" + i.ToString("00")) = Rng.Offset((815 + offset) + (i - 1), area - 1).Value
Next
DSET1.weather_cha.Addweather_chaRow(dr평균온도1월)
Next
Next
Work_msg("")
'//Dispos Excel Object
xlBook.Close()
xlApp.Application.Quit()
xlApp = Nothing
xlBook = Nothing
xlSheet1 = Nothing
'//update
isImport = False
'//refresh
bs_CurrentChanged(Nothing, Nothing)
MsgBox("ok")
End Sub
End Class