수출 큰 엑셀 (Microsoft Excel에서 컨트롤을 사용하지 않는) 데이터의 양 ---------------는 CSDN 이동 - rocket2010을

기술 점수 = 새로운 StreamWriter를 (경로 1 StreamWriter를 사용 자상 거짓 Encoding.GetEncoding ( "GB2312")); 최종 문서 생성
클래스 데이터의 조합을 확인 2. StringBuilder의 SB = 새의 StringBuilder ()를 긴 문자열 일회용 엑셀 삽입
sb.append (ds.Tables [0] .Columns [K] .ColumnName.ToString () + "\의 t")는,
그 누락 될 수 없습니다 "\의 t" 이것은 매우 중요합니다! 새로운 TXT를 열고 다음 Tab 키를 입력, 2 Tab 키를 입력, 저장 3 Tab 키를 눌러를 입력 한 다음 엑셀 파일을 열 단지 txt 파일을 저장하기 : C #을 "\ (t)가"동일한 탭 키보드이기 때문에 [친구 시도 할 수 있습니다 원본을 찾을 오픈으로 당깁니다. 쓰기 123 개 단어를 각각 각 셀에있을 것입니다. 그래서 그냥 그렇게 한 시간의지도 데이터베이스에서 데이터의 더미를 연결하려면 위의 "\의 t"를 사용하고, 그들은 각 셀에 따라 채워집니다! ]를

참조해야
사용하여 System.Threading;
System.IO를 사용하여,
다음과 같다 :

         개인  보이드 를 Button1_Click ( 오브젝트 송신자있는 EventArgs E) 
        {             
            saveFileDialog1.Title = " 保存的文件엑셀 " ; 
            saveFileDialog1.InitialDirectory = " C : \\ " ; 
            saveFileDialog1.Filter = " Excel97-2003 (* .XLS은) | * .XLS | 모든 파일 | * * (*. *). " ; 
            saveFileDialog1.ShowDialog (); 
            경우 (saveFileDialog1.FileName == "" || saveFileDialog1.FileName == null이 ) 
            { 
                MessageBox.Show (" 文件名不能为空! " );
                반환 ; 
            } 
            문자열 경로 = saveFileDialog1.FileName;
            문자열 은 constr = " 데이터 원본 =; 초기 카탈로그 전시; 사용자 ID = sa를; 비밀 번호 = " ;
            문자열 SQL = GetStrSql (); 
            데이터 세트 (DS) = 새로운 데이터 세트 ();
            사용 (도록 SqlConnection 콘 = 도록 SqlConnection (constr에)) 
            { 
                하여 SqlDataAdapter DA = 새로운  SqlDataAdapter를 (SQL, 절약);
                da.Fill (DS); 
            }
            IF (DS == null이 ) 
            { 
                MessageBox.Show ( " ! 나쁜 데이터 수집 " )
                 반환 ; 
            } 
            WriteExcel (DS, 경로);       
        } 

 공공  무효 WriteExcel (DS 데이터 집합, 문자열 경로) 
        { 
            은 try 
            { 
                 에서는 totalCount = DS. 테이블 [ 0 ] .Rows.Count; 
                lblTip.Text = " " + +에서는 totalCount " 개의 데이터." ; 
                (Thread.sleep를 
                {1,000 );
                 rowRead = 0 ;
                플로트 퍼센트 = 0 ; 

                StreamWriter는 SW = 새로운 StreamWriter를 (경로, 거짓 , Encoding.GetEncoding ( " GB2312 " )); 
                모두 StringBuilder SB = 의 StringBuilder ();
                 ( INT에서 K = 0 ; K <ds.Tables [ 0 ] .Columns.Count; ++ 케이 )
                    sb.Append (ds.Tables [ 0 ] .Columns [K] .ColumnName.ToString () + " \의 t를 " ); 
                } 
                sb.Append (Environment.NewLine); 

                위한 ( int로 I = 0 ; I는 ds.Tables [< 0 ] .Rows.Count 난 ++ ) 
                { 
                    rowRead은 ++ ; 
                    백분율 = (( 플로트 ) ( 100 * rowRead)) / 에서는 totalCount; 
                    Pbar.Maximum = ( INT )에서는 totalCount; 
                    Pbar.Value = ( INT ) rowRead; 
                    lblTip.Text = " 正在写入[" + percent.ToString ( " 0.00 " ) + " %] ...的数据" ; 
                    System.Windows.Forms.Application.DoEvents () 

                     ( INT의 J = 0 ; J <ds.Tables [ 0 ] .Columns .Count, J ++ ) 
                    { 
                        sb.Append (ds.Tables [ 0 ] .Rows [I] [J]로 .toString () + " \의 t ' ); 
                    }  
                    sb.Append (Environment.NewLine);
                } 
                sw.Write (sb.ToString ()); 
                SW. 플러시 (); 
                sw.Close ();
                MessageBox.Show는 ( " 이미 지정된 엑셀 파일을 생성! " ); 
            } 
            캐치 (예외 EX) 
            { 
                MessageBox.Show (ex.Message); 
            }             
        } 

공공  문자열 GetStrSql () 
        { 
            문자열 STRSQL =를 "D를 선택한다. *에서 ( '36'다음 '1'그렇지 않으면 '0'말단) 1.1 号 馆, 최대 다음 '37'을 (케이스 halldoorid '1'그렇지 않으면 '0'말단을 때 cBarcode 맥스 (케이스 halldoorid를 선택 ) [2.1 号 馆, 최대 (케이스 halldoorid '38'다음 '1'그렇지 않으면 '0'끝) 3.1 号 馆, 최대 (케이스 halldoorid '39'다음 '1'그렇지 않으면 '0'끝) 4.1 号 馆, 최대 (케이스 halldoorid 40 ''다음 '1'그렇지 않으면 '0'끝) 5.1 号 馆, 최대 (케이스 halldoorid '41'다음 '1'그렇지 않으면 '0'끝) 6.1 号馆, 최대 (케이스 halldoorid 42 ''다음 '1'그렇지 않으면 '0'끝) 8.1 号 馆, 최대 (케이스 halldoorid '43'다음 '1'그렇지 않으면 '0'끝) 1.2 号 馆] 맥스 ( '44'다음 '1'그렇지 않으면 '0'단부를 케이스 halldoorid) 2.2 号 馆, 최대 (케이스 halldoorid은 '45'을 때다음 '1'그렇지 않으면 '0'말단) 3.2 号 馆, 최대 46 ''다음 '1'그렇지 않으면 '0'단부 (케이스 halldoorid) 4.2 号 馆, 최대 (케이스 halldoorid 후 '47'하면 ' 1 '그렇지 않으면'0 '말단) 5.2 号 馆, 최대 (케이스 halldoorid'48 '다음'1 '그렇지 않으면'0 '끝) 9.1 号 馆, 최대 (케이스 halldoorid시'49 '를 다음'1 ' 그렇지 않으면 '0'말단) 10.1 号 馆, 최대 50 ''다음 '1'그렇지 않으면 '0'단부 (케이스 halldoorid) 11.1 号 馆, 최대 (케이스 halldoorid하는 '51'다음 '1'다른 ' 0 '말단) 12.1 号 馆, 최대 (케이스 halldoorid'52 '다음'1 '그렇지 않으면'0 '끝) 13.1 号 馆, 최대 (케이스 halldoorid하는'53 '다음'1 '그렇지 않으면'0 ' 단부) 9.2 号 馆, 최대 (케이스 halldoorid하는 '54'다음 '1'그렇지 않으면 '0'말단) 10.2 号 馆]맥스 ( '55'다음 '1'그렇지 않으면 '0'단부를 케이스 halldoorid) 11.2 号 馆, 맥스 ( '56'다음 '1'그렇지 않으면 '0'단부를 케이스 halldoorid) 12.2 号 馆, 최대 ( '57'다음 '1'그렇지 않으면 '0'단부를 케이스 halldoorid) 13.2 号 馆, 최대 '58'다음 '1'그렇지 않으면 '0'단부 (케이스 halldoorid) 9.3 号 馆, 최대 (케이스 halldoorid '59'다음 '1'그렇지 않으면 '0'말단) 10.3 号 馆, 최대 (케이스 halldoorid '60'다음 '1'그렇지 않으면 '0'끝) 11.3 号 馆, 최대 (케이스 halldoorid '이되면 61 '다음'1 '그렇지 않으면'0 '말단) VIP3.2 号 馆, 최대 (케이스 halldoorid'62 '다음'1 '그렇지 않으면'0 '끝) VIP11.3 号 馆, 최대 (케이스 halldoorid 다음, '63', '1'그렇지 않으면 '0'끝) VIP14.cBarcode 의해 tblReadCard 그룹의 홀 3])에 가입 왼쪽에는 D 그룹 cBarcode 그래피 (행 cBarcode 뷰어 바코드를 선택 (cReadDate tblReadCard에서 cReadDate '2011-07-08'내지 '2011-07-11'구별 cBarcode 해당) d.cBarcode = C)이 C. cBarcode [홀 호 1.1]으로 잠재 고객 바코드 기 [홀 호 2.1], [홀 호 3.1], [제 홀 4.1], [홀 호 5.1], [홀 호 6.1] [제 홀 8.1], [1.2 홀 호], [제 홀 2.2], [3.2 홀 호], [홀 4.2], [5.2, 홀], [제 홀 9.1], [제 홀 10.1], [ 제 홀 11.1] [12.1 홀 호], [제 홀 13.1], [제 홀 9.2], [제 홀 10.2] [11.2 홀], [제 홀 12.2] [13.2 홀], [제 93 홀], [홀 호 10.3] [11.3 홀 호], [제 VIP3.2 박물관], [제 VIP11.3], [제 VIP14.3 홀][제 홀 9.2], [제 홀 10.2] [11.2 홀], [제 홀 12.2] [13.2 홀], [제 93 홀], [제 홀 10.3] [11.3 홀 호], [VIP3 제 홀 0.2], [제 VIP11.3 홀], [제 VIP14.3 홀][제 홀 9.2], [제 홀 10.2] [11.2 홀], [제 홀 12.2] [13.2 홀], [제 93 홀], [제 홀 10.3] [11.3 홀 호], [VIP3 제 홀 0.2], [제 VIP11.3 홀], [제 VIP14.3 홀]" ;
             반환 ; STRSQL을 
        }

 

추천

출처www.cnblogs.com/brian93/p/11271484.html