프로젝트

일반

사용자정보

통계
| 개정판:

hytos / DTI_PID / SPPIDConverter / CGembox.vb @ c64c95df

이력 | 보기 | 이력해설 | 다운로드 (47.5 KB)

1 6ba3e887 Gyusu
Imports GemBox.Spreadsheet
2
Imports System.Drawing
3
Imports System.IO
4
5
Public Class CGembox
6
7
    Public _ExcelFile As ExcelFile
8
    Dim _Index_Cnt As Integer = 2
9
    Dim _LicenseKey As String = "EXK0-W4HZ-N518-IMEW"
10
    Sub New()
11
        setLicense()
12
    End Sub
13
    Private Sub setLicense()
14
        SpreadsheetInfo.SetLicense(_LicenseKey)
15
        _ExcelFile = New ExcelFile
16
        '   _ExcelFile = New ExcelFile
17
    End Sub
18
19
#Region "엑셀 공용 함수"
20
    Dim EXCEL_HEAD As Integer = 0
21
    Dim EXCEL_START As Integer = 1
22
23
    Function SaveFileFunc(ByVal mWorksheet As String, ByVal mPath As String, ByVal mDT As DataTable) As Boolean
24
        Try
25
            SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_HEAD).Cells(0), "HEAD")
26
            SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_START).Cells(0), "START")
27
            For mColcnt = 0 To mDT.Columns.Count - 1
28
                SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_HEAD).Cells(mColcnt + 1), mDT.Columns(mColcnt).ColumnName)
29
            Next
30
            If mDT IsNot Nothing Then
31
                For mRowcnt = 0 To mDT.Rows.Count - 1
32
                    SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_START + 1 + mRowcnt).Cells(0), String.Empty)
33
                    For mColcnt = 0 To mDT.Columns.Count - 1
34
                        SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(EXCEL_START + mRowcnt).Cells(mColcnt + 1), mDT.Rows(mRowcnt).Item(mColcnt).ToString)
35
                    Next
36
                Next
37
            End If
38
            SetCell(_ExcelFile.Worksheets(mWorksheet).Rows(mDT.Rows.Count + EXCEL_START).Cells(0), "END")
39
            SetSaveFile(_ExcelFile, mPath)
40
        Catch ex As Exception
41
            Return False
42
        End Try
43
        Return True
44
    End Function
45
46
    Function LoadFileFunc() As DataSet
47
        Dim oDs As New DataSet
48
        '  Dim oExcelFile As New ExcelFile
49
        _TempExcel = New ExcelFile
50
        '    _TempFileName = DateTime.Now.Year & "_" & DateTime.Now.Month & "_" & DateTime.Now.Day & " " & DateTime.Now.Hour & "_" & DateTime.Now.Minute & "_" & DateTime.Now.Second
51
        For Each oSheet In _ExcelFile.Worksheets
52
53
            If oSheet.Name = _Sheet_Equipment Or
54
                oSheet.Name = _Sheet_EquipmentComponents Or
55
                oSheet.Name = _Sheet_Instrumentation Or
56
                oSheet.Name = _Sheet_Piping Then
57
                _TempExcel.Worksheets.AddCopy(oSheet.Name, oSheet)
58
                Dim oDt As New DataTable
59
                oDt.TableName = oSheet.Name
60
61
                Dim mFindHeadInt As Integer = 0 ' GetFindRow(_ExcelFile.Worksheets(msheetName), "HEAD")
62
                Dim mStartInt As Integer = 1 'GetFindRow(_ExcelFile.Worksheets(msheetName), "START")
63
                Dim mLastColInt As Integer = oSheet.CalculateMaxUsedColumns 'GetFindColumnCount(_ExcelFile.Worksheets(oSheet.Name), mFindHeadInt)
64
65
                Dim mInputColInt As Integer = 0
66
                If mFindHeadInt <> -1 Or mStartInt <> -1 Or mLastColInt <> -1 Then
67
                    For mCellcnt = 1 To mLastColInt
68
                        If _ExcelFile.Worksheets(oSheet.Name).Rows(mFindHeadInt).Cells(mCellcnt).Value <> "" Then
69
                            Dim oCheckColumnName As Boolean = False
70
                            For i = 0 To oDt.Columns.Count - 1
71
                                If oDt.Columns(i).ColumnName = _ExcelFile.Worksheets(oSheet.Name).Rows(mFindHeadInt).Cells(mCellcnt).Value Then
72
                                    oCheckColumnName = True
73
                                    Exit For
74
                                End If
75
                            Next
76
                            If oCheckColumnName = False Then
77
                                '/ 컬럼이름을 데이터테이블에 저장. 그리드뷰에 출력하기 위해서
78
                                Dim oCol As DataColumn = oDt.Columns.Add(_ExcelFile.Worksheets(oSheet.Name).Rows(mFindHeadInt).Cells(mCellcnt).Value)
79
                                oCol.Namespace = mCellcnt
80
                                mInputColInt = mCellcnt
81
                            End If
82
                        End If
83
                    Next
84
85
                    Dim oIndexCol As DataColumn = oDt.Columns.Add(_Column_Index)
86
                    oIndexCol.Namespace = mInputColInt
87
                    oIndexCol.ColumnMapping = MappingType.Hidden
88
                    '/END 열을 찾아서 START 부터 END 까지 데이터를 데이터테이블에 입력
89
                    Dim mFindEndInt As Integer = _ExcelFile.Worksheets(oSheet.Name).Rows.Count 'GetFindRow(_ExcelFile.Worksheets(oSheet.Name), " ")
90
                    For mRowcnt = 1 To mFindEndInt - 1
91
                        Try
92
93
                            Dim mDataRow As DataRow = oDt.NewRow
94
                            For mCellCnt = 1 To mLastColInt - 1
95
                                Try
96
                                    Dim oColName As String = _ExcelFile.Worksheets(oSheet.Name).Rows(mFindHeadInt).Cells(mCellCnt).Value
97
                                    If oColName <> Nothing Then
98
99
                                        Dim oValve As String = _ExcelFile.Worksheets(oSheet.Name).Rows(mRowcnt).Cells(mCellCnt).Value
100
                                        If oValve IsNot Nothing Then
101
                                            If oValve = "" Then
102
                                                mDataRow(oColName) = ""
103
                                            Else
104
                                                Dim sPreValue As String = mDataRow(oColName).ToString()
105
106
                                                If sPreValue <> "" Then
107
                                                    mDataRow(oColName) = sPreValue & "\" & oValve
108
                                                Else
109
                                                    mDataRow(oColName) = oValve
110
                                                End If
111
                                            End If
112
                                        Else
113
                                            If mDataRow(oColName) IsNot Nothing Then
114
                                                If mDataRow(oColName).ToString() = "" Then
115
                                                    mDataRow(oColName) = ""
116
                                                End If
117
                                            End If
118
                                        End If
119
                                    End If
120
                                Catch ex As Exception
121
                                End Try
122
                            Next
123
                            mDataRow(_Column_Index) = mRowcnt
124
                            If mDataRow("SYM FILE NAME").ToString() <> "" Then
125
                                oDt.Rows.Add(mDataRow)
126
                            End If
127
                        Catch ex As Exception
128
                        End Try
129
                    Next
130
                End If
131
                oDs.Tables.Add(oDt)
132
            End If
133
        Next
134
        Return oDs
135
    End Function
136
137
    Function AddImageLibrary(ByVal oDs As DataSet, ByVal oPIDSymbol_Dt As DataTable) As DataTable
138
139
        Dim oImageSymbol_Dt As DataTable = ImageSymbol_Dt()
140
        Dim iColcnt As Integer = 0
141
        Dim bCheckSheet As Boolean = False
142
        Dim oSymbolSheet As ExcelWorksheet = Nothing
143
        For Each oSheet As ExcelWorksheet In _ExcelFile.Worksheets
144
            If oSheet.Name = _Sheet_ImageSymbol Then
145
                bCheckSheet = True
146
                oSymbolSheet = oSheet
147
                oSymbolSheet.Clear()
148
                Exit For
149
            End If
150
        Next
151
        If bCheckSheet = False Then
152
            oSymbolSheet = _ExcelFile.Worksheets.Add(_Sheet_ImageSymbol)
153
        End If
154
        If oSymbolSheet IsNot Nothing Then
155
            For Each oDt As DataTable In oDs.Tables
156
                oSymbolSheet.Cells(0, iColcnt).Value = oDt.TableName
157
                oSymbolSheet.Columns(iColcnt).AutoFit()
158
                Dim oDataRows() As DataRow = oPIDSymbol_Dt.Select("category = '" & oDt.TableName & "'")
159
                Dim iRowcnt As Integer = 1
160
                For Each oRow In oDataRows
161
                    Dim sCategory As String = oRow("name").ToString()
162
                    oSymbolSheet.Cells(iRowcnt, iColcnt).Value = sCategory
163
                    iRowcnt = iRowcnt + 1
164
                Next
165
                Dim sStartCell As String = ConvertAlphabet(iColcnt) & 2
166
                Dim sEndCell As String = ConvertAlphabet(iColcnt) & iRowcnt
167
168
                Dim oAddRow As DataRow = oImageSymbol_Dt.NewRow()
169
                oAddRow(_Sheet_ImageSymbol_Type) = oDt.TableName
170
                oAddRow(_Sheet_ImageSymbol_StartCell) = sStartCell
171
                oAddRow(_Sheet_ImageSymbol_EndCell) = sEndCell
172
                oImageSymbol_Dt.Rows.Add(oAddRow)
173
                iColcnt = iColcnt + 1
174
            Next
175
        End If
176
        Return oImageSymbol_Dt
177
    End Function
178
179
    Function ConvertAlphabet(ByVal iCol As Integer) As String
180
        If iCol = 0 Then
181
            Return "A"
182
        ElseIf iCol = 1 Then
183
            Return "B"
184
        ElseIf iCol = 2 Then
185
            Return "C"
186
        ElseIf iCol = 3 Then
187
            Return "D"
188
        ElseIf iCol = 4 Then
189
            Return "E"
190
        ElseIf iCol = 5 Then
191
            Return "F"
192
        ElseIf iCol = 6 Then
193
            Return "G"
194
        ElseIf iCol = 7 Then
195
            Return "H"
196
        ElseIf iCol = 8 Then
197
            Return "I"
198
        ElseIf iCol = 9 Then
199
            Return "J"
200
        ElseIf iCol = 10 Then
201
            Return "K"
202
        ElseIf iCol = 11 Then
203
            Return "L"
204
        ElseIf iCol = 12 Then
205
            Return "M"
206
        ElseIf iCol = 13 Then
207
            Return "N"
208
        ElseIf iCol = 14 Then
209
            Return "O"
210
        ElseIf iCol = 15 Then
211
            Return "P"
212
        ElseIf iCol = 16 Then
213
            Return "Q"
214
        ElseIf iCol = 17 Then
215
            Return "R"
216
        ElseIf iCol = 18 Then
217
            Return "S"
218
        End If
219
        Return ""
220
    End Function
221
222
223
    Function SaveSymbolLibrary(ByVal oDt As DataTable, ByVal oImageSymbol_Dt As DataTable) As Boolean
224
        Dim oUpdateFlag As Boolean = True
225
226
        Dim mColumnCount As Integer = oDt.Columns.Count
227
        Try
228
            Dim sSheetName As String = oDt.TableName
229
            _ExcelFile.Worksheets(sSheetName).DataValidations.Clear()
230
            For Each oCol As DataColumn In oDt.Columns
231
232
                If IsNumeric(oCol.Namespace) Then
233
                    Dim sColindex As Integer = oCol.Namespace
234
                    Dim sExcelColName As String = _ExcelFile.Worksheets(sSheetName).Cells(0, sColindex).Value
235
                    Dim sColName As String = oCol.ColumnName
236
                    If sExcelColName <> sColName And sColName <> _Column_Index Then
237
                        _ExcelFile.Worksheets(sSheetName).Cells(0, sColindex).Value = sColName
238
                    End If
239
                End If
240
            Next
241
            Dim sAlphabet As String = ""
242
            Dim iLastRow As Integer = 0
243
            For j = 0 To oDt.Columns.Count - 1
244
                If oDt.Columns(j).ColumnName = _Column_ImageSymbol Then
