4 / 4 / 0
Регистрация: 30.05.2013
Сообщений: 61
1

Поменять цвет ячейки Excel

09.05.2014, 10:54. Показов 28016. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
1) Как поменять цвет ячейки Excel средствами C#?
2) Как объединить ячейки Excel средствами C#?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.05.2014, 10:54
Ответы с готовыми решениями:

Форматирование ячейки в dataGridView. Как поменять цвет определенной ячейки
Хочу поменять цвет выбранной ячейки, так что бы когда при выбраной строки цвет ячейки оставался таким же. Пример: Что бы дата...

Поменять цвет выделенной ячейки datagridview
по умолчанию цвет выделения примерно такой, как его поменять ну нужный мне.

Значение ячейки Excel без установленного Excel
Здравствуйте. Возможно считать средствами С# значение ячейки екселя если не установлен ексель? Или можно обойтись Опен офисом? Может у...

9
Заблокирован
09.05.2014, 12:04 2
C#
1
_workSheet.get_Range(1, 1).Font.Color = Excel.XlRgbColor.rgbGreen;
_workSheet - обьект класса который вы используете
1
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
09.05.2014, 12:07 3
Lerby, можно и так
C#
1
_workSheet.get_Range(1, 1).Font.Color = Color.Red;
объединить так

C#
1
 _workSheet.get_Range(_workSheet.Cells[2, 2], _workSheet.Cells[4, 4]).Merge(missing);
зы: еще Управление ячейками в MS Excel
1
4 / 4 / 0
Регистрация: 30.05.2013
Сообщений: 61
09.05.2014, 12:10  [ТС] 4
Цитата Сообщение от ImFine Посмотреть сообщение
.Font.Color
Вы не совсем правильно меня поняли. Эта команда меняет цвет шрифта, он меняется без проблем.
Мне нужно поменять цвет ячейки, цвет её заливки.

Добавлено через 26 секунд
Цитата Сообщение от Metall_Version Посмотреть сообщение
.Font.Color
аналогично)
0
Заблокирован
09.05.2014, 12:11 5
Сейчас не могу проверить но скорей всего есть свойство BackGroundColor
1
4 / 4 / 0
Регистрация: 30.05.2013
Сообщений: 61
09.05.2014, 12:13  [ТС] 6
Цитата Сообщение от Metall_Version Посмотреть сообщение
_workSheet.get_Range(_workSheet.Cells[2, 2], _workSheet.Cells[4, 4]).Merge(missing);
я так пытался, но missing'а у меня нет.
Пробовал искать его в Microsoft.Office.Interop.Excel, не нашел.
Без missing приложение падает.

Добавлено через 1 минуту
Цитата Сообщение от ImFine Посмотреть сообщение
Сейчас не могу проверить но скорей всего есть свойство BackGroundColor
У
nws.get_Range(1, 1)
нету метода, начинающегося на background Я уже пытался
0
Заблокирован
09.05.2014, 12:16 7
Лучший ответ Сообщение было отмечено Lerby как решение

Решение

C#
1
2
excelcells.Interior.ColorIndex=34;
excelcells.Interior.PatternColorIndex=Excel.Constants.xlAutomatic;
Попробуйте так

Это взято Отсюда
2
4 / 4 / 0
Регистрация: 30.05.2013
Сообщений: 61
09.05.2014, 12:47  [ТС] 8
Цитата Сообщение от Metall_Version Посмотреть сообщение
_workSheet.get_Range(_workSheet.Cells[2, 2], _workSheet.Cells[4, 4]).Merge(missing);
Нашел
C#
1
Object missing = Type.Missing;
Но все равно выкидывает
Необработанное исключение типа "Microsoft.CSharp.RuntimeBinder.RuntimeBinderException" в System.Core.dll
Добавлено через 10 минут
Цитата Сообщение от ImFine Посмотреть сообщение
excelcells.Interior.ColorIndex=34;
excelcells.Interior.PatternColorIndex=Excel.Constants.xlAutomatic;
Теперь с цветом все отлично Спасибо!

Осталось только объединение ячеек)

Добавлено через 9 минут
Получилось объединить ячейки вот так:
C#
1
2
3
excelRange = excelSheet.get_Range("A1", "B2");
excelRange.Select();
((Microsoft.Office.Interop.Excel.Range)(excelApp.Selection)).Merge(Type.Missing);
Можно ли обойтись без "A1", "B2"?) В смысле можно ли как то использовать не "A1", "B2", а excelSheet.Cells[1,1], excelSheet.Cells[2,2]?

Добавлено через 2 минуты
Кстати этот код:
C#
1
nws.get_Range("A5", "A7").Merge();
не выбрасывает никаких исключений

Добавлено через 1 минуту
Нашел ответ на свой вопрос
C#
1
2
excelRange = excelSheet.Range[nws.Cells[5, 5], excelSheet.Cells[10, 10]];
excelRange.Merge(Type.Missing);
Добавлено через 1 минуту
Всем тем, кто помог / пытался помочь - спасибо!
1
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
09.05.2014, 12:49 9
Лучший ответ Сообщение было отмечено Lerby как решение

Решение

Lerby, для фона так

C#
1
(ObjWorkSheet.Cells[1,2] as Range).Interior.Color = Color.Green;
3
4 / 4 / 0
Регистрация: 30.05.2013
Сообщений: 61
09.05.2014, 12:49  [ТС] 10
В заключении оставлю здесь ответы на вопросы, если кому нибудь понадобится:
Изменить цвет способ 1:
C#
1
2
3
excelRange = (excelSheet.Cells[1, 1] as Microsoft.Office.Interop.Excel.Range);
excelRange.Interior.ColorIndex = 3; // red
excelRange.Interior.PatternColorIndex = Microsoft.Office.Interop.Excel.Constants.xlAutomatic;
Изменить цвет способ 2:
C#
1
(excelSheet.Cells[3, 3] as Microsoft.Office.Interop.Excel.Range).Interior.Color = Color.Green;
Объединить ячейки способ 1:
C#
1
2
3
nwr = excelSheet.get_Range("A1", "B2");
excelRange.Select();
((Microsoft.Office.Interop.Excel.Range)(excelApp.Selection)).Merge(Type.Missing);

Объединить ячейки способ 2:
C#
1
excelSheet.get_Range("A5", "A7").Merge();

Объединить ячейки способ 3:
C#
1
2
excelRange = excelSheet.Range[excelSheet.Cells[5, 5], excelSheet.Cells[10, 10]];
excelRange.Merge(Type.Missing);
3
09.05.2014, 12:49
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2014, 12:49
Помогаю со студенческими работами здесь

Цвет ячейки dataGridView
Приветствую! Профи, почему не работает код? for (int i = 0; i < DataPrice.Symbol.Length; i++)...

WF - сменить цвет ячейки
Доброго времени суток господа. Подскажите пожалуйста как сменить цвет у всех ячеек где встречается определённое слово Имею код,...

Цвет активной ячейки DataGridView
После удаления текущей строки в ентом компоненте через раз теряется цвет активной ячейки (рисунки приложил). Не смертельно, но все же...

Цвет ячейки datagridView в зависимости от даты
Всем добрый день! Есть такой вопрос: имеется datagridView, в столбце dtSec отображается дата из MSSQL. Идея: Если кол-во дней до даты...

Цвет ячейки DGV при корректирование даты
Пишу на C# winforms. У меня dataGridView. Сделал в dataGridView что бы дата загоралась красным когда сегодняшняя дата просрочена. (Сегодня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Язык программировани­я C++: сравнение с другими языками
Programming 06.02.2025
Современная разработка программного обеспечения предлагает множество языков программирования, каждый из которых обладает уникальными характеристиками и областями применения. C++ занимает особое место. . .
Язык программировани­­я C++: достоинства и недостатки
Programming 06.02.2025
C++ считается одним из самых влиятельных языков программирования, продолжающим занимать ведущие позиции в мире разработки программного обеспечения. Этот язык появился как расширение языка C с. . .
Регулярные выражения в Python
BasicMan 06.02.2025
Регулярные выражения - это последовательности символов, определяющие правила поиска и сопоставления текстовых данных. В Python они используются для поиска подстрок, проверки соответствия текста. . .
Как создать свой мод для Майнкрафт с нуля на Java
IT_Exp 06.02.2025
Разработка мода для Minecraft начинается с правильной настройки среды разработки. Для создания мода потребуется Java Development Kit (JDK), интегрированная среда разработки и Minecraft Forge. JDK. . .
Async/await и асинхронное программировани­е в Java
IT_Exp 06.02.2025
Асинхронное программирование - это подход к организации вычислительных процессов, позволяющий приложениям эффективно использовать доступные ресурсы системы. В контексте Java этот метод приобретает. . .
Как исправить android.os.Netw­orkOnMain­Thread­Exception
hw_wired 06.02.2025
Исключение NetworkOnMainThreadException возникает при попытке выполнить сетевые операции в главном потоке Android-приложения. Главный поток отвечает за обработку пользовательского интерфейса и должен. . .
Как в Java определить, что массив содержит определенное значение
hw_wired 06.02.2025
В Java класс Arrays предлагает несколько способов для проверки наличия значений в массивах. Наиболее широко применяемый метод заключается в использовании комбинации Arrays. asList() и contains(). . . .
Как использовать virtualenv в Python. Виртуальные среды/окружения
hw_wired 06.02.2025
В Python виртуальные окружения решают одну из ключевых задач разработки - изоляцию зависимостей между проектами. Virtualenv создает отдельное пространство для каждого проекта, где устанавливаются. . .
Кнопка в HTML, которая работает как ссылка
hw_wired 06.02.2025
В HTML существует несколько подходов к созданию кнопки, которая функционирует как ссылка. Базовым элементом выступает тег button, который можно преобразовать в ссылку с помощью JavaScript. Для этого. . .
Как обновить страницу с помощью JavaScript
bytestream 06.02.2025
JavaScript предоставляет несколько базовых методов для обновления веб-страницы, которые встроены непосредственно в язык и доступны через объектную модель браузера. Основной метод обновления страницы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru