2017-02-10 16 views
1

Я пытаюсь создать диаграмму с API Excel в C#. Все идет хорошо, но у меня нет полей.Excel C# API Chart class Внутреннее свойство отсутствует

Например:

Format Excel Chart Background using C#

На этот вопрос, ответ Джеймса является то, что я ищу, но:

Chart Interior property missing in IntelliSense

Объект не имеет Interior свойство.

И снова:

Chart Properties

Я вижу что-то вроде ChartColor:

enter image description here

Но мои карты не имеют его.

Я, хотя это зависит от типа диаграммы, но он определен только внутри и не влияет на поля (пытался сделать что-то вроде кастинга, но это была просто «не-умная» героическая попытка).

Я также попытался сделать пример диаграммы и просто приписать все атрибуты, но все же нет ничего подобного Color.

Я не хочу фоновое изображение, только оттенок фона!

У меня есть последняя библиотека Microsoft.Office.Interop.Excel, но вы пытаетесь использовать более старые, и эффект одинаковый.

Где проблема?

P.S. Я также работаю с копированием всех атрибутов диаграммы, за исключением имен данных, имен и осей. Если бы кто-то из вас сделал что-то подобное, я был бы благодарен за любую информацию.

EDIT: Исправлено с помощью диаграммы примера загрузки и использования SetSourceData. Но почему я не могу сделать это программно?

ответ

0

«Где ChartColor?»: Это, вероятно, просто ошибка Intellisense. Обычно бывает, когда я сплю компьютер слишком много раз, не закрывая VS. Попробуйте закрыть и снова открыть VS. Кроме того, вы пробовали просто запустить код с chart.ChartColor?

«Нет ничего похожего на интерьер»:Interior относится к подзоне, которая может быть отформатирована. Сам объект chart - это не то, что вы хотите покрасить. Это ChartArea, который содержит Interior, который имеет ColorIndex, поэтому попробуйте

Excel.Interior interior = chart.ChartArea.Interior; 

Мне очень жаль, что не было ясно, в Format Excel Chart Background using C#. Вам нужно будет опасаться плакатов, которые отвечают на их собственные вопросы.Иногда это нормально, но чаще всего это «я исправил его с помощью этой строки», которая никому не помогает, когда выйдет из контекста.

«Где моя проблема?»: Это зависит от вашей реализации. Включение некоторых примеров кода очень помогает в StackOverflow. Некоторые ищут, чтобы создать таблицу как часть листа, как:

Excel.Shape shape = worksheet.Shapes.AddChart2(); 
Excel.Chart chart = shape.Chart; 

Или некоторые разработчики хотят создать диаграмму в качестве нового листа, как это:

Excel.Chart chart = workbook.Charts.Add(); 

Это оба графика, но ведут себя по-разному из-за их реализации.

+0

Да, я попробовал chart.ChartColor, но это просто не определено. Спасибо за ваше объяснение, используя Excel.Interior, а затем inner.Color исправил все :) Моя проблема была не совсем моя, p я не знал, как это сделано в Excel.Interop api :) особенно о различных реализациях графика O_o Имейте отличные выходные (o: ваши приветствия сегодня! – Yelhigh