Работа с Web-компонентами Office 2000

Юлий Колесников

Компонент Spreadsheet

Компонент Chart

Компонент PivotTable

 

Возможности Internet и коллективной работы становятся все привычнее и все глубже проникают в сознание людей. Многие уже привыкли ежедневно проверять электронную почту и пользоваться справочными и поисковыми системами в Internet. Другие воспринимают как само собой разумеющееся информационные системы и системы управления на основе технологий Internet и интрасетей. Отрадно и вполне естественно, что основную часть пользователей уже не интересует, как были сделаны столь сложные системы; главное — чтобы они исправно работали, были просты и удобны в обращении.

Можно по-разному относиться к продуктам компании Microsoft, однако если спросить у самых разных людей, какие программные продукты ассоциируются у них со словом «компьютер», вы чаще всего услышите: «Windows, Office, Word, Excel, Access, Internet Explorer». А когда появится новый комплект программ Microsoft Office 2000, положение еще более «усугубится»  — простота, удобство и мощь этого пакета гармонично сочетаются между собой и позволяют создавать сложные интерактивные приложения не только администраторам, системным инженерам или программистам, но и обычным пользователям.

Как и при общении с любым инструментом, от интуитивного уровня, насладившись всей гаммой новых возможностей, хочется перейти к более совершенному его использованию. В этой статье речь пойдет об использовании малой доли новых возможностей — Web-компонентах Office. Что это такое?

В предыдущей версии Microsoft Office 97 уже можно было сохранять документы, таблицы, и т.п. в формате HTML. При этом большая часть возможностей, предоставляемых приложениями Office, терялась, оставляя только сухой статичный текст. Естественно, он смотрелся весьма скромно. К тому же сама по себе публикация таблицы или базы данных без возможности интерактивной работы пользователей с ней не слишком эффективна. Поэтому Web-дизайнеры и проектировщики информационных систем вынуждены были использовать дополнительный инструментарий для создания публикаций более высокого качества. Если же публиковать документ в его естественном формате, то для ознакомления с ним пользователю придется использовать, кроме обозревателя Internet, и необходимый комплект офисных продуктов: Excel для просмотра электронных таблиц, Access для просмотра базы данных и т.д. Кроме того, в настоящее время четко выражена тенденция онлайновой групповой работы, когда участники команды имеют совместный доступ к одним и тем же данным.

Все это предопределило новый виток развития программного обеспечения для Internet. Компания Microsoft хорошо подготовилась к нему и «ударила по площадям»:

  • переработала внутренний формат своих приложений, предложив концепцию Web-центричной модели;

  • усилила интеграцию между стандартными офисными продуктами, обозревателем сети и средством публикации материалов в Web;

  • выпустила набор управляющих элементов СОМ для публикации на Web-узлах и доступа к электронным таблицам (Spreadsheet), диаграммам (Chart) и базам данных с помощью сводных таблиц (PivotTable) — это и есть Office Web Components.

Все указанные компоненты открывают доступ к данным непосредственно из окна обозревателя, поддерживающего технологии COM и ActiveX (это любая версия Microsoft Internet Explorer выше 4.0; здесь и далее речь будет идти только об этих обозревателях). Web-компоненты позволяют экспортировать данные и обратно в офисные приложения для последующего анализа и контроля, тем самым увеличивая возможности пользователя.

Кроме обычной схемы публикации информации в статическом формате HTML с применением Web-компонентов можно реализовать динамические интерактивные сценарии, ориентированные на Internet. Немаловажно и то, что пользователи могут работать с новыми возможностями интеграции Office и Internet, например создание динамических Web-страниц, опираясь на знания и опыт, накопленный при работе с прежними версиями Office, а также обращаться к ранее созданным документам. Наконец, к Web-компонентам Office можно обратиться из программы, что открывает новые перспективы разработчикам создания интерактивных приложений в Internet на основе решений Microsoft Office.

В последующем изложении предполагается знакомство читателя с основами VBScript, DHTML, а также минимальный опыт работы в Excel, Access и FrontPage. Описываемые примеры выполнялись на компьютере с установленным Microsoft Office 2000 Premium Release Candidate 1.

В начало

В начало

Компонент Spreadsheet

Web-компонент Spreadsheet (электронная таблица) является наиболее активно используемым среди Web-компонентов Office 2000. Внешне он выглядит как рабочий лист Excel, внедренный в Web-страницу (рис. 1), и выполняет базовые функции электронных таблиц — ввод текстовых и цифровых данных, создание формул, проведение вычислений, сортировку и фильтрацию данных, а также простое форматирование. Он поддерживает задание фиксированных областей листа для отображения заголовков строк и столбцов, редактирование данных непосредственно в ячейках, а также изменение высоты строк и ширины столбцов и т.п. Рассмотрим особенности и возможности работы с этим компонентом.

Web-компонент Spreadsheet создается двумя способами: при публикации из Microsoft Excel и непосредственно во FrontPage. В первом случае нужно выбрать из меню File команду Save as Web Page, в появившемся диалоговом окне нажать кнопку Publish и, выбрав в следующем диалоговом окне Publish As Web Page объекты рабочей книги, а при необходимости также изменив заголовок таблицы и местоположение новой страницы, установить флажок Add Interactivity со значением в соответствующем списке Spreadsheet functionality. После публикации полученная Web-страница будет содержать ActiveX-компонент Spreadsheet с именем вида Book1_27352_WebCalc.

При работе с FrontPage добавить такой компонент еще проще — достаточно воспользоваться командой Insert, Component, Office Spreadsheet. Публикация с помощью FrontPage 2000 обладает и еще одним преимуществом: щелкнув на невыделенном объекте правой кнопкой мыши и выбрав в контекстном меню пункт ActiveX Control Properties, можно указать расположение в сети библиотеки, содержащей этот компонент, в случае если его не окажется у пользователя.

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

  • поддерживаются все возможности форматирования ячеек и рабочего листа, в том числе: параметры шрифтов, цвета, обрамление и т.п.;

  • поддерживается только возможность Автофильтра (Autofilter) для фильтрации и сортировки данных; другие возможности, такие как Расширенный фильтр, не поддерживаются. В действительности подобное ограничение незначительно и обходится написанием процедуры на VBScript;

  • нельзя опубликовать управляющие элементы и диаграммы — они просто-напросто исчезают при публикации из компонента. Однако для публикации диаграмм можно воспользоваться компонентом Chart, а управляющие элементы создать на публикуемой странице HTML и связать их с помощью скриптов с данными в компоненте Spreadsheet (см. описание компонента Chart);

  • поддерживаются все формулы, доступные в Excel, то есть можно обрабатывать данные непосредственно внутри компонента. Однако ограничены возможности их ввода — отсутствует привычная Строка формул (Formula Bar).

Таким образом, можно довольно быстро создать интерактивную Web-страницу, не прибегая к программированию. Однако опытным пользователям может не хватить возможностей, предоставляемых такой страницей сразу после публикации. В таком случае ее можно специальным образом настроить, добавив программный код и изменив параметры компонента, установленные по умолчанию. Если необходимо это произвести, воспользуйтесь Microsoft FrontPage. Он предоставляет широкие возможности как непосредственного редактирования страницы HTML, так и ее визуального проектирования.

После открытия Web-страницы программой FrontPage пользователь может настроить параметры компонента Spreadsheet подходящим образом, отличающимся от варианта по умолчанию. Для этого нужно открыть публикуемую страницу, выбрать вкладку Normal, выделив компонент левой кнопкой мыши, и щелкнуть на кнопке Property Toolbox меню панели инструментов компонента. При этом на появившейся панели инструментов будет доступно несколько групп параметров, обеспечивающих настройку этого компонента:

  • Format. Эта группа позволяет отформатировать ячейку или группу ячеек, выделенную в данный момент. При этом можно выполнить следующие операции форматирования: форматирование текста в ячейках (полужирное выделение, цвет, шрифт, размер), форматирование ячейки (цвет заливки, объединение и разделение ячеек, размеры ячеек), вертикальное и горизонтальное выравнивание содержимого ячейки, числовой формат;

  • Show/Hide. Позволяет включать и отключать элементы компонента: панель инструментов (Toolbar), сетку (Gridlines), панель строки заголовка (Titlebar), заголовки столбцов (Column headers), заголовки строк (Row headers). Поэкспериментировав с этими элементами, можно задать вид компонента таким образом, что даже опытный пользователь не сразу поймет, что он имеет дело с обычной таблицей;

  • Calculations. Позволяет настроить параметры вычислений на странице (автоматически и вручную), произвести вычисления и просмотреть формулу в ячейке, как в Строке формул обычного Excel;

  • Find. Позволяет найти значение в таблице компонента;

  • Import Data. Позволяет указать URL источника данных, из которого будет обновляться содержимое компонента;

  • Protection. Позволяет включать защиту для содержимого компонента, в том числе блокировать ячейки от изменения, запрещать и разрешать сортировку, фильтрацию, пользование Property toolbox в обозревателе;

  • TitleBar. Позволяет задать оформление строки заголовка компонента (текст, шрифт, цвета);

  • Advanced. Позволяет задать расширенные параметры поведения компонента: включать и отключать полосы вертикальной и горизонтальной прокрутки, ограничения на размеры и т.п.

