C#前期绑定方式来调用COM对象
.NET框架是COM的一个自然发展,两者共享许多核心要素,这包括组件的再利用以及语言的中立性。为了向后兼容,COM Interop可以使用现存的COM组件而不要求对原始组件进行修改。当一个 .NET 框架开发人员想将COM代码合并到一个管理应用程序中时,就可以用COM Interop功能引入相关的COM类型。引入之后,这个COM类型就可以使用了。
例子:
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = false;
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;
try
{
excel.Cells[1, 1] = title;
Microsoft.Office.Interop.Excel.Range title_size_Rng = excel.get_Range("A" + (1).ToString(), "A" + (1).ToString());
title_size_Rng.Font.Size = 15;
// title_size_Rng.ColumnWidth = 8.25;
//title_size_Rng.RowHeight = 25.5;
Microsoft.Office.Interop.Excel.Range title_type_Rng = excel.get_Range("A" + (1).ToString(), GetExcelCol(dr_ks.Length) + (1).ToString());
title_type_Rng.Merge(Type.Missing);
excel.Application.Workbooks.Add(true);
excel.Visible = false;
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;
try
{
excel.Cells[1, 1] = title;
Microsoft.Office.Interop.Excel.Range title_size_Rng = excel.get_Range("A" + (1).ToString(), "A" + (1).ToString());
title_size_Rng.Font.Size = 15;
// title_size_Rng.ColumnWidth = 8.25;
//title_size_Rng.RowHeight = 25.5;
Microsoft.Office.Interop.Excel.Range title_type_Rng = excel.get_Range("A" + (1).ToString(), GetExcelCol(dr_ks.Length) + (1).ToString());
title_type_Rng.Merge(Type.Missing);
Microsoft.Office.Interop.Excel.Range head_Rng = excel.get_Range("A" + (1).ToString(), GetExcelCol(dr_ks.Length) + (2).ToString());
head_Rng.Font.Bold = true;
head_Rng.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
head_Rng.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
head_Rng.Font.Bold = true;
head_Rng.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
head_Rng.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
}
finally
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
excel.Quit();
excel = null;
G
finally
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
excel.Quit();
excel = null;
G