C# 操做excel

private void ExcelOperation()
{
     //
     //定義一個缺乏的object對象          
     object oMis = System.Reflection.Missing.Value;
  
     //
     //定義一個Excel程序對象          
     Excel.ApplicationClass excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
  
     //
     //由Execl程序建立一個工做薄對象          
     Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
  
     //
     //由工做薄對象建立一個工做表          
     Excel.Worksheet excelWorkSheet = (Excel.Worksheet)excelWorkBook.Worksheets.Add(oMis, oMis, 1, oMis);
  
     //
     //設置工做的表的名字          
     excelWorkSheet.Name = "測試項目" ;
  
     //
     //定義一個Excel區域對象,用於保存選擇的區域
     Excel.Range selectRange;
  
     //
     //設置第1行第1列的值
     ((Excel.Range)excelWorkSheet.Cells[1, 1]).set_Item(1, 1, "日期" );
  
     //
     //設置第1行第2列的值
     ((Excel.Range)excelWorkSheet.Cells[1, 1]).set_Item(1, 2, "時間" );
  
     //
     //選擇第2行第2列至第2行第2列,設置值與格式
     selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 2], excelWorkSheet.Cells[2, 2]);
     selectRange.set_Item(1, 1, "11:30" );
     selectRange.NumberFormatLocal = @"h:mm;@" ;
    
     //
     //選擇第3行第2列至第2行第2列,設置值與格式
     selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[3, 2], excelWorkSheet.Cells[3, 2]);
     selectRange.set_Item(1, 1, "12:30" );
     selectRange.NumberFormatLocal = @"h:mm;@" ;
  
     //
     //選擇第4行第2列至第2行第2列,設置值與格式
     selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[4, 2], excelWorkSheet.Cells[4, 2]);
     selectRange.set_Item(1, 1, "13:30" );
     selectRange.NumberFormatLocal = @"h:mm;@" ;
  
     //
     //選擇第5行第2列至第2行第2列,設置值與格式
     selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[5, 2], excelWorkSheet.Cells[5, 2]);
     selectRange.set_Item(1, 1, "14:30" );
     selectRange.NumberFormatLocal = @"h:mm;@" ;
  
     //
     //選擇第6行第2列至第2行第2列,設置值與格式
     selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[6, 2], excelWorkSheet.Cells[6, 2]);
     selectRange.set_Item(1, 1, "15:30" );
     selectRange.NumberFormatLocal = @"h:mm;@" ;
  
     //
     //選擇第2行第1列至第2行第1列,
     selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 1], excelWorkSheet.Cells[2, 1]);
     //
     //選擇是必須的,因設置了選擇區域後並未選中此區域
     selectRange.Select();
    
     //
     //凍結窗體
     excelApp.ActiveWindow.FreezePanes = true ;
  
     //
     //選擇第2行第1列至第6行第1列,
     selectRange = excelWorkSheet.get_Range(excelWorkSheet.Cells[2, 1], excelWorkSheet.Cells[6, 1]);          
    
     //
     //合併單元格
     selectRange.Merge(oMis);
  
     selectRange.EntireColumn.AutoFit(); //所有列自適應寬度
     selectRange.EntireRow.AutoFit();    //所有行自適應高度
  
     selectRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; //水平居中
     selectRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; //垂直居中
  
     //
     //設置單元格的格式
     selectRange.NumberFormatLocal = @"yyyy-m-d;@" ;
     /*
         NumberFormatLocal = "¥#,##0.00_);[紅色](¥#,##0.00)"   //貨幣     
         NumberFormatLocal = "0.00%"                             //百分比
         NumberFormatLocal = "# ??/??"                           //分數
      * */
  
     //
     //設置單元格的值
     selectRange.set_Item(1, 1, "2007-02-27" );
  
     //selectRange.ColumnWidth = 50;   //固定寬度
     selectRange.Columns.AutoFit();    //自適應寬度
  
     selectRange.Borders.LineStyle = BorderStyle.FixedSingle;      //設置邊框樣式
     selectRange.Borders.Weight = Excel.XlBorderWeight.xlThin;     //邊框粗細
     selectRange.Borders.ColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic;    //顏色          
 
     excelWorkBook.Saved = true ;     //將工做薄的保存標誌置爲True
  
     //捕捉異常,以防止文件爲只讀或已打開,保存時會出錯
     try
     {
         excelWorkBook.SaveCopyAs( @"d:/aa.xls" );
     }
     catch (Exception exp)
     {
         MessageBox.Show(exp.Message);
     }
  
     //Excel程序退出,注意:要在外面釋放內存資源
     excelApp.Quit();
}
相關文章
相關標籤/搜索