Весьма полезно то, что объект Spreadsheet обладает набором методов и свойств, доступных из программного кода на VBScript и JavaScript из документа HTML. Это позволяет привязать операции над содержимым компонента к элементам управления HTML, таким как формы и т.п., и даже к подобным компонентам ActiveX.

Если появилась необходимость создать скрипт, изменяющий объект Spreadsheet, полезным окажется Microsoft Script Editor (рис. 2), доступный через команду Tools, Macro, Microsoft Script Editor в любом из продуктов Microsoft Office 2000 (будь то Access или FrontPage). Ниже приведены примеры использования методов и свойств компонента Spreadsheet.

Одним из самых полезных методов является метод LoadText. Он позволяет загрузить в таблицу значения из текстового файла. Следующий пример показывает, как связать элемент управления HTML — обычную кнопку — с этим методом:

Sub MyButton_OnClick 
      CALL Book1_1508_WebCalc.LoadText(“http://gull/
      Data_cat/data.txt”,”;”) 
End Sub 

В данном примере показан обработчик события для кнопки с именем MyButton, вызывающий при нажатии на нее метод LoadText, загружающий в таблицу данные из текстового файла с URL = “http://gull/Data_cat/data.txt” и символом — разделителем данных в столбце «;» (в строке, по умолчанию используется перевод строки).

Есть еще несколько методов (всего их девять), которые могут оказаться полезными при работе с этим компонентом. Это методы AddIn(), BeginUndo(), EndUndo(), Undo() и др.

Набор свойств значительно более широк — их свыше сорока. Они позволяют организовать достаточно серьезную обработку данных средствами VBScript или JavaScript. Остановимся на некоторых из них и приведем соответствующие примеры.

Пожалуй, наиболее простым, но в то же время очень важным среди всех свойств является свойство Cells. Оно позволяет организовать чтение и запись любой ячейки компонента. В следующем примере производится сохранение содержимого нескольких ячеек компонента Spreadsheet в текстовый файл:

Sub B3_OnClick 
Const ForWriting = 2 
Const TristateUseDefault = -2 
Dim fso, f, ts 
Dim i,j,tmp 


Set fso = CreateObject(«Scripting.FileSystemObject») 
fso.CreateTextFile «test1.txt» 
Set f = fso.GetFile(«test1.txt») 
Set ts = f.OpenAsTextStream(ForWriting,TristateUseDefault) 
for i=1 to 5 
for j=1 to 10 
ts.write Book1_1508_WebCalc.Cells(i,j) 
ts.write «;» 
next 
ts.write vbCrLf 
next 
ts.Close 
End Sub

Имеется еще несколько часто используемых свойств, а именно:

  • ActiveCell. Это свойство позволяет обратиться к текущей активной ячейке — считать/изменить ее содержание;

  • DisplayToolbar, DisplayGridlines, Display..., EnableAutocalculate, MaxHeight, MaxWidth, TitleBar. Эти свойства позволяют программно задать параметры отображения и поведения компонента Spreadsheet.

  • Version. Данное свойство доступно только для чтения (константа) и содержит текущую версию компонента.

В начало

В начало

Компонент Chart

Компонент Chart позволяет создать на Web-странице диаграмму, содержимое которой обновляется при изменении данных в сопоставленном компоненте источника данных (рис. 3). Особенностью данного компонента является то, что при непосредственном создании его при публикации из Excel обязательно создается компонент Spreadsheet. Поэтому работа с данным компонентом сводится к изменению содержимого компонента Spreadsheet.

