Простая кнопка надписи C # Excel для цветных ячеек - PullRequest
2 голосов
/ 19 августа 2011

Во-первых, большое спасибо всем, кто прочитал этот вопрос и может помочь.

Я пою VS2010, и я создал проект надстройки Excel 2007 с помощью мастера, затем я добавил новую папку в свой проект под названием Лента и внутри нее создал Новый элемент, который представляет собой ленту (Visual Designer ).

Отсюда я добавил новую группу на ленту и новую кнопку. Я дважды нажал на новую кнопку и получил следующий код:

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 и использовать оператор вставки для загрузки некоторых данных.

Однако я не могу получить доступ к каким-либо типичным свойствам Excel. Теперь я новичок в C # и надстройках Excel, но прекрасно разбираюсь в C ++, Java и Excel. Ничто из того, что я погуглил, не помогло мне в этом случае.

Мое лучшее предположение, что я скучаю по библиотеке, но после некоторой путаницы, которая, похоже, не решила мою проблему. Используя эту кнопку, как получить значения из таблицы? Как я могу покрасить клетки? Как получить доступ к функциям формул в Excel?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 19 августа 2011

Ознакомьтесь с некоторыми основами создания надстройки для Excel 2007 и начните с Globals.ThisAddIn.Application

0 голосов
/ 29 мая 2017

Вы должны получить доступ к объекту Range (т.е. ячейки, строки, столбцы), а затем изменить фон или все, что вы хотите изменить.

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

Приведение к диапазону не требуется, но ячейки [1,1]тип динамический.Когда я приводил его в Range, интеллект сообщает мне, какие свойства у Range.

Application.Cells [1,1] выбирает ячейку A1, Resize [1,5] изменяет диапазон до всех ячеек между A1 и E1, включая эти.

...