Excel 로 효율적으로 내 보 내기

3540 단어
[프로필]
      여기 서 저 는 File 과 관련 된 종 류 를 사 용 했 는데 주로 Stream 류 입 니 다.네 임 스페이스 는 System. IO 이기 때문에 사용 하려 면 이 네 임 스페이스 를 먼저 참조 해 야 합 니 다.그 전에 저 는 데이터 하나 로 데이터 베 이 스 를 업데이트 하여 효율 이 매우 느 리 고 빈번 한 IO 작업 으로 시스템 의 성능 을 떨 어 뜨 렸 습 니 다.그 실현 원 리 는 모든 데 이 터 를 하나의 문자열 로 연결 한 다음 에 엑셀 에 한꺼번에 기록 하여 시스템 의 성능 을 향상 시 키 는 것 이다.흐름 은 세 가지 기본 작업 과 관련된다. 읽 기 흐름 은 흐름 에서 데이터 구조 로 의 데이터 전송 이다.기록 은 데이터 구조 에서 흐 르 는 데이터 전송 입 니 다.현재 위 치 를 검색 하고 수정 합 니 다.
[코드 구현]
        엑셀 로 내 보 내 는 과정 을 vb. net 으로 정의 합 니 다.먼저 Excel 을 데스크 톱 에 만 든 다음 데스크 톱 에 새로 만 든 Excel 을 기록 합 니 다.
‘      
Imports Microsoft.Office.Interop
Imports System.IO
Dim path As String   '      
        path = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
        Dim MyExce3 As New Microsoft.Office.Interop.Excel.Application() '      excel   
        MyExce3.Application.Workbooks.Add(True) '  excel   ,  excel  
        MyExce3.ActiveWorkbook.SaveAs(path + "\   " & ".xls", ReadOnlyRecommended:=False)
        Dim a As String = path + "\   " & ".xls"    '    Excel   
        MyExce3.ActiveWorkbook.Close()
        MyExce3.Quit()

        Dim sw As StreamWriter = New StreamWriter(a, False, System.Text.Encoding.Default)
        Dim str As String = ""
        Try
            Dim i As Integer = 0
            '  datagridview      
            While i < dataGridview1.ColumnCount
                '                (tab)
                If i > 0 Then
                    str += "" & Microsoft.VisualBasic.Chr(9) & ""
                End If
                str += dataGridview1.Columns(i).HeaderText
                i = i + 1
            End While
            '           excel
            sw.WriteLine(str)
            Dim j As Integer = 1
            ' datagridview          
            While j < dataGridview1.Rows.Count
                Dim tempStr As String = ""
                Dim k As Integer = 0
                While k < dataGridview1.Columns.Count
                    If k > 0 Then
                        tempStr += "" & Microsoft.VisualBasic.Chr(9) & ""
                    End If
                    tempStr += dataGridview1.Rows(j - 1).Cells(k).Value.ToString
                    '          
                    'tempStr += EncryptDes(dataGridview1.Rows(j - 1).Cells(k).Value, "12345678", "abcdefgh")
                    k = k + 1
                End While
                '     
                sw.WriteLine(tempStr)
                j = j + 1
            End While
            '  excel
            MyExce3.Quit()
            '  excel
            MyExce3 = Nothing
            sw.Close()

            MessageBox.Show("    ")

[용도]
      빅 데이터 시대 에 데이터 베 이 스 는 필수 적 인 것 이다. 각종 데이터 베 이 스 는 성능 이 다르다. 처음에 Access 데이터 베 이 스 를 초보 적 으로 알 았 을 때 홍 서 5 개의 작은 예 를 들 었 을 때 이번에 다시 Access 를 사용 하 는 것 은 다 르 고 Access 는 Sql 에 비해 속도 가 느 렸 다. 만약 에 수천 개의 데 이 터 를 데이터 베이스 에 저장 하고 IO 작업 을 빈번하게 수행 해 야 한다 면시스템 자원 을 많이 소모 할 겁 니 다.이런 편리 한 방식 은 1 분 에 끝 난 일 을 1 초 로 줄 여 시스템 성능 의 중요성 을 충분히 볼 수 있다!
[총괄]
       공부 하 는 과정 에서 자신 이 생각 하 는 것 이 매우 적 고 스스로 공부 하 는 것 도 부실 하 다.이번 연 구 는 고객 이 필요 로 하기 때 문 입 니 다. 자신의 게 으 른 생각 은 정확 하지 않 습 니 다. 최근 에 책 을 읽 고 있 습 니 다. 책 속 의 한 마디 는 이 블 로 그 를 보 는 모든 사람 에 게 보 내 는 것 입 니 다. 잠시 후에 영원히 (Later equals never) 와 같 습 니 다. 사상 적 으로 이동 해 야 할 뿐만 아니 라 행동 의 아래로 이동 하 는 것 과 어 울 려 야 합 니 다.

좋은 웹페이지 즐겨찾기