首先,必须将 Excel 程序集添加到项目中。为此,您必须通过转到 Project -> Add Reference 菜单项来添加对 Microsoft.Office.Interop.Excel 库的引用。转到弹出的对话框的 .NET 选项卡并向下滚动 Microsoft.Office.Interop.Excel 列表项。双击它,然后按确定。这会添加对您项目的引用。在代码的“使用”部分,输入
using Excel = Microsoft.Office.Interop.Excel;
将程序集添加到项目后,需要创建一个新应用程序:
Excel.Application excelApp = new Excel.Application();
如果您想让 Excel 对用户可见,您必须将 Visible 属性设置为 true,默认值为 false。
excelApp.Visible = true;
上面的代码打开 Excel 应用程序,为了使用该应用程序,您必须通过创建一个 Workbook 对象来打开一个工作簿。您可以使用以下代码打开一个新的空白工作簿:
Excel.Workbook newWorkbook = excelApp.Workbooks.Add();
前面的代码打开一个带有一张工作表的空白工作簿。 .Add 方法可选地接受一个模板对象。如果参数留空,将使用默认模板(如手动打开 Excel 时)。
如果要打开现有文档进行编辑而不是创建新文档,可以使用以下代码打开 Workbook 对象:
string workbookPath = "c:/SomeWorkBook.xls";
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath,
0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "",
true, false, 0, true, false, false);
前面的代码可能需要一点解释。 workbookPath 当然是您要打开的现有电子表格的路径,如果使用 .NET 4.0 和 Office 2007 库(Microsoft.Office.Interop.Excel 库),它是唯一需要的参数。 excelApp.Workbooks.open 参数的其余部分不太明显。以下是传递给函数的参数列表:
WorkBooks.open(string Filename, object UpdateLinks, object ReadOnly, object Format,
object Password, object WriteResPassword, object ReadOnlyRecommend, object Origin,
object Delimiter, object Editable, object Notify, object Converter, object AddToMru,
object Local, object CorruptLoad )
要查看有关此功能的文档,请点击 Microsoft 网站的链接以进一步了解该功能:enter link description here
创建或打开工作簿后,您必须创建一个 Sheets 对象来保存工作簿中的工作表。以下代码将获取您之前打开的工作簿中的所有工作表。
Excel.Sheets excelSheets = excelWorkbook.Worksheets;
现在您已经有了 Worksheets 的集合,您必须在其中获取一个单独的工作表编辑数据。
string currentSheet = "Sheet1";
Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelSheets.get_Item(currentSheet);
在前面的代码中,您必须对 excelSheets.get_Item(string) 方法进行类型转换,因为它返回一个对象。现在您已经有了工作表,您可以使用以下代码访问各个单元格:
Excel.Range excelCell =
(Excel.Range)excelWorksheet.get_Range("A1", "A1");
get_Range 函数必须有两个参数。如果两个参数相等,则选择单个单元格;否则将选择一系列单元格。同样,您必须键入转换方法的返回值。拥有单元格对象后,您可以使用 .Value2 属性设置其值,或使用任何其他属性来操作单元格范围。