Excel에서 XML 파일을 변환

공간 ExcelToXml 
{ 
    클래스 프로그램 
    { 
        [STAThread] 
        정적  무효 메인 ( 문자열 []에 args) 
        { 
            프로그램 프로그램 = 새로운 프로그램 (); 
            데이터 세트와 DataSet = program.getData (); 
            Program.ConvertDataSetToXMLFile (데이터 세트 " D : \\ " + dataSet.DataSetName + " .XML " ); 
        } 
        공공 데이터 집합 GetData의 () 
        { 
            // 打开文件 
            OpenFileDialog를 파일 = 새로운OpenFileDialog를 (); 
            file.Filter = " 엑셀 (. * XLSX) | * .XLSX | 엑셀 (. * XLS) | * .XLS " ; 
            file.InitialDirectory = Environment.GetFolderPath (Environment.SpecialFolder.Desktop); 
            file.Multiselect는 = 거짓 ;
            경우 (file.ShowDialog () == DialogResult.Cancel)
                 복귀  ;
            // 判断文件后缀
            var에 경로 = file.FileName; 
            
            문자열 이름 = Path.GetFileNameWithoutExtension (경로);
            문자열 fileSuffix =System.IO.Path.GetExtension (경로);
            경우 ( 문자열 .IsNullOrEmpty (fileSuffix))
                 반환  널 (null) ; 


            /// /加载엑셀 
            // Microsoft.Office.Interop.Excel.Application 응용 프로그램 = 새 Microsoft.Office.Interop.Excel.Application ();  // 获取权限
             // Microsoft.Office.Interop.Excel.Workbooks 통합 문서의 =의 app.Workbooks;
            // Microsoft.Office.Interop.Excel.Workbook 통합 문서 = workbooks.Add (경로);
            // Microsoft.Office.Interop.Excel.Sheets 시트 = workbook.Sheets;
            //(. 1) 워크 시트 = Microsoft.Office.Interop.Excel.Worksheet (Microsoft.Office.Interop.Excel.Worksheet) sheet.get_Item; // (1) 첫 번째 시트에 대한 시트를 가져옵니다         
             // 더블 usedRows = app.WorksheetFunction. COUNTA (worksheet.Columns [3.]) // 제 칼럼의 행수          
             // 문자열 usedRows.ToString NUM = (); 

            // 객체 [] twoDoubleList worksheet.Range = "A1 : 아"NUM +]. 값 2; //이 배열을 얻을 

            사용 (데이터 집합 DS = 새로운 새로운 데이터 집합 ()) 
            { 

                // 2003 버전이나 2007 버전의 Excel 파일을 결정하는 
                문자열 connString = "" ; // Server 데이터베이스 = =이;. ExcelToXml; 통합 보안 = SSPI
                경우 (fileSuffix == " .XLS " ) 
                    connString = " 공급자 = Microsoft.Jet.OLEDB.4.0; " + " 데이터 원본 = " + 경로 + " , " + " ; 확장 속성 = \"엑셀 8.0; HDR = YES ; IMEX = 1 "\ " ;
                다른 
                    connString =를 " 공급자 = Microsoft.ACE.OLEDB.12.0를, " + " 데이터 원본 = " + 경로 +를 " ; "; 확장 속성 = \ "엑셀 12.0; HDR = YES; IMEX = 1 \" " ;
                 // 读取文件
                문자열 sql_select이 = " [Sheet1의 $] SELECT * FROM " ;
                 사용 (는 OleDbConnection CONN = 새로운 되어 OleDbConnection을 (connString))
                 사용 (cmd를 위해 OleDbDataAdapter = 새로운 위해 OleDbDataAdapter (sql_select 코네티컷)) 
                { 
                    conn.Open (); 
                    cmd.Fill (DS) 
                    ds.DataSetName = 이름; 
                } 
                경우 (DS ==  || ds.Tables.Count <=0 ) 복귀  ;
                반환 DS를; 
            } 
        } 

        
        공공  정적  무효 ConvertDataSetToXMLFile (데이터 세트 xmlDS, 문자열 XMLFILE) 
        { 
            MemoryStream을 스트림 = ; 
            XmlTextWriter의 작가 = 널 (null) ;
            시도 
            { 
                스트림 = ) (MemoryStream을을;
                // 从스트림装载到XmlTextReader는 
                작가 = 새로운XmlTextWriter에 (트림, Encoding.Unicode)
                 // 되는 WriteXml 파일 작성 방법. 
                xmlDS.WriteXml (작성자)
                 의 INT COUNT = ( INT ) Stream.length;
                 바이트 [] = ARR 새로운 새  바이트 [COUNT]을; 
                stream.Seek ( 0 , SeekOrigin.Begin) 
                Stream.Read (ARR, 0 , COUNT는)
                 // 유니 코드 텍스트를 반환 
                UnicodeEncoding, UTF = 새로운 새 ; UnicodeEncoding () 
                StreamWriter는 SW = 새로운 새 StreamWriter는 (XMLFILE)를;
                sw.WriteLine ( "<? XML 버전 = \ "1.0 \"인코딩 = \ "UTF-8 \"?> " ) 
                sw.WriteLine (utf.GetString (도착) .Trim ()); 
                sw.Close (); 
            } 
            캐치 (시스템 .Exception 예) 
            { 
                // 던져 예; 
                MessageBox.Show (ex.Message);
                 // Console.WriteLine (ex.Message);
                 // Console.ReadLine (); 
            }
             마지막으로 
            { 
                경우 (작가! = null이 ) 작가. 닫기 (); 
            } 
        } 

    } 
}

이것은 변환 도구의 1 세대 버전입니다.

다운로드 : HTTPS : //pan.baidu.com/s/1KCA5E367g26GIvhJNVJKxw

추천

출처www.cnblogs.com/qmz-blog/p/11511125.html