如何在c#中访问Excel工作表单元格

时间:2014-09-10 12:30:14

标签: c# excel

我在C#中使用Microsoft.Office.Interop.Excel名称空间来访问Excel工作表。

我在访问工作表中的特定单元格时遇到了一些麻烦。

这是我到目前为止所做的:

using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Windows;
using System.Windows.Forms;
using System.Windows.Input.Manipulations;
using Application = Microsoft.Office.Interop.Excel.Application;




namespace excelProgram
{
    class Program
    {
        [STAThreadAttribute]
        public static void Main(string[] args)
        {
            Program p = new Program();
            p.openWorkSheet();
            Console.ReadKey(true);
        }


        private void openWorkSheet()
        {
            var xl= new Application();
            xl.Visible = true;
            xl.Workbooks.Open(@"C:\Documents and Settings\user\Desktop\Book1.xls");

        }


    }
}

我创建了一个Application()对象,可以在我的电脑上打开一个Excel工作簿。这工作正常,但我不知道如何访问工作簿中的工作表中的特定单元格,例如细胞B1。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

获取特定工作表的参考,然后参考特定范围,例如像这样。

(示例使用对Excel 2007 PIA的引用:C:\ Windows \ assembly \ GAC \ Microsoft.Office.Interop.Excel \ 12.0.0.0__71e9bce111e9429c \ Microsoft.Office.Interop.Excel.dll)

using Microsoft.Office.Interop.Excel;
using Application = Microsoft.Office.Interop.Excel.Application;
using Excel = Microsoft.Office.Interop.Excel;

Application excelApplication = new Excel.Application
{
    Visible = true,
    ScreenUpdating = true
};

_Workbook workbook = excelApplication.Workbooks.Open(@"C:\Temp\Book1.xlsx");
_Worksheet sheet = workbook.Worksheets[1];
Range range = sheet.Range["B1"];
range.Formula = "Test";

excelApplication.Quit();