245
246
                    Dim iColindex As Integer = -1
247
                    If IsNumeric(oDt.Columns(j - 1).Namespace) Then
248
                        iColindex = oDt.Columns(j - 1).Namespace + 1
249
                    End If
250
                    If iColindex > 0 Then
251
                        sAlphabet = ConvertAlphabet(iColindex)
252
                        _ExcelFile.Worksheets(sSheetName).Columns(iColindex).AutoFit()
253
                        For i = 0 To oDt.Rows.Count - 1
254
                            If IsNumeric(oDt.Rows(i)(_Column_Index).ToString()) Then
255
                                Dim iRowindex As Integer = oDt.Rows(i)(_Column_Index).ToString()
256
                                Dim sImgSymbolName As String = oDt.Rows(i)(_Column_ImageSymbol).ToString()
257
258
                                ' .ErrorMessage = "Value should be a date between 2011-01-01 and 2011-12-31."
259
                                iLastRow = iRowindex
260
                                _ExcelFile.Worksheets(sSheetName).Cells(iRowindex, iColindex).Value = sImgSymbolName
261
                                Dim oFindCell As DataRow() = oImageSymbol_Dt.Select("Type = '" & sSheetName & "'")
262
                                If oFindCell.Length = 1 Then
263
                                    Dim sStartcell As String = oFindCell(0)(_Sheet_ImageSymbol_StartCell).ToString()
264
                                    Dim sEndcell As String = oFindCell(0)(_Sheet_ImageSymbol_EndCell).ToString()
265
                                    _ExcelFile.Worksheets(sSheetName).DataValidations.Add(New DataValidation(_ExcelFile.Worksheets(sSheetName), sAlphabet & iLastRow + 1) With {
266
                                .Type = DataValidationType.List,
267
                                .Formula1 = "=" & _Sheet_ImageSymbol & "!" & sStartcell & ":" & sEndcell,
268
                                .InputMessageTitle = "Image Symbol 선택",
269
                                .InputMessage = "SPPID Symbol과 일치하는 ImageSymbol을 선택해주세요",
270
                                .ErrorStyle = DataValidationErrorStyle.Information,
271
                                .ErrorTitle = "Invalid Symbol"})
272
                                End If
273
274
                            End If
275
                        Next
276
                    End If
277
278
279
                End If
280
281
            Next
282
283
            'Dim oFindCell As DataRow() = oImageSymbol_Dt.Select("Type = '" & sSheetName & "'")
284
            'If oFindCell.Length = 1 Then
285
            '    Dim sStartcell As String = oFindCell(0)(_Sheet_ImageSymbol_StartCell).ToString()
286
            '    Dim sEndcell As String = oFindCell(0)(_Sheet_ImageSymbol_EndCell).ToString()
287
            '    _ExcelFile.Worksheets(sSheetName).DataValidations.Add(New DataValidation(_ExcelFile.Worksheets(sSheetName).Cells.GetSubrange(sAlphabet & "1", sAlphabet & iLastRow)) With {
288
            '.Type = DataValidationType.List,
289
            '.Formula1 = "=" & _Sheet_ImageSymbol & "!" & sStartcell & ":" & sEndcell,
290
            '.InputMessageTitle = "Image Symbol 선택",
291
            '.InputMessage = "SPPID Symbol과 일치하는 ImageSymbol을 선택해주세요",
292
            '.ErrorStyle = DataValidationErrorStyle.Information,
293
            '.ErrorTitle = "Invalid Symbol"})
294
            'End If
295
296
        Catch ex As Exception
297
        End Try
298
    End Function
299
300
301
302
    Function outputToExcelFile(ByVal mdt As DataTable, ByVal mReportSubject As String, ByVal mSavePath As String) As String
303
        '    Dim mExcelFile As New ExcelFile
304
        Try
305
            Dim mEwSheet As ExcelWorksheet = _ExcelFile.Worksheets.Add(mReportSubject)
306
            Dim mColumnCount As Integer = mdt.Columns.Count
307
            ' 제목
308
            mEwSheet.Cells.GetSubrangeAbsolute(0, 0, 0, mColumnCount - 2).Merged = True
309
            mEwSheet.Cells(0, 0).Style.Font.Size = 18 * 20
310
            mEwSheet.Cells(0, 0).Style.Font.Weight = ExcelFont.BoldWeight
311
            mEwSheet.Cells(0, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
312
            mEwSheet.Cells(0, 0).Style.VerticalAlignment = VerticalAlignmentStyle.Center
313
314
            mEwSheet.Cells(0, 0).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
315
            mEwSheet.Cells(0, 0).Value = mReportSubject
316
            Dim mDateTime As Date = DateTime.Now
317
            ' 날짜
318
            mEwSheet.Cells(0, mColumnCount - 1).Value = mDateTime.Year.ToString() + "-" + String.Format("{0:d2}", mDateTime.Month) + "-" + String.Format("{0:d2}", mDateTime.Day)
319
            mEwSheet.Cells(0, mColumnCount - 1).Style.HorizontalAlignment = HorizontalAlignmentStyle.Right
320
            mEwSheet.Cells(0, mColumnCount - 1).Style.Font.Size = 14 * 20
321
            mEwSheet.Cells(0, mColumnCount - 1).Style.Font.Weight = ExcelFont.BoldWeight
322
            mEwSheet.Cells(0, mColumnCount - 1).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
323
324
            '---------------------------------------------------------------
325
            ' 헤더 설정
326
            '--------------------------------------------------------------
327
            For i = 0 To mColumnCount - 1
328
                '--------------------------------------------------------------------------------
329
                '이름.
330
                '---------------------------------------------------------------------------------
331
                mEwSheet.Cells(1, i).Value = mdt.Columns(i).ToString()
332
                '---------------------------------------------------------------------------------
333
                ' 색깔.
334
                '---------------------------------------------------------------------------------
335
                mEwSheet.Cells(1, i).Style.FillPattern.SetSolid(Color.CornflowerBlue)
336
                '---------------------------------------------------------------------------------
337
                ' 글씨.
338
                '---------------------------------------------------------------------------------
339
                mEwSheet.Cells(1, i).Style.Font.Color = Color.White
340
                mEwSheet.Cells(1, i).Style.Font.Weight = ExcelFont.BoldWeight
341
                '---------------------------------------------------------------------------------
342
                ' 줄.
343
                '---------------------------------------------------------------------------------
344
                mEwSheet.Cells(1, i).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
345
                '---------------------------------------------------------------------------------
346
                ' 세로 정렬
347
                '---------------------------------------------------------------------------------
348
                mEwSheet.Cells(1, i).Style.VerticalAlignment = VerticalAlignmentStyle.Center
349
                '---------------------------------------------------------------------------------
350
                ' 가로 정렬
351
                '---------------------------------------------------------------------------------
352
                mEwSheet.Cells(1, i).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
353
            Next
354
            '---------------------------------------------------------------
355
            ' 리포트 행 데이터 입력.
356
            '---------------------------------------------------------------
357
            Dim mblankRow As Integer = 2
358
359
            For i = 0 To mdt.Rows.Count - 1
360
                For j = 0 To mdt.Columns.Count - 1
361
                    ' 값 입력
362
                    mEwSheet.Cells(i + mblankRow, j).Value = mdt.Rows(i)(j).ToString()
363
                    '---------------------------------------------------------------------------------
364
                    ' 줄.
365
                    '---------------------------------------------------------------------------------
366
                    mEwSheet.Cells(i + mblankRow, j).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
367
                    '---------------------------------------------------------------------------------
368
                    ' 세로 정렬
369
                    '---------------------------------------------------------------------------------
370
                    mEwSheet.Cells(i + mblankRow, j).Style.VerticalAlignment = VerticalAlignmentStyle.Center
371
                    '---------------------------------------------------------------------------------
372
                    ' 가로 정렬
373
                    '---------------------------------------------------------------------------------
374
                    mEwSheet.Cells(i + mblankRow, j).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
375
                Next
376
            Next
377
            '---------------------------------------------------------------------------------
378
            ' 핏
379
            '---------------------------------------------------------------------------------
380
            For i = 0 To mColumnCount - 1
381
                mEwSheet.Columns(i).AutoFit()
382
            Next
383
            '---------------------------------------------------------------------------------
384
            ' 저장
385
            '---------------------------------------------------------------------------------
386
            SetSaveFile(_ExcelFile, mSavePath)
387
388
        Catch ex As Exception
389
            MsgBox(ex.Message, MsgBoxStyle.Critical)
390
            Return ""
391
        End Try
392
        Return mSavePath
393
    End Function
394
395
396
    'Function OutputToExcelFile(ByVal mUltragrid As UltraGrid, ByVal mReportSubject As String, ByVal mSavePath As String) As String
397
    '    Dim mExcelFile As New ExcelFile
398
    '    Try
399
    '        Dim mEwSheet As ExcelWorksheet = mExcelFile.Worksheets.Add(mReportSubject)
400
    '        Dim mColumnCount As Integer = mUltragrid.DisplayLayout.Bands(0).Columns.Count
401
    '        ' 제목 
402
    '        mEwSheet.Cells.GetSubrangeAbsolute(0, 0, 0, mColumnCount - 2).Merged = True
403
    '        mEwSheet.Cells(0, 0).Style.Font.Size = 18 * 20
404
    '        mEwSheet.Cells(0, 0).Style.Font.Weight = ExcelFont.BoldWeight
405
    '        mEwSheet.Cells(0, 0).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
406
    '        mEwSheet.Cells(0, 0).Style.VerticalAlignment = VerticalAlignmentStyle.Center
407
    '        mEwSheet.Cells(0, 0).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
408
    '        mEwSheet.Cells(0, 0).Value = mReportSubject
409
    '        Dim mDateTime As Date = DateTime.Now
410
    '        ' 날짜
411
    '        mEwSheet.Cells(0, mColumnCount - 1).Value = mDateTime.Year.ToString() + "-" + String.Format("{0:d2}", mDateTime.Month) + "-" + String.Format("{0:d2}", mDateTime.Day)
412
    '        mEwSheet.Cells(0, mColumnCount - 1).Style.HorizontalAlignment = HorizontalAlignmentStyle.Right
413
    '        mEwSheet.Cells(0, mColumnCount - 1).Style.Font.Size = 14 * 20
414
    '        mEwSheet.Cells(0, mColumnCount - 1).Style.Font.Weight = ExcelFont.BoldWeight
415
    '        mEwSheet.Cells(0, mColumnCount - 1).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
416
417
    '        '---------------------------------------------------------------
418
    '        ' 헤더 설정
419
    '        '--------------------------------------------------------------
420
    '        For i = 0 To mColumnCount - 1
421
    '            '--------------------------------------------------------------------------------
422
    '            '이름.
423
    '            '---------------------------------------------------------------------------------
424
    '            mEwSheet.Cells(1, i).Value = mUltragrid.DisplayLayout.Bands(0).Columns(i).ToString()
425
    '            '---------------------------------------------------------------------------------
426
    '            ' 색깔.
427
    '            '---------------------------------------------------------------------------------
428
    '            mEwSheet.Cells(1, i).Style.FillPattern.SetSolid(Color.CornflowerBlue)
429
    '            '---------------------------------------------------------------------------------
430
    '            ' 글씨.
431
    '            '---------------------------------------------------------------------------------
432
    '            mEwSheet.Cells(1, i).Style.Font.Color = Color.White
433
    '            mEwSheet.Cells(1, i).Style.Font.Weight = ExcelFont.BoldWeight
434
    '            '---------------------------------------------------------------------------------
435
    '            ' 줄.
436
    '            '---------------------------------------------------------------------------------
437
    '            mEwSheet.Cells(1, i).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
438
    '            '---------------------------------------------------------------------------------
439
    '            ' 세로 정렬
440
    '            '---------------------------------------------------------------------------------
441
    '            mEwSheet.Cells(1, i).Style.VerticalAlignment = VerticalAlignmentStyle.Center
442
    '            '---------------------------------------------------------------------------------
443
    '            ' 가로 정렬
444
    '            '---------------------------------------------------------------------------------
445
    '            mEwSheet.Cells(1, i).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
446
    '        Next
447
    '        '---------------------------------------------------------------
448
    '        ' 리포트 행 데이터 입력.
449
    '        '---------------------------------------------------------------
450
    '        Dim mGridRow() As UltraGridRow = mUltragrid.Rows.GetFilteredInNonGroupByRows()
451
    '        Dim mblankRow As Integer = 2
452
453
    '        For i = 0 To mGridRow.Length - 1
454
    '            For j = 0 To mGridRow.Length - 1
455
    '                ' 값 입력
456
    '                mEwSheet.Cells(i + mblankRow, j).Value = mGridRow(i).Cells(j).ToString()
457
458
    '                '---------------------------------------------------------------------------------
459
    '                ' 셀 색.
460
    '                '---------------------------------------------------------------------------------
461
    '                If (mGridRow(i).Cells(j).Appearance.BackColor = Color.Empty) Then
462
    '                    mEwSheet.Cells(i + mblankRow, j).Style.FillPattern.SetSolid(Color.Transparent)
463
    '                Else
464
    '                    mEwSheet.Cells(i + mblankRow, j).Style.FillPattern.SetSolid(mGridRow(i).Cells(j).Appearance.BackColor)
465
    '                End If
466
467
    '                '---------------------------------------------------------------------------------
468
    '                ' 줄.
469
    '                '---------------------------------------------------------------------------------
470
    '                mEwSheet.Cells(i + mblankRow, j).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
471
    '                '---------------------------------------------------------------------------------
472
    '                ' 세로 정렬
473
    '                '---------------------------------------------------------------------------------
474
    '                mEwSheet.Cells(i + mblankRow, j).Style.VerticalAlignment = VerticalAlignmentStyle.Center
475
    '                '---------------------------------------------------------------------------------
476
    '                ' 가로 정렬
477
    '                '---------------------------------------------------------------------------------
478
    '                mEwSheet.Cells(i + mblankRow, j).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
479
    '            Next
480
    '        Next
481
    '        '---------------------------------------------------------------------------------
482
    '        ' 핏
483
    '        '---------------------------------------------------------------------------------
484
    '        For i = 0 To mColumnCount - 1
485
    '            mEwSheet.Columns(i).AutoFit()
486
    '        Next
487
    '        '---------------------------------------------------------------------------------
488
    '        ' 저장
489
    '        '---------------------------------------------------------------------------------
490
    '        If (mSavePath.Contains(".xlsx")) Then
491
    '            mExcelFile.SaveXlsx(mSavePath)
492
    '        Else
493
    '            mExcelFile.SaveXls(mSavePath)
494
    '            System.Diagnostics.Process.Start(mSavePath)
495
    '        End If
496
    '    Catch ex As Exception
497
    '        MsgBox(ex.Message, MsgBoxStyle.Critical)
498
    '        Return ""
499
    '    End Try
500
    '    Return mSavePath
501
    'End Function
502
503
    '/엑셀파일 여러개 로드할때
504
    Function isLoadFile(ByVal mExcelFileList As List(Of ExcelFile), ByVal mFilepath() As String)
505
        Try
506
            mExcelFileList.Clear()
507
            For mcnt = 0 To mFilepath.Length - 1
508
                mExcelFileList.Add(New ExcelFile)
509
                _ExcelFile = GemBox.Spreadsheet.ExcelFile.Load(mFilepath(mcnt))
510
            Next
511
            Return True
512
        Catch ex As Exception
513
            MsgBox(ex.Message, MsgBoxStyle.Critical)
514
            Return False
515
        End Try
516
    End Function
517
    '/엑셀파일 하나만 로드할때
518
    Function isLoadFile(ByVal mFilepath As String) As Boolean
519
        Try
520
            _ExcelFile = GemBox.Spreadsheet.ExcelFile.Load(mFilepath)
521
            Return True
522
        Catch ex As Exception
523
            MsgBox(ex.Message, MsgBoxStyle.Critical)
524
            Return False
525
        End Try
526
    End Function
527
    '엑셀 파일 저장하기
528
    Function SetSaveFile(ByVal mExcelFile As ExcelFile, ByVal outputFilepath As String) As Boolean
529
        Try
530
            mExcelFile.Save(outputFilepath)
531
532
            Return True
533
        Catch ex As Exception
534
            MsgBox(ex.Message, MsgBoxStyle.Critical)
535
            Return False
536
        End Try
537
    End Function
538
539
    Function SetSaveFile(ByVal outputFilepath As String) As Boolean
540
        Try
541
            _ExcelFile.Save(outputFilepath)
542
543
            Return True
544
        Catch ex As Exception
545
            MsgBox(ex.Message, MsgBoxStyle.Critical)
546
            Return False
547
        End Try
548
    End Function
549
    '엑셀 셀 데이터 가져오기
550
    Function GetCellValue(ByVal mData As ExcelCell) As String
551
        If mData.Value Is Nothing Then
552
            Return String.Empty
553
        Else
554
            Return mData.Value.ToString
555
        End If
556
    End Function
557
    '엑셀 셀 데이터 소문자로 가져오기
558
    Function GetCellValueToLower(ByVal mData As ExcelCell) As String
559
        '소문자 변환
560
        Return GetCellValue(mData).ToLower
561
    End Function
562
563
    '검색스트링으로 엑셀파일 A(첫번째컬럼)의 Row찾기
564
    Function GetFindRow(ByVal mExcel As ExcelWorksheet, ByVal mName As String) As Integer
565
        For mCnt = 1 To mExcel.Rows.Count - 1
566
            If GetCellValueToLower(mExcel.Rows(mCnt).Cells(0)) = mName.ToLower Then
567
                Return mCnt
568
            End If
569
        Next
570
        Return -1
571
    End Function
572
573
    'row열에 해당하는 마지막 Interface(컬럼) 인덱스 가져오기
574
575
    Function GetFindColumnCount(ByVal mExcel As ExcelWorksheet, ByVal mRowCnt As Integer) As Integer
576
        If mRowCnt = -1 Then
577
            Return -1
578
        End If
579
        For mcnt = 1 To mExcel.CalculateMaxUsedColumns
580
            If GetCellValue(mExcel.Rows(mRowCnt).Cells(mcnt)) = String.Empty Then
581
                Return mcnt - 1
582
            End If
583
        Next
584
        Return -1
585
    End Function
586
587
    '검색스트링으로 row에 컬럼들중에서 스트링과 같은 문자열인 컬럼 인덱스 가져오기
588
589
    Function getFindColumnIndexFromColumnName(ByVal mExcel As ExcelWorksheet, ByVal mrowcnt As Integer, ByVal mData As String, ByVal mColumnCount As Integer) As Integer
590
        For mcnt = 1 To mColumnCount
591
            If GetCellValueToLower(mExcel.Rows(mrowcnt).Cells(mcnt)) = mData.ToLower Then
592
                Return mcnt
593
            End If
594
        Next
595
        Return -1
596
    End Function
597
    ' 검색스트링으로 row에 컬럼들중에서 스트링에 포함하는 컬럼 인덱스 가져오기
598
    '시작부터 돌면 = true, 끝에서 부터 돌면 = false
599
600
    Function getFindColumnIndexFormContainColumnName(ByVal mExcel As ExcelWorksheet, ByVal mRowcnt As Integer, ByVal mData As String, ByVal mColumnCount As Integer, ByVal IsStandardSearch As Boolean) As Integer
601
        If IsStandardSearch Then
602
            ' true이면 시작점 부터
603
            For mcnt = 1 To mColumnCount
604
                If GetCellValueToLower(mExcel.Rows(mRowcnt).Cells(mcnt)).StartsWith(mData.ToLower) Then
605
                    Return mcnt
606
                End If
607
            Next
608
        Else
609
            For mcnt = mColumnCount To 1 Step -1
610
                If GetCellValueToLower(mExcel.Rows(mRowcnt).Cells(mcnt)).StartsWith(mData.ToLower) Then
611
                    Return mcnt
612
                End If
613
614
615
            Next
616
        End If
617
        Return -1
618
    End Function
619
    '해당 Row가 빈행인지 확인
620
    Function isBlankCheck(ByVal mExcel As ExcelWorksheet, ByVal mrowcnt As Integer, ByVal mColumnCnt As Integer) As Boolean
621
        Dim mBlanckCheck As Boolean = True
622
        For mcnt = 0 To mColumnCnt
623
            If GetCellValue(mExcel.Rows(mrowcnt).Cells(mcnt)) <> String.Empty Then
624
                mBlanckCheck = False
625
            End If
626
        Next
627
        Return mBlanckCheck
628
    End Function
629
630
    '셀에 값넣기(가로, 세로 중앙 fit)
631
    Public Sub SetCell(ByVal mExcelCell As ExcelCell, ByVal mValue As String)
632
        mExcelCell.Value = mValue
633
        mExcelCell.Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
634
        mExcelCell.Style.VerticalAlignment = VerticalAlignmentStyle.Center
635
    End Sub
636
637
638
    '셀에 값 넣기(가로, 세로 중앙fit + 글자 진하게)
639
    Public Sub SetCellBold(ByVal mExcelCell As ExcelCell, ByVal mValue As String)
640
        SetCell(mExcelCell, mValue)
641
        mExcelCell.Style.Font.Weight = ExcelFont.BoldWeight
642
    End Sub
643
644
645
    ' 셀에 값 넣기(가로, 세로 중앙fit + 셀 박스)
646
    Public Sub SetCellBox(ByVal mExcelCell As ExcelCell, ByVal mValue As String)
647
        SetCell(mExcelCell, mValue)
648
        mExcelCell.SetBorders(MultipleBorders.Outside, System.Drawing.Color.Black, LineStyle.Thin)
649
    End Sub
650
651
    '셀에 값 넣기(가로, 세로 중앙fit + 글자 진하게 + 셀 박스)
652
    Public Sub SetCellBoldAndBox(ByVal mExcelCell As ExcelCell, ByVal mValue As String)
653
        SetCellBold(mExcelCell, mValue)
654
        mExcelCell.SetBorders(MultipleBorders.Outside, System.Drawing.Color.Black, LineStyle.Thin)
655
    End Sub
656
#End Region
657
658
    Sub Init_Setting_Save_Piping_Material_Spec_Report(ByVal mEwSheet As ExcelWorksheet, ByVal mLastColumn As Integer,
659
                                                           ByVal mFirstRow As Integer, ByVal mValue As String, ByVal mHeaderName As String, ByVal mFirstColumn As Integer, ByVal mFontSize As Integer,
660
                                                           ByVal mRelativeCol As Integer)
661
662
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.Font.Size = mFontSize
663
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.Font.Weight = ExcelFont.BoldWeight
664
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
665
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.VerticalAlignment = VerticalAlignmentStyle.Center
666
        mEwSheet.Cells(mFirstRow, mRelativeCol).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
667
        mEwSheet.Cells(mFirstRow, mRelativeCol).Style.FillPattern.SetSolid(Color.Orange)
668
        mEwSheet.Cells(mFirstRow, mRelativeCol).Value = mHeaderName
669
        mEwSheet.Cells.GetSubrangeAbsolute(mFirstRow, mFirstColumn, mFirstRow, mLastColumn).Merged = True
670
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.Font.Size = mFontSize
671
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.Font.Weight = ExcelFont.BoldWeight
672
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
673
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.VerticalAlignment = VerticalAlignmentStyle.Center
674
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Style.FillPattern.SetSolid(Color.Orange)
675
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
676
677
        mEwSheet.Cells(mFirstRow, mRelativeCol + 1).Value = mValue
678
679
        'For mcnt = 0 To mEwSheet.Columns.Count - 1
680
        '    mEwSheet.Columns(mcnt).AutoFit()
681
        'Next
682
    End Sub
683
684
    Function Index_Input(ByVal mName As String) As Boolean
685
        If _ExcelFile.Worksheets.Count = 0 Then
686
            Dim mEwSheet As ExcelWorksheet = _ExcelFile.Worksheets.Add("Index")
687
            mEwSheet.Cells(0, 0).Value = "!Index"
688
            Init_Setting_Save_Piping_Material_Spec_Report(mEwSheet, 1, 1, mName, "No", 1, 14 * 16, 1)
689
            Return True
690
        End If
691
        Return False
692
    End Function
693
694
695
    Sub Init_Main_Column(ByVal mEwSheet As ExcelWorksheet, ByVal mRowInt As Integer, ByVal mColInt As Integer,
696
                         ByVal mFontSize As Integer, ByVal mBold As Integer,
697
                         ByVal mHorizontalAlighment As Integer, ByVal mVerticalAlighment As Integer,
698
                         ByVal mOutsize As Integer, ByVal mOutsideColor As Color, ByVal mOutsideLine As Integer,
699
                         ByVal mFillpattern As Color, ByVal mValue As String)
700
701
        mEwSheet.Cells(mRowInt, mColInt).Style.Font.Size = mFontSize
702
        mEwSheet.Cells(mRowInt, mColInt).Style.Font.Weight = mBold
703
        mEwSheet.Cells(mRowInt, mColInt).Style.HorizontalAlignment = mHorizontalAlighment
704
        mEwSheet.Cells(mRowInt, mColInt).Style.VerticalAlignment = mVerticalAlighment
705
        mEwSheet.Cells(mRowInt, mColInt).SetBorders(mOutsize, mOutsideColor, mOutsideLine)
706
        mEwSheet.Cells(mRowInt, mColInt).Style.FillPattern.SetSolid(mFillpattern)
707
        mEwSheet.Cells(mRowInt, mColInt).Value = mValue
708
        mEwSheet.Columns(mColInt).AutoFit()
709
    End Sub
710
711
    Sub Excel_Report_GRIDVIEW_Input(ByVal mHeaderInt As Integer, ByVal mUltragrid As DataGridView, ByVal mEwSheet As ExcelWorksheet)
712
        Dim mRowcnt As Integer = mUltragrid.Rows.Count
713
        Dim mColCnt As Integer = mUltragrid.Columns.Count
714
        Dim mMainHeadercnt As Integer = mHeaderInt
715
        '---------------------------------------------------------------
716
        ' 헤더 설정
717
        '--------------------------------------------------------------
718
        For i = 0 To mColCnt - 1
719
            '--------------------------------------------------------------------------------
720
            '이름.
721
            '---------------------------------------------------------------------------------
722
            mEwSheet.Cells(mMainHeadercnt, i).Value = mUltragrid.Columns(i).ToString()
723
            '---------------------------------------------------------------------------------
724
            ' 색깔.
725
            '---------------------------------------------------------------------------------
726
            mEwSheet.Cells(mMainHeadercnt, i).Style.FillPattern.SetSolid(Color.CornflowerBlue)
727
            '---------------------------------------------------------------------------------
728
            ' 글씨.
729
            '---------------------------------------------------------------------------------
730
            mEwSheet.Cells(mMainHeadercnt, i).Style.Font.Color = Color.White
731
            mEwSheet.Cells(mMainHeadercnt, i).Style.Font.Weight = ExcelFont.BoldWeight
732
            '---------------------------------------------------------------------------------
733
            ' 줄.
734
            '---------------------------------------------------------------------------------
735
            mEwSheet.Cells(mMainHeadercnt, i).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
736
            '---------------------------------------------------------------------------------
737
            ' 세로 정렬
738
            '---------------------------------------------------------------------------------
739
            mEwSheet.Cells(mMainHeadercnt, i).Style.VerticalAlignment = VerticalAlignmentStyle.Center
740
            '---------------------------------------------------------------------------------
741
            ' 가로 정렬
742
            '---------------------------------------------------------------------------------
743
            mEwSheet.Cells(mMainHeadercnt, i).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
744
        Next
745
        mMainHeadercnt += 1
746
        '---------------------------------------------------------------
747
        ' 리포트 행 데이터 입력.
748
        '---------------------------------------------------------------
749
        '   Dim mGridRow() As UltraGridRow = mUltragrid.Rows.GetFilteredInNonGroupByRows()
750
751
        ' Dim mblankRow As Integer = 2
752
753
        For i = 0 To mRowcnt - 1
754
            For j = 0 To mColCnt - 1
755
                Try
756
                    mEwSheet.Cells(mMainHeadercnt, j).Value = mUltragrid.Rows(i).Cells(j).Value
757
758
                    '---------------------------------------------------------------------------------
759
                    ' 셀 색.
760
                    '---------------------------------------------------------------------------------
761
                    If (mUltragrid.Rows(i).Cells(j).Style.BackColor = Color.Empty) Then
762
                        mEwSheet.Cells(mMainHeadercnt, j).Style.FillPattern.SetSolid(Color.Transparent)
763
                    Else
764
                        mEwSheet.Cells(mMainHeadercnt, j).Style.FillPattern.SetSolid(mUltragrid.Rows(i).Cells(j).Style.BackColor)
765
                    End If
766
767
                    '---------------------------------------------------------------------------------
768
                    ' 줄.
769
                    '---------------------------------------------------------------------------------
770
                    mEwSheet.Cells(mMainHeadercnt, j).Style.Borders.SetBorders(MultipleBorders.None, Color.Black, LineStyle.None)
771
                    '---------------------------------------------------------------------------------
772
                    ' 세로 정렬
773
                    '---------------------------------------------------------------------------------
774
                    mEwSheet.Cells(mMainHeadercnt, j).Style.VerticalAlignment = VerticalAlignmentStyle.Center
775
                    '---------------------------------------------------------------------------------
776
                    ' 가로 정렬
777
                    '---------------------------------------------------------------------------------
778
                    mEwSheet.Cells(mMainHeadercnt, j).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
779
                Catch ex As Exception
780
781
                End Try
782
                ' 값 입력
783
784
            Next
785
            mMainHeadercnt += 1
786
        Next
787
        '---------------------------------------------------------------------------------
788
        ' 핏
789
        '---------------------------------------------------------------------------------
790
        For i = 0 To mColCnt - 1
791
            mEwSheet.Columns(i).AutoFit()
792
        Next
793
794
    End Sub
795
796
797
798
    Sub Excel_Report_Datatable_Input(ByVal mHeaderInt As Integer, ByVal mdt As DataTable, ByVal mEwSheet As ExcelWorksheet)
799
800
        Dim mRowcnt As Integer = mdt.Rows.Count
801
        Dim mColCnt As Integer = mdt.Columns.Count
802
        '---------------------------------------------------------------
803
        '  SpecName 설정
804
        '--------------------------------------------------------------
805
        Dim mMainHeadercnt As Integer = mHeaderInt
806
        '---------------------------------------------------------------
807
        ' 헤더 설정
808
        '--------------------------------------------------------------
809
        For i = 0 To mColCnt - 1
810
            '--------------------------------------------------------------------------------
811
            '이름.
812
            '---------------------------------------------------------------------------------
813
            mEwSheet.Cells(mMainHeadercnt, i).Value = mdt.Columns(i).ToString()
814
            '---------------------------------------------------------------------------------
815
            ' 색깔.
816
            '---------------------------------------------------------------------------------
817
            mEwSheet.Cells(mMainHeadercnt, i).Style.FillPattern.SetSolid(Color.Purple)
818
            '---------------------------------------------------------------------------------
819
            ' 글씨.
820
            '---------------------------------------------------------------------------------
821
            mEwSheet.Cells(mMainHeadercnt, i).Style.Font.Color = Color.White
822
            mEwSheet.Cells(mMainHeadercnt, i).Style.Font.Weight = ExcelFont.BoldWeight
823
            '---------------------------------------------------------------------------------
824
            ' 줄.
825
            '---------------------------------------------------------------------------------
826
            mEwSheet.Cells(mMainHeadercnt, i).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
827
            '---------------------------------------------------------------------------------
828
            ' 세로 정렬
829
            '---------------------------------------------------------------------------------
830
            mEwSheet.Cells(mMainHeadercnt, i).Style.VerticalAlignment = VerticalAlignmentStyle.Center
831
            '---------------------------------------------------------------------------------
832
            ' 가로 정렬
833
            '---------------------------------------------------------------------------------
834
            mEwSheet.Cells(mMainHeadercnt, i).Style.HorizontalAlignment = HorizontalAlignmentStyle.Center
835
            mEwSheet.Columns(i).AutoFit()
836
        Next
837
        mMainHeadercnt += 1
838
        '---------------------------------------------------------------
839
        ' 리포트 행 데이터 입력.
840
        '---------------------------------------------------------------
841
        '    Dim mblankRow As Integer = 2
842
843
        For i = 0 To mdt.Rows.Count - 1
844
            For j = 0 To mdt.Columns.Count - 1
845
                'If j = 0 Then
846
                '    mEwSheet.Cells(mMainHeadercnt, j).Value = i + 1
847
                'Else
848
                '    ' 값 입력
849
                '    mEwSheet.Cells(mMainHeadercnt, j).Value = mdt.Rows(i)(j).ToString()
850
                '    '---------------------------------------------------------------------------------
851
                'End If
852
853
                ' 값 입력
854
                mEwSheet.Cells(mMainHeadercnt, j).Value = mdt.Rows(i)(j).ToString()
855
856
                ' 줄.
857
                '---------------------------------------------------------------------------------
858
                mEwSheet.Cells(mMainHeadercnt, i).Style.Borders.SetBorders(MultipleBorders.Outside, Color.Black, LineStyle.Thin)
859
                '---------------------------------------------------------------------------------
860
                ' 세로 정렬
861
                '---------------------------------------------------------------------------------
862
                mEwSheet.Cells(mMainHeadercnt, j).Style.VerticalAlignment = VerticalAlignmentStyle.Center
863
                '---------------------------------------------------------------------------------
864
                ' 가로 정렬
865
                '---------------------------------------------------------------------------------
866
                mEwSheet.Cells(mMainHeadercnt, j).Style.HorizontalAlignment = HorizontalAlignmentStyle.Left
867
                mEwSheet.Columns(j).AutoFit()
868
            Next
869
            mMainHeadercnt += 1
870
        Next
871
        '---------------------------------------------------------------------------------
872
        ' 핏
873
        '---------------------------------------------------------------------------------
874
        'For i = 0 To mColCnt - 1
875
        '    mEwSheet.Columns(i).AutoFit()
876
        'Next
877
    End Sub
878
879
    Sub HyperLink(ByVal mEwSheet As ExcelWorksheet)
880
        '-----------------------------------------
881
        ' 하이퍼 링크
882
        '----------------------------------------
883
        mEwSheet.Cells("A1").Value = "!index"
884
        mEwSheet.Cells("A1").Style.Font.UnderlineStyle = UnderlineStyle.Single
885
        mEwSheet.Cells("A1").Style.Font.Color = Color.Blue
886
        mEwSheet.Cells("A1").Hyperlink.Location = ("Index" & "!A1")
887
        Init_Setting_Save_Piping_Material_Spec_Report(_ExcelFile.Worksheets(0), 1, _Index_Cnt, mEwSheet.Name, _Index_Cnt - 1, 1, 14 * 16, 1)
888
        '_ExcelFile.Worksheets(0).Cells("A" & _Index_Cnt).Value = _Index_Cnt - 1
889
        _ExcelFile.Worksheets(0).Cells("B" & _Index_Cnt + 1).Style.Font.UnderlineStyle = UnderlineStyle.Single
890
        _ExcelFile.Worksheets(0).Cells("B" & _Index_Cnt + 1).Style.Font.Color = Color.Blue
891
        _ExcelFile.Worksheets(0).Cells("B" & _Index_Cnt + 1).Hyperlink.Location = (mEwSheet.Name & "!A1")
892
        _ExcelFile.Worksheets(0).Columns(1).Width = 5000
893
        '_ExcelFile.Worksheets(0).Cells("B" & _Index_Cnt).Value = mEwSheet.Name
894
        _ExcelFile.Worksheets(0).Cells("C" & _Index_Cnt + 1).Style.Font.UnderlineStyle = UnderlineStyle.Single
895
        _ExcelFile.Worksheets(0).Cells("C" & _Index_Cnt + 1).Style.Font.Color = Color.Blue
896
        _ExcelFile.Worksheets(0).Cells("C" & _Index_Cnt + 1).Hyperlink.Location = (mEwSheet.Name & "!A1")
897
        _ExcelFile.Worksheets(0).Columns(2).Width = 9000
898
        '   _ExcelFile.Worksheets(0).Columns(1).AutoFit()
899
        _Index_Cnt += 1
900
    End Sub
901
902
903
904
905
906
907
908
End Class
909
클립보드 이미지 추가 (최대 크기: 500 MB)