Компонент по своим функциональным возможностям фактически не имеет отличий от стандартной диаграммы Excel. Таким образом, к нему можно применять те же методы работы.

Для того чтобы опубликовать интерактивную диаграмму, можно воспользоваться двумя путями: опубликовать стандартными средствами Excel (см. публикацию компонента Spreadsheet — нужно вместо диапазона ячеек или рабочего листа выбрать для публикации диаграмму и установить значение Chart functionality для флажка Add interactivity with) либо вставить компонент Office Chart с помощью средств FrontPage. В первом случае с помощью компонента Spreadsheet будет автоматически опубликован еще и рабочий лист, содержащий данные для диаграммы. Во втором случае необходимо указать источник данных, то есть до создания объекта Office Chart необходимо создать объект Office Spreadsheet, Office PivotTable или указать внешний источник данных.

После публикации можно произвести дополнительное форматирование средствами FrontPage. Для этого нужно перейти во вкладку Normal и, предварительно выделив компонент Chart, щелкнуть на нем правой кнопкой мыши. В появившемся контекстном меню следует выбрать пункт Property Toolbox. В нем есть несколько групп для настройки свойств компонента:

  • General. Данная группа позволяет выбрать объект настройки: Chart, Chart Plot Area, Chart series, Chart series data labels;

  • Chart. Позволяет включить или выключить легенду и заголовок диаграммы;

  • Format. Позволяет задать такие параметры диаграммы, как цвет рамки и заполнения;

  • Options. Содержит поле ввода начального угла поворота диаграммы (для круговой диаграммы);

  • Plot Area. Позволяет изменять положение диаграммы: отражать ее, поворачивать и т.п.;

  • Series. Задает название диаграммы;

  • Data label. Дает возможность определить наличие или отсутствие и характер подписей значений диаграммы;

  • Font. Предназначена для задания шрифта и его параметров (толщина, размеры), используемых для подписей к данным.

В начало

В начало

Компонент PivotTable

Web-компонент PivotTable предназначен для анализа и просмотра информации из баз данных (рис. 4). Внешне он очень похож на представления сводных таблиц — PivotTable — в электронных таблицах Excel. Он может создаваться при публикации в Microsoft Access или Microsoft Excel и включается в страницу доступа к данным. Как и при работе с обычной сводной таблицей, с помощью Web-компонента PivotTable пользователи могут просматривать данные отчетов, выполнять для них динамическую сортировку и фильтрацию, группировать данные по строкам или столбцам, получать суммарные значения и изучать отдельные их составляющие. Все это позволяет эффективно обрабатывать как небольшие объемы данных, так и крупные массивы информации. Начальный формат представления данных определяется страницей доступа, однако при необходимости его легко изменить — достаточно вызвать список полей, выбрать в нем нужное поле с динамическими связями и перетащить его на эту страницу.

Создавая сводную таблицу во FrontPage 2000 (пошаговая процедура опущена), стоит обратить особое внимание на группу Data Source панели инструментов свойств PivotTable. При нажатии на кнопку Connection Editor на вкладках диалогового окна Data Link Properties задаются параметры обращения к источнику данных: OLE DB Provider, расположение базы данных и способы совместного использования.

При программировании работы с Web-компонентом PivotTable обратите внимание на возможность экспорта данных из сводной таблицы (по умолчанию — в файл Excel):

Call PivotTable0.Export(«c:\My Documents\
                 Ex1.xls»;plExportActionOpenInExcel)

Кроме характерных для всех трех Web-компонентов свойств, описывающих внешний вид (AllowPropertyToolbox, DisplayFieldList, DisplayPropertyToolbox и еще около 20 названий, доступных в обозревателе объектов библиотеки OWC в Microsoft Script Editor), существует ряд свойств, присущих работе только с данным компонентом: HasDetails, MemberExpand, ProviderType и др., описывающих состояние этого компонента.

Таким образом, Web-компоненты электронной таблицы (Spreadsheet), диаграммы (Chart) и сводной таблицы (PivotTable) позволяют сохранять в документах, публикуемых для просмотра обычным Internet-браузером, интерактивные возможности исходных приложений.

КомпьютерПресс 5'1999

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует