首先要為工程添加引用——Microsoft.Office.Interop.Excel:如下圖所示:
選擇其中一個即可:
然後在程序中對EXCEL操作的對象進行定義。
#region Excel定義
public static Microsoft.Office.Interop.Excel.Application Excel = null;
public static Microsoft.Office.Interop.Excel._Workbook xBk = null;
public static Microsoft.Office.Interop.Excel._Worksheet xSt = null;
public static Microsoft.Office.Interop.Excel.Range rng = null;
#endregion
//凍結前兩行
rng = xSt.get_Range("A3", "B5");
rng.Select();
Excel.ActiveWindow.FreezePanes = true;
Excel.Cells[1, 1] = "單元格賦值";
rng = (Microsoft.Office.Interop.Excel.Range)xSt.Cells[1, 1];
xSt.get_Range(Excel.Cells[1, 1], Excel.Cells[2, 1]).MergeCells = true;//合並單元格
rng.Font.Size = 16;//設置單元格字體大小
rng.Font.Bold = true;//設置單元格字體為粗體
rng.RowHeight = 40;//設置單元格行高
rng.Font.Name = "微軟雅黑";//設置單元格字體
rng.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;//居中
rng.ColumnWidth = 20;//設置單元格列寬
rng.Borders.ColorIndex = 1;//設置單元格字體顏色。
字體顏色數字對應表:
圖2
//設置單元格字體豎直顯示
rng = xSt.get_Range("A3", "A5");
rng.Orientation =-4166;
rng.HorizontalAlignment = Constants.xlCenter;
//設置單元格內容某個字符的顏色(格式)
rng.get_Characters(6, 11).Font.ColorIndex = 3;//膠原批號為紅色
#region 保存Excel 釋放Excel資源
public void saveExcel()
{
try
{
xBk.SaveCopyAs(filename);
xBk.Close(false, null, null);
MessageBox.Show("完成導入!");
//得到所有打開的進程
Excel.Quit();//退出EXCEL
System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt);
System.Runtime.InteropServices.Marshal.ReleaseComObject(Excel);
xBk = null;
xSt = null;
Excel = null;
GC.Collect();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}