Указание, задание и обнаружение параметров документов электронных таблиц
Иллюстрации
Показать всеИзобретение относится к указанию, заданию и обнаружению параметров документов, таких как электронные таблицы или книги. Техническим результатом является увеличение функциональности документов с электронными таблицами, а также повышение эффективности работы пользователя с ячейками документа с электронной таблицей. Для автономных приложений работы с электронными таблицами и/или веб-служб электронных таблиц предоставляется возможность указывать, обнаруживать и задавать параметры документов электронных таблиц. При создании документа электронных таблиц предоставляется возможность указывать конкретные ячейки или диапазоны ячеек как параметры для электронной таблицы. При просмотре в автономном приложении работы с электронными таблицами или посредством веб-службы предоставляется возможность обнаруживать эти параметры посредством пользовательского интерфейса или объектной модели. Также предусмотрена возможность задавать или изменять эти параметры по одному за раз или пакетно и предоставлять изменения в модель вычислений. Соответственно, при просмотре в автономном приложении работы с электронными таблицами или посредством веб-службы влияние параметров, введенных пользователем, может быть вычислено и просмотрено незамедлительно. Также предоставляется возможность приостанавливать пересчет книги до тех пор, пока не будут получены все релевантные значения, такие как текущий набор параметров. 3 н. и 12 з.п. ф-лы, 31 ил., 2 табл.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к указанию, заданию и обнаружению параметров документов, таких как электронные таблицы или книги.
Уровень техники
Программное обеспечение работы с электронными таблицами, например программное обеспечение MICROSOFT EXCEL, имеет функциональность, чтобы моделировать бумажные крупноформатные таблицы, также иногда называемые листами или книгами, в которых столбцы чисел математически обрабатываются, к примеру суммируются, умножаются и т.д., для формирования бюджетов, планов, моделей и других задач. В типичном варианте пользовательский интерфейс программного обеспечения работы с электронными таблицами отображается на экране как матрица строк и столбцов, пересечения которых называются "ячейками". Ячейки могут быть заполнены именами полей, числовыми значениями или формулами. Имена полей - это описательный текст, такой как "Rent (Арендная плата)" и "Gross Sales (Валовой объем продаж)". Значения - это фактические числовые данные, а формулы инструктируют электронной таблице выполнить конкретные вычисления на основе значений; например, формула SUM CELLS A5 TO A10 может инструктировать программному обеспечению электронной таблицы просуммировать ячейки, найденные в столбце A, строки 5-10. Формулы предоставляют взаимосвязи ячеек, и их легко создавать. Например, можно просто указать на ячейку и щелкнуть, а затем нажать клавишу (+, - и т.д.) любой арифметической операции, предназначенной для того, чтобы затрагивать ячейку. Например, создание формулы может быть "содержимое этой ячейки ПЛЮС содержимое этой ячейки, ДЕЛЕННОЕ НА содержимое следующей ячейки выше и слева".
После того как числа добавляются или изменяются, формулы, в общем, пересчитывают данные автоматически или при инициировании пользователем, к примеру, с помощью нажатия клавиши. Это может создать "волновой" эффект пересчета по нескольким ячейкам. Поскольку содержимое любой ячейки может быть вычислено с помощью или скопировано в любую другую ячейку, сумма одного столбца может быть использована в качестве детального элемента в другом столбце. Например, сумма из столбца статей расходов может переноситься на сводный столбец, показывающий все расходы. Если содержимое ячейки в столбце подробностей изменяется, общая сумма по столбцу изменяется, что затем копируется в сводный столбец, и суммарный итог изменяется.
Мощное средство для банкиров, биржевых маклеров, экономистов и т.д. этот волнообразный эффект позволяет пользователю создавать план или модель, подключать различные допущения о модели, т.е. изменять параметры и сразу видеть результат в итоге. Эта возможность "что если?" делает электронную таблицу необходимой для бюджетов, планов и других задач на основе уравнений. Таким образом, возможность "что если?" позволяет пользователям изменять базовые параметры, такие как процентная ставка математической модели, такой как прирост банковского счета во времени. "Что если?" аналогично позволяет пользователю изменять базовые факты, такие как начальный баланс банковского счета, формулы, взаимосвязывающие ячейки, такие как вычисление процента с или без формулы, которая составляет процент, и даже названия ячеек, чтобы адресовать различные математические сценарии.
Таким образом, в настоящее время любая информация, касающаяся ячеек электронной таблицы, может быть изменена пользователем, так что пользователь может видеть то, как это изменение разворачивается на всю модель. Тем не менее реальность заключается в том, что, в общем, после того как модель установлена, определенные аспекты модели не предназначены для изменения. Например, пользователю может быть известно (в вышеописанном примере прироста) то, что начальный баланс банковского счета составляет 2000 долларов, и этот факт не изменяется. Следовательно, может показаться лишней возможностью электронной таблицы то, что этот факт может быть изменен. Аналогично, ячейки с названиями полей, будучи изменяемыми, не изменяют результат вычисления по формуле прироста, т.е. помечен конкретный столбец или значение как "темп прироста" или "процентная ставка", неважно для базовых формул. Тем не менее кажется трудным проводить различия в рамках текущей модели электронной таблицы между ячейками, служащими в качестве параметров тонкой настройки при различных допущениях, и ячейками, служащими в качестве неизменяемых фиксаций или данных частей модели.
Это зачастую оптимально и привлекательно для создателя рассматриваемой электронной таблицы, поскольку создатель, в общем, запоминает то, какие релевантные параметры служат для точной настройки. Тем не менее как только сторонний пользователь, не связанный с ее создателем, просматривает электронную таблицу и модель, которую она представляет, этот сторонний пользователь должен выполнить сложную задачу по выяснению того, какие ячейки служат в качестве параметров, а какие нет. Этот сторонний пользователь может не знать, к примеру, что начальный баланс в 2000 долларов является данной частью модели. Более того, по мере того как математическая модель становится менее тривиальной, чем приведенный в данном документе пример прироста, даже создатель модели может иметь трудность в запоминании того, какие части документа являются параметрами, а какие нет.
Соответственно, в настоящее время пользователь электронной таблицы не может явно указывать ячейку электронной таблицы в качестве параметра. По аналогичной причине пользователь не может обнаруживать то, какие части электронной таблицы являются параметрами. И дополнительно, по аналогичным причинам пользователь не может изменять или задавать параметры как таковые, т.е. как отличающиеся от частей модели, которые не являются параметрами. Эти описанные недостатки, связанные с параметрами документов электронных таблиц, остаются неразрешенными в данной области техники.
Более того, исторически электронные таблицы являлись автономными приложениями, в которых пользователь находится рядом с локальным компьютером, имеющим процессор, приводящий в исполнение программное обеспечение для работы с электронными таблицами, установленное на локальном компьютере, что, например, может иметь место для любого из вышеописанных сценариев.
С появлением и быстрым распространением Интернета, тем не менее, выросло число пользователей компьютеров, привыкших к удобному осуществлению доступа практически к любому типу электронного документа практически из любого места. В частности, распространение всемирной паутины ("веб") и прикладных программ веб-браузеров сделало осуществление доступа ко многим типам документов, таких как текстовые и графические документы, очень удобным. Посредством прикладной программы веб-браузера пользователь может осуществлять доступ и просматривать множество типов электронных документов без необходимости в каком-либо дополнительном программном обеспечении, в том числе документы электронных таблиц.
Таким образом, например, пользователь может создавать документ электронной таблицы на локальной машине, "опубликовать" этот документ электронной таблицы на сервере, с которого любой авторизованный пользователь может просматривать документ электронной таблицы посредством веб-браузера. Когда подготовлена посредством рендеринга в веб-браузере, электронная таблица отображается способом, который практически аналогичен для электронной таблицы, когда она отображается посредством прикладной программы работы с электронными таблицами. Тем не менее, в настоящее время, аналогично вышеописанным недостаткам клиентских приложений пользователи не могут указывать ни одну ячейку в качестве параметров при создании документа электронной таблице для отображения также и в веб-браузере. По аналогичным причинам пользователи не могут обнаруживать то, какие параметры применяются к электронной таблице и не могут задавать или изменять эти параметры.
Соответственно, в настоящее время невозможно пользователям ограничивать функциональность в электронной таблице и делать редактируемыми только конкретные ячейки. Эти ячейки, по сути, сами являются параметрами "функций", которые могут быть изменены. Модель электронной таблицы представляет функцию или функции. Хотя сегодня существует способ ограничивать функциональность электронной таблицы и делать редактируемыми только конкретные ячейки, это является управляемым пользовательским интерфейсом (UI) ограничением функциональности, при котором нет механизма явно указывать конкретные ячейки в качестве параметров в электронной таблице или заставлять этот механизм отслеживать перемещение ячеек и изменение книги. Поскольку нет способа указывать ячейки в качестве параметров, также нет способа обратиться к электронной таблице, чтобы запросить доступные параметры для электронной таблицы. Более того, в случае имеющихся серверных продуктов работы с электронными таблицами до сих пор невозможно вообще редактировать ячейки. Эти и другие проблемы функциональности электронных таблиц, описанные в данном документе, оставляют неразрешимые проблемы в данной области техники.
Раскрытие изобретения
Технический результат, достигаемый при использовании заявленного изобретения, заключается в увеличении функциональности документов с электронными таблицами, а также повышении эффективности работы пользователя с ячейками документа с электронной таблицей.
Ввиду вышеописанного для автономных приложений работы с электронными таблицами и/или веб-служб электронных таблиц изобретение предоставляет возможность указывать, обнаруживать и задавать параметры документов электронных таблиц. В различных неограничивающих вариантах осуществления при создании документа электронных таблиц изобретение предоставляет возможность указывать конкретные ячейки или диапазоны ячеек как параметры для электронной таблицы. Помимо этого при просмотре в автономном приложении работы с электронными таблицами или посредством веб-службы изобретение предоставляет возможность обнаруживать эти параметры посредством пользовательского интерфейса или объектной модели. Более того, также предусмотрена возможность задавать или изменять эти параметры по одному за раз или пакетно и предоставлять изменения в модель вычислений. Соответственно, просматриваются ли они в автономном приложении работы с электронными таблицами или посредством веб-службы, влияние параметров, введенных пользователем, может быть вычислено и просмотрено незамедлительно. Изобретение также поддерживает возможность приостанавливать пересчет книги до тех пор, пока не будут получены все релевантные значения, например параметры.
Другие признаки настоящего изобретения описываются ниже.
Краткое описание чертежей
Указание, обнаружение и задание параметров для документов электронных таблиц, в соответствии с изобретением, дополнительно описано со ссылкой на прилагаемые чертежи, на которых:
фиг.1 - это блок-схема, представляющая примерное неограничивающее окружение вычислительной системы, в котором может быть реализовано настоящее изобретение;
фиг.2 - это блок-схема, представляющая примерное сетевое окружение, в котором может быть реализовано настоящее изобретение;
фиг.3A и 3B совместно иллюстрируют примерную клиентскую и серверную архитектуры для создания и просмотра документов электронных таблиц посредством автономных приложений и веб-служб рендеринга в соответствии с различными реализациями изобретения;
фиг.4A, 4B и 4C иллюстрируют примерные неограничивающие снимки экрана различных аспектов указания, обнаружения и задания параметров книги в соответствии с изобретением;
фиг.5A, 5B, 5C, 5D, 5E, 5F, 5G, 5H, 5I, 5J и 5K иллюстрируют примерную неограничивающую последовательность снимков экрана от создания книги и указания параметров до обнаружения списка параметров, ассоциативно связанных с документом, и рендеринга книги посредством веб-интерфейса, предоставляющего возможность редактирования параметров, изложенных в списке параметров в соответствии с изобретением;
фиг.6 иллюстрирует примерную блок-схему последовательности операций способа, показывающую то, как пользователь может указывать, обнаруживать и редактировать параметры в соответствии с изобретением; и
фиг.7A, 7B, 8A, 8B, 9A, 9B, 10A, 10B, 11A, 11B, 12A и 12B иллюстрируют примерные способы, которыми аналогичный интерфейсный код может быть предоставлен, чтобы достичь аналогичной или эквивалентной цели(ей) любого интерфейса(ов) в соответствии с изобретением.
Осуществление изобретения
Обзор
Как описано выше, будь то на основе автономного приложения работы с электронными таблицами или службы веб-сервера электронных таблиц, в настоящее время невозможно пользователям ограничивать функциональность модели в электронной таблице и делать редактируемыми только ячейки, представляющие параметры. Для автономных приложений работы с электронными таблицами, хотя есть способ ограничивать функциональность электронной таблицы и делать редактируемыми только конкретные ячейки, эта функциональность является UI-управляемой безотносительно параметров, указываемых как таковые. Также нет способа обращаться к электронной таблице, чтобы запрашивать доступные параметры для нее. Более того, в случае веб-серверов электронных таблиц, которые предоставляют рендеринг документов электронных таблиц, в настоящее время вообще невозможно редактировать ячейки. Соответственно, изобретение предоставляет возможность указывать конкретные ячейки электронных таблиц как параметры в ходе проектирования с тем, чтобы, когда документ просматривался либо посредством автономного приложения, либо веб-службы электронных таблиц, клиент или сервер, соответственно, мог обнаруживать то, какие ячейки являются параметрами, и предоставлять альтернативный UI или объектную модель (OM) для того, чтобы редактировать значения в этих ячейках, конкретно указанные как параметры.
Примерные сетевые и распределенные окружения
Ссылаясь теперь на чертежи, на которых одинаковые цифры представляют одинаковые элементы, описаны различные аспекты настоящего изобретения. В частности, фиг.1 и соответствующее обсуждение предназначены для того, чтобы предоставить краткое общее описание подходящего вычислительного окружения, в котором могут быть реализованы варианты осуществления изобретения. Хотя изобретение описано в общем контексте программных модулей, которые приводятся в исполнение на сервере и персональных вычислительных системах, специалисты в данной области техники должны принимать во внимание, что изобретение также может быть реализовано в сочетании с другими типами вычислительных систем и программных модулей.
Как правило, программные модули включают в себя процедуры, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Кроме того, специалисты в данной области техники примут во внимание, что изобретение может быть применено на практике с другими конфигурациями вычислительных систем, включающими в себя карманные устройства, многопроцессорные системы, основанную на микропроцессорах или программируемую бытовую электронную аппаратуру, миникомпьютеры, универсальные компьютеры и т.п. Изобретение может быть реализовано на практике в распределенных вычислительных окружениях, в которых задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи. В распределенном вычислительном окружении программные модули могут быть размещены на локальных и удаленных устройствах хранения данных.
Ссылаясь теперь на фиг.1, описывается иллюстративная вычислительная архитектура для компьютера 2, используемого в различных вариантах осуществления изобретения. Вычислительная архитектура, показанная на фиг.1, иллюстрирует традиционный настольный или портативный компьютер, включающий в себя центральный процессор (ЦП) 5, системное запоминающее устройство 7, включающее в себя оперативное запоминающее устройство (ОЗУ) 9 и постоянное запоминающее устройство (ПЗУ) 11, и системную шину 12, которая соединяет запоминающее устройство с ЦП 5. Базовая система ввода/вывода, содержащая основные процедуры, которые помогают передавать информацию между элементами в компьютере, например, при загрузке, сохраняется в ПЗУ 11. Компьютер 2 дополнительно включает в себя устройство 14 хранения большой емкости для сохранения операционной системы 16, прикладных программ и других программных модулей, которые подробнее описаны ниже.
Устройство 14 хранения большой емкости подключено к ЦП 5 посредством контроллера устройства хранения большой емкости (не показан), подключенного к шине 12. Устройство 14 хранения большой емкости и ассоциативно связанные с ним машиночитаемые носители предоставляют энергонезависимое хранение для компьютера 2. Хотя описание машиночитаемых носителей, содержащееся в данном документе, ссылается на устройство хранения большой емкости, такое как жесткий диск или накопитель CD-ROM, специалисты в данной области техники должны принимать во внимание, что могут быть доступны другие типы машиночитаемых носителей, к которым можно осуществлять доступ посредством компьютера 2.
В качестве примера, а не ограничения - машиночитаемые носители могут содержать компьютерные запоминающие носители и среду связи. Компьютерный носитель хранения включает в себя энергозависимый и энергонезависимый, съемный и несъемный носитель, реализованный любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерный носитель хранения включает в себя (но не только) память по технологии RAM, ROM, EPROM, EEPROM, флэш-память или память другой твердотельной технологии, CD-ROM, универсальный цифровой диск (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, магнитный диск или другие магнитные устройства хранения, либо любой другой носитель, который можно использовать для хранения нужной информации и к которому можно обращаться с помощью компьютера 2.
Согласно различным вариантам осуществления изобретения компьютер 2 может работать в объединенном в сеть окружении, используя логические соединения с удаленными компьютерами по сети 18, например, Интернет. Компьютер 2 может подключаться к сети 18 по сетевому интерфейсному блоку 20, подключенному к шине 12. Следует принимать во внимание, что сетевой интерфейсный блок 20 может также использоваться для подключения к другим типам сетей и удаленным компьютерным системам. Компьютер 2 может также включать в себя контроллер 22 ввода/вывода для приема и обработки входного сигнала от некоторого количества других устройств, включая клавиатуру, мышь или электронное перо (не показаны на фиг.1). Также контроллер 22 ввода/вывода может обеспечивать вывод на экран дисплея, принтер или другой тип устройства вывода.
Как вкратце упоминалось выше, ряд программных модулей и файлов данных могут быть сохранены в устройстве 14 хранения большой емкости и ОЗУ 9 компьютера 2, в том числе операционная система 16, подходящая для управления работой сетевого персонального компьютера. Устройство 14 хранения большой емкости и ОЗУ 9 также могут сохранять один или более программных модулей. В частности, устройство 14 хранения большой емкости и ОЗУ 9 могут сохранять прикладную программу 10 веб-браузера. Как известно специалистам в данной области техники, прикладная программа 10 веб-браузера имеет такую функциональность, чтобы запрашивать, принимать, подготавливать посредством рендеринга и предоставлять интерактивность с электронными документами, такими как веб-страница 24, которая отформатирована с помощью HTML. Более того, прикладная программа 10 веб-браузера может иметь такую функциональность, чтобы приводить в исполнение сценарии (скрипты), содержащиеся на веб-странице 24, такие как сценарии, выражаемые с помощью языка JAVASCRIPT от SUN MICROSYSTEMS, INC. Согласно одному варианту осуществления изобретения прикладная программа 10 веб-браузера содержит прикладную программу веб-браузера INTERNET EXPLORER от MICROSOFT CORPORATION. Тем не менее следует принимать во внимание, что могут быть использованы другие прикладные программы веб-браузеров от других производителей, чтобы осуществлять различные аспекты настоящего изобретения, например прикладная программа веб-браузера FIREFOX от MOZILLA FOUNDATION.
Как подробнее описано ниже, веб-страница 24 может содержать просматриваемое представление документа электронной таблицы. В частности, веб-страница 24 может включать в себя HTML и сценарии, которые, когда отображаются приложением 10 веб-браузера, предоставляют визуальное отображение для электронной таблицы. Более того, сценарии, включенные в веб-страницу 24, позволяют пользователю компьютера взаимодействовать с отображением, предоставляемым приложением 10 веб-браузера, и модифицировать электронную таблицу. Из визуального отображения, предоставляемого приложением 10 веб-браузера, пользователю также может быть разрешено запрашивать то, чтобы собственный файл электронной таблицы открывался в прикладной программе 26 работы с электронными таблицами. В ответ на этот запрос запускается приложение 26 работы с электронными таблицами, и собственный файл электронной таблицы, соответствующей электронной таблице, выражаемой посредством веб-страницы 24, загружается прикладной программой 26 работы с электронными таблицами. Прикладная программа 26 работы с электронными таблицами может содержать прикладную программу работы с электронными таблицами EXCEL от MICROSOFT CORPORATION или другую прикладную программу работы с электронными таблицами от другого производителя. Дополнительные сведения, касающиеся процесса просмотра и взаимодействия с электронной таблицей в контексте приложения 10 веб-браузера, далее предоставляются относительно фиг.2.
Ссылаясь теперь на фиг.2, описывается схема архитектуры сети, которая иллюстрирует операционное окружение для различных вариантов осуществления изобретения. Как показано на фиг.2, компьютер 2 подключен к сети 18. Также к сети 18 подключен сервер 30 приложений. Сервер 30 приложений содержит серверный компьютер, который может содержать некоторые или все традиционные вычислительные компоненты, описанные выше относительно фиг.1. Помимо этого сервер 30 приложений имеет такую функциональность, чтобы приводить в исполнение приложение веб-сервера для приема и ответа на запросы на документы, сохраненные или доступные для сервера 30 приложений. Более того, сервер 30 приложений имеет такую функциональность, чтобы принимать и отвечать на запросы на страницы, формируемые веб-приложением 34. Следует принимать во внимание, что веб-приложение 34 может содержать код, исполняемый на сервере 30 приложений, исполняемый код для обмена данными с другими компьютерами и может включать в себя шаблоны, графику, аудиофайлы и другое содержимое, известное специалистам в данной области техники.
Согласно одному аспекту изобретения веб-приложение 34 имеет такую функциональность, чтобы предоставлять интерфейс пользователю компьютера 2, чтобы взаимодействовать с электронной таблицей или книгой, доступной по сети 18. В частности, веб-приложение 34 использует серверный интерфейс программирования приложений (API) 38. Согласно данному варианту осуществления изобретения серверный API 38 имеет такую функциональность, чтобы обеспечивать связь с сервером 32 вычислений электронных таблиц. Сервер 32 вычислений электронных таблиц имеет такую функциональность, чтобы приводить в исполнение серверную программу 40 вычислений электронных таблиц. Серверная программа 40 вычислений электронных таблиц содержит исполняемую программу для извлечения и расчета электронных таблиц, таких как книга 44, сохраненная в базе данных 42. Следует принимать во внимание, что в вариантах осуществления изобретения, описанных в данном документе, серверная программа 40 вычислений электронных таблиц содержит сервер вычислений (CS, как сокращенно пишется в данном документе), такой как программа EXCEL CALCULATION SERVER от MICROSOFT CORPORATION. Тем не менее, могут быть использованы другие программы для вычисления электронной таблицы на серверном компьютере. Следует также принимать во внимание, что сервер 32 вычислений может включать в себя многие из традиционных аппаратных и программных компонентов, описанных выше относительно фиг.1.
Как подробнее описано ниже, компьютер 2 может передавать запрос в сервер 30 приложений, чтобы просматривать книгу 44 в контексте приложения 10 веб-браузера. В ответ на этот запрос веб-приложение 34 взаимодействует с сервером 32 вычислений посредством серверного API 38. В частности, веб-приложение 34 запрашивает от сервера 32 вычислений соответствующую книгу 44. Как подробнее описано ниже, в ответ на этот запрос серверная программа 40 вычислений извлекает книгу 44 и преобразует книгу 44 в формат документов электронных таблиц, такой как XML-формат документов. Как известно специалистам в данной области техники, XML-форматы содержат схему языка разметки для выражения содержимого как электронной таблицы. После того как серверная программа 40 вычислений электронных таблиц преобразовала запрошенную книгу 44 в формат документов электронных таблиц, отформатированный файл документа электронных таблиц возвращается в веб-приложение 34.
После того как веб-приложение 34 приняло от сервера 32 вычислений форматированное представление документа электронных таблиц книги 44, сервер 30 приложений использует механизм 36 веб-рендеринга электронных таблиц, чтобы преобразовать отформатированную электронную таблицу в представление электронной таблицы, которое может быть подготовлено к просмотру и отображению путем рендеринга приложением 10 веб-браузера. В частности, механизм 36 веб-рендеринга электронных таблиц преобразует отформатированный документ в документ, содержащий HTML, который может быть подготовлен путем рендеринга приложением 10 веб-браузера, чтобы отображать электронную таблицу. Кроме того, согласно вариантам осуществления изобретения, механизм 36 веб-рендеринга электронных таблиц допускает вывод HTML, который, когда подготавливается путем рендеринга приложением 10 веб-браузера, выглядит практически аналогично выводу приложения 26 работы с электронными таблицами, когда используется для того, чтобы просматривать ту же книгу 44. После того как механизм 36 веб-рендеринга электронных таблиц завершил рендеринг файла, он возвращается сервером 30 приложений в компьютер 2, где он может быть подготовлен путем рендеринга приложением 10 веб-браузера.
Как также подробнее описано ниже, механизм 36 веб-рендеринга электронных таблиц также может иметь такую функциональность, чтобы подготавливать посредством рендеринга в файл языка разметки один или более сценариев для предоставления возможности пользователю компьютера 2 взаимодействовать с электронной таблицей в контексте приложения 10 веб-браузера. Чтобы предоставить эту функциональность, механизм 36 веб-рендеринга электронных таблиц имеет такую функциональность, чтобы подготавливать посредством рендеринга код сценария, который приводится в исполнение приложением 10 веб-браузера, в возвращенную веб-страницу. Сценарии могут предоставлять функциональность, например, для предоставления возможности пользователю просматривать большую часть электронной таблицы, чтобы модифицировать сводные таблицы, содержащиеся в рамках электронной таблицы, загружать собственную версию электронной таблицы в приложение 26 работы с электронными таблицами и выполнять другие функции.
Чтобы обеспечить интерактивность с электронной таблицей в контексте приложения 10 веб-браузера, приложение 10 веб-браузера принимает пользовательский ввод. В ответ на определенные типы пользовательского ввода могут быть приведены в исполнение сценарии. Когда сценарий приведен в исполнение, ответ может быть передан в сервер 30 приложений, указывающий элемент в электронной таблице, на который было осуществлено воздействие, чтобы идентифицировать тип взаимодействия, которое осуществлено, и дополнительно идентифицировать веб-приложению 34 функцию, которая должна быть выполнена для соответствующего элемента. В ответ на прием этого запроса веб-приложение может сделать дополнительные запросы в сервер 32 вычислений на предмет обновленной книги 44. В ответ на них серверная программа 40 вычислений электронных таблиц может пересчитать книгу 44 в ответ на пользовательское действие и предоставить отформатированное представление документа электронной таблицы обновленной книги в веб-приложение 34. Механизм 36 веб-рендеринга электронных таблиц имеет такую функциональность, чтобы далее подготавливать посредством рендеринга обновленную книгу в формат, имеющий возможность рендеринга приложением 10 веб-браузера. Веб-приложение 34 далее имеет такую функциональность, чтобы передавать обновленную электронную таблицу в компьютер 2, где она может быть подготовлена путем рендеринга приложением 10 веб-браузера. Этот процесс может быть повторен любое число раз, поскольку пользователь взаимодействует с электронной таблицей из контекста приложения 10 веб-браузера. Когда пользователь завершил редактирование электронной таблицы в приложении 10 веб-браузера, все изменения, сделанные в электронной таблице, могут быть распространены посредством одного или более из веб-приложения 34, сервера 32 вычислений и в книге 44, сохраненной в базе 42 данных. Дополнительные сведения, касающиеся этих различных процессов, в том числе примерные реализации для указания, обнаружения и задания параметров книги описаны ниже.
Указание, обнаружение и задание параметров документов электронных таблиц
Ссылаясь теперь на фиг.3A и 3B, описывается иллюстративная процедура 300, показывающая процесс просмотра и взаимодействия с электронной таблицей из контекста прикладной программы веб-браузера. Следует принимать во внимание, что хотя варианты осуществления, описанные в данном документе, представлены в контексте прикладной программы веб-браузера, изобретение может быть использовано в других типах прикладных программ, которые поддерживают рендеринг документов на языке разметки. Например, варианты осуществления изобретения, описанные в данном документе, могут быть использованы в прикладной программе персонального информационного диспетчера, прикладной программе презентаций, прикладной программе построения чертежей или автоматизированного проектирования либо прикладной программе базы данных, чтобы предоставлять рендеринг и взаимодействие с документом без необходимости наличия специальной прикладной программы.
При прочтении описания представленных в данном документе процедур следует принимать во внимание, что логические операции различных вариантов осуществления настоящего изобретения реализованы (1) как последовательность машинореализованных действий или программных модулей, выполняющихся в вычислительной системе, и/или (2) как взаимосвязанные машинные логические схемы или модули схем в рамках вычислительной системы. Реализация зависит от требований к производительности вычислительной системы, реализующей изобретение. Следовательно, логические операции, проиллюстрированные на фиг.3 и 6 и составляющие варианты осуществления настоящего изобретения, описанные в данном документе, указываются ссылками в различных случаях как операции, структурные устройства, действия или модули. Специалистам в данной области техники следует принимать во внимание, что эти операции, структурные устройства, действия и модули могут быть реализованы в программном обеспечении, микропрограммном обеспечении, цифровой логике специального назначения и любом их сочетании без отступления от духа и области применения настоящего изобретения, изложенной в прилагаемой формуле изобретения.
Процедура 300 начинается на этапе 302, где клиентский компьютер 2 передает в сервер 30 приложений запрос на книгу 44. Запрос может быть передан посредством компьютера 2 в ответ на запрашивание пользователем через приложение 10 веб-браузера, чтобы книга 44 была открыта для просмотра и редактирования в приложении 10 веб-браузера. Следует принимать во внимание, что сервер 30 приложений может предоставлять веб-интерфейс 30 для предоставления возможности пользователю просматривать доступные книги и выбирать одну из книг для просмотра и редактирования.
От этапа 302 процедура 300 переходит к этапу 304, на котором сервер 30 приложений передает запрос в сервер 32 вычислений для книги 44. В частности, веб-приложение 34 может использовать серверный API 38 для того, чтобы обмениваться данными с серверной программой 40 вычислений электронных таблиц. Посредством этого пути связи может быть сделан запрос книги 44.
От этапа 304 процедура 300 переходит к этапу 306, на котором серверная программа 40 вычислений электронных таблиц извлекает запрошенную книгу 44 из базы 42 данных. Серверная программа 40 вычислений электронных таблиц после этого вычисляет содержимое книги 44 на этапе 308. Этап 308 вычисления может включать в себя вычисления, аналогичные выполняемым приложением 26 работы с электронными таблицами при пересчете книги 44.
После того как сервер 32 вычислений вычислил книгу 44, серверная программа 40 вычислений электронных таблиц также имеет такую функциональность, чтобы преобразовать вычисленную книгу в соответствующий формат, такой как XML-формат. Формат на основе XML (или разметки) содержит схему языка разметки для описания содержимого электронной таблицы. Следует принимать во внимание, что, согласно аспектам изобретения, только часть книги 44 преобразуется в XML-формат. Это дает возможность возврата в компьютер 2 только отображаемой части электронной таблицы. Дополнительные части могут быть запрошены через интерфейс, предоставляемый посредством веб-страницы 24. Альтернативно, вся книга 44 может быть преобразована в XML-формат и возвращена в сервер 30 приложений.
На этапе 312 сервер 32 вычислений отвечает на запрос от сервера 30 приложений с помощью книги в XML-формате. Процедура 300 далее переходит к этапу 314, на котором механизм 36 веб-рендеринга электронных таблиц, приводящийся в исполнение на сервере 30 приложений, преобразует книгу в XML-формате в формат, который может быть подготовлен посредством рендеринга и отображен приложением 10 веб-браузера. В частности, механизм 36 веб-рендеринга преобразует XML-книгу в веб-страницу 24, которая включает в себя и HTML, и сценарии. HTML используется веб-браузером 10 для того, чтобы отображать содержимое запрошенной книги 44. Сценарии используются приложением 10 веб-браузера для того, чтобы предоставлять возможность пользователю взаимодействовать с подготовленной посредством рендеринга версией электронной таблицы в контексте приложения 10 веб-браузера.
От этапа 314 процедура 300 переходит к этапу 316, на котором сервер приложений отвечает на исходный запрос от компьютера 2 для книги 44. В частности, сервер 30 приложений передает в компьютер 2 веб-страницу 24, которая включает в себя HTML и сценарии, требуемые для того, чтобы просматривать и взаимодействовать с книгой 44 в контексте приложения 10 веб-браузера.
После того как компьютер 2 принял веб-страницу 24, приложение 10 веб-браузера имеет такую функциональность, чтобы подготавливать посредством рендеринга содержимое веб-страницы 24. В частности, HTML подготавливается к просмотру для того, чтобы предоставлять представление книги 44, которое практически аналогично представлению, которое должно быть предоставлено приложением 26 работы с электронными таблицами, если книга 44 открыта с помощью приложения 26 работы с электронными таблицами. Более того, приложение 10 веб-браузера имеет такую функциональность, чтобы подготавливать посредством рендеринга сценарии, с тем чтобы пользователь компьютера 2 мог взаимодействовать с электронной таблицей в контексте приложения 10 веб-браузера.
Обращаясь теперь к фиг.3B, описывается иллюстративная процедура 320, которая показывает различные аспекты изобретения для предоставления возможности пользователю взаимодействовать с книгой, подготовленной посредством ренде