DataSet Excel 파일로 가져오기

11081 단어 datasetExcel 파일

  
  
  
  
  1. /// <summary> 
  2.  
  3.     ///  Excel 
  4.  
  5.     /// </summary> 
  6.  
  7.     /// <param name="ds"> 
  8.  
  9.     ///  Excel  
  10.  
  11.     /// DataSet->DataTable->TableName (Sheet)  
  12.  
  13.     /// DataTable->Column->ColumnName  
  14.  
  15.     /// </param> 
  16.  
  17.     /// <param name="strFilenamePath"> </param> 
  18.  
  19.     /// <returns></returns> 
  20.  
  21.     public bool ImportToExcel(DataSet ds, string strFilenamePath) 
  22.  
  23.     { 
  24.  
  25.         if (ds.Tables.Count == 0) 
  26.  
  27.             return false
  28.  
  29.  
  30.  
  31.         try 
  32.  
  33.         { 
  34.  
  35.             Microsoft.Office.Interop.Excel.ApplicationClass objApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); 
  36.  
  37.             Microsoft.Office.Interop.Excel._Workbook objWorkbook;//  
  38.  
  39.             Microsoft.Office.Interop.Excel._Worksheet objWorksheet;//  
  40.  
  41.             objWorkbook = objApp.Workbooks.Add(true); 
  42.  
  43.  
  44.  
  45.             object objMissing = System.Reflection.Missing.Value; 
  46.  
  47.  
  48.  
  49.             #region   
  50.  
  51.  
  52.  
  53.             for (int i = 0; i < ds.Tables.Count; i++) 
  54.  
  55.             { 
  56.  
  57.                 objWorksheet = (Microsoft.Office.Interop.Excel._Worksheet)objWorkbook.ActiveSheet; 
  58.  
  59.  
  60.  
  61.                 //  
  62.  
  63.                 objWorksheet.Name = ds.Tables[i].TableName; 
  64.  
  65.  
  66.  
  67.                 //  
  68.  
  69.                 for (int j = 0; j < ds.Tables[i].Columns.Count; j++) 
  70.  
  71.                 { 
  72.  
  73.                     objApp.Cells[1, j + 1] = ds.Tables[i].Columns[j].ColumnName; 
  74.  
  75.                 } 
  76.  
  77.  
  78.  
  79.                 // ,  
  80.  
  81.                 for (int rows = 0; rows < ds.Tables[i].Rows.Count; rows++) 
  82.  
  83.                 { 
  84.  
  85.                     for (int cols = 0; cols < ds.Tables[i].Columns.Count; cols++) 
  86.  
  87.                     { 
  88.  
  89.                         objApp.Cells[rows + 2, cols + 1] = ds.Tables[i].Rows[rows][cols].ToString(); 
  90.  
  91.                     } 
  92.  
  93.                 } 
  94.  
  95.  
  96.  
  97.                 if (i < ds.Tables.Count - 1) 
  98.  
  99.                 { 
  100.  
  101.                     objApp.Sheets.Add(objMissing, objMissing, 1, Microsoft.Office.Interop.Excel.XlSheetType.xlWorksheet); 
  102.  
  103.                 } 
  104.  
  105.             } 
  106.  
  107.  
  108.  
  109.             #endregion 
  110.  
  111.  
  112.  
  113.             objApp.Visible = true
  114.  
  115.  
  116.  
  117.             // Excel  
  118.  
  119.             objWorkbook.SaveAs( 
  120.  
  121.                 strFilenamePath, objMissing, objMissing, objMissing, objMissing, 
  122.  
  123.                 objMissing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, objMissing, 
  124.  
  125.                 objMissing, objMissing, objMissing, objMissing); 
  126.  
  127.  
  128.  
  129.             objApp.Quit(); 
  130.  
  131.  
  132.  
  133.             return true
  134.  
  135.         } 
  136.  
  137.         catch (Exception ex) 
  138.  
  139.         { 
  140.  
  141.             string strEXMessage = ex.Message; 
  142.  
  143.  
  144.  
  145.             return false
  146.  
  147.         } 
  148.  
  149.     } 

좋은 웹페이지 즐겨찾기