|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.05.2010, 15:47 | #1 |
Пользователь
Регистрация: 18.05.2007
Сообщений: 19
|
D7 И ГРАФИКИ EXCEL
ИМЕЮ табл EXCEL. нужно программно построить графики функций. но, колонки идут не подряд. нужны лишь 'E1:E46' 'H1:H46' 'K1:K46' 'N1:N46', где 'E1:E46' - годы расчета, другие колонки - расчетные параметры.
теперь код: XL := TExcelApplication.Create(Self); WB := TExcelWorkbook.Create(Self); ASheet := TExcelWorksheet.Create(Self); try XL.Connect; // WB.ConnectTo(XL.Workbooks.Add(Empty Param, lcid)); WB.ConnectTo(XL.Workbooks.Open( FullPathXLS, // Filename: WideString; 2, // UpdateLinks: OleVariant; 2 - never update False, // ReadOnly: OleVariant; EmptyParam, // Format: OleVariant; EmptyParam, // Password: OleVariant; EmptyParam, // WriteResPassword: OleVariant; EmptyParam, // IgnoreReadOnlyRecommended: OleVariant; EmptyParam, // Origin: OleVariant; EmptyParam, // Delimiter: OleVariant; EmptyParam, // Editable: OleVariant; EmptyParam, // Notify: OleVariant; EmptyParam, // Converter: OleVariant; False, // AddToMru: OleVariant; lcid)); ASheet.ConnectTo(XL.ActiveSheet as ExcelWorksheet); // последняя ячейка LastCell := ASheet.Range['E1', EmptyParam].SpecialCells(xlCellTypeLastCell, EmptyParam); // постройка диаграммы в отдельном листе (по-умолчанию) AChart1 := WB.DefaultInterface.Charts.Add(Empt yParam, ASheet.DefaultInterface, 1, // кол-во диаграмм EmptyParam, lcid) as _Chart; AChart1.Name := 'Отчет 1'; // имя листа диаграммы AChart1.ChartType := xlLineMarkers; // тип диаграммы // задаем диапозон данных AChart1.SetSourceData(ASheet.Range['E1:E46', EmptyParam], xlColumns); (AChart1.SeriesCollection(EmptyPara m, lcid) as SeriesCollection).NewSeries; AChart1.SetSourceData(ASheet.Range['H1:H46', EmptyParam], xlColumns); (AChart1.SeriesCollection(EmptyPara m, lcid) as SeriesCollection).NewSeries; AChart1.SetSourceData(ASheet.Range['K1:K46', EmptyParam], xlColumns); (AChart1.SeriesCollection(EmptyPara m, lcid) as SeriesCollection).NewSeries; AChart1.SetSourceData(ASheet.Range['N1:N46', EmptyParam], xlColumns); // изменяем локацию и внедряем в наш лист! AChart1 := AChart1.Location(xlLocationAsObject , ASheet.Name); with ASheet.Shapes.Item((ASheet.ChartObj ects as ChartObjects).Count) do begin Left := ASheet.Range['E1:D1', EmptyParam].Width + 8; Top := 8; Width := 400; Height := 200; end; ASheet.Range['E1', EmptyParam].Select; with AChart1 do begin // украшательства диаграммы HasTitle[lcid] := True; ChartTitle[lcid].Characters[EmptyParam, EmptyParam].Text := 'Графики разработки'; with (Axes(xlCategory, xlPrimary, lcid) as Axis) do begin HasTitle := True; AxisTitle.Characters[EmptyParam, EmptyParam].Text := 'Годы'; end; (Axes(xlValue, xlPrimary, lcid) as Axis).HasTitle := False; with (Axes(xlCategory, xlPrimary, lcid) as Axis) do begin HasMajorGridlines := False; HasMinorGridlines := True; end; with (Axes(xlValue, xlPrimary, lcid) as Axis) do begin HasMajorGridlines := True; HasMinorGridlines := False; end; end; // поменяем цвет линии и маркеров // у первой серии with (AChart1.SeriesCollection(1, lcid) as Series) do begin with Border do begin Color := clBlue; // синий Weight := xlMedium; end; MarkerForegroundColor := clBlue; MarkerBackgroundColor := clBlue; MarkerStyle := xlSquare; MarkerSize := 7; end; // у второй серии... with (AChart1.SeriesCollection(2, lcid) as Series) do begin with Border do begin Color := clGreen; Weight := xlMedium; LineStyle := xlDash; end; MarkerForegroundColor := clGreen; MarkerBackgroundColor := clGreen; MarkerStyle := xlSquare; MarkerSize := 7; end; // у третьей серии... ошибка вылезает тут // у второй серии... with (AChart1.SeriesCollection(2, lcid) as Series) do begin как быть? |
12.05.2010, 16:03 | #2 |
Форумчанин
Регистрация: 24.04.2010
Сообщений: 205
|
Вопрос
А что за ошибка? Как ругается?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Графики в Excel (подпись данных) | Python | Microsoft Office Excel | 5 | 02.02.2010 11:36 |
Графики | Андрей.12 | Microsoft Office Excel | 1 | 08.12.2009 22:00 |
Графики! | Медина | Помощь студентам | 4 | 28.05.2009 22:58 |
Графики | delphin100 | Общие вопросы Delphi | 6 | 16.03.2008 10:40 |