简单的C#Excel加载项功能区按钮到颜色单元格

时间:2011-08-19 16:51:23

标签: c# visual-studio-2010 excel excel-2007 excel-addins

首先,非常感谢任何阅读此问题并能提供帮助的人。

我正在唱VS2010并且我使用向导创建了一个Excel 2007外接程序项目,然后我在我的项目中添加了一个名为Ribbon的新文件夹,并在其中创建了一个新项目,即一个功能区(可视设计器) )。

从这里开始,我在功能区中添加了一个新组,并添加了一个新按钮。我双击了新按钮,我看到了这段代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using System.Xml.Linq;

namespace UploadFCStats.Ribbon
{
    public partial class FCRibbon
    {
        private void FCRibbon_Load(object sender, RibbonUIEventArgs e)
        {

        }

        private void button1_Click(object sender, RibbonControlEventArgs e)
        {

        }
    }
}

现在我要做的就是为一些单元格着色,或者在变量中存储一些值,然后创建与SQL服务器的连接并使用insert语句上传一些数据。

但是我似乎无法访问任何典型的Excel属性。现在我是C#和Excel Add-In的新手,但对C ++,Java和Excel有很好的理解。在这种情况下,我用Google搜索没有任何帮助。

我最好的猜测是我错过了一个图书馆,但经过一些似乎没有解决我问题的摆弄。使用此按钮,如何从工作表中获取值?我如何着色细胞?如何访问excel中的公式函数?

谢谢!

2 个答案:

答案 0 :(得分:5)

阅读有关创建Excel 2007加载项的一些基础知识,并以Globals.ThisAddIn.Application

开头

答案 1 :(得分:0)

您必须访问Range对象(即单元格,行,列),然后更改背景或您想要更改的任何内容。

var range = ((Range)Globals.ThisAddin.Application.Cells[1,1]).Resize[1,5];
range.Interior.Color = (int)XlRgbColor.rgbGreen;

转换为Range是不必要的,但Cells [1,1]是动态类型。当我把它投射到Range时,intelisence告诉我Range有什么属性。

Application.Cells [1,1]选择Cell A1,Resize [1,5]调整范围,调整A1和E1之间的所有单元格,包括这些单元格。