# US 11,030,273 B2 · Converting spreadsheet applications to web-based applications using a data file that includes interactivity attributes of cells for the web-based applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,273 B2
- Document ID: US11030273B2
- Status: Granted
- Kind: B2
- Application number: 15/839,000
- Filed: 2017-12-12
- Published: 2018-04-12
- Granted: 2021-06-08
- Earliest claimed: 2004-11-19
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Jonathan P. Rochelle; Micah Lemonik; Farzad Khosrowshahi; John Stephen Danaher
- Web page: https://patentgrep.com/patent/US11030273B2

## CPC

- G06F 16/972: {Access to data in other repository systems, e.g. legacy data or dynamic Web page generation}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F 40/103: Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191)
- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 40/18: of spreadsheets (form-filling G06F40/174)
- G06F 40/14: Tree-structured documents (parsing G06F40/205; validation G06F40/226)
- G06F 40/154: Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method includes receiving a spreadsheet application that is executable using a spreadsheet program; converting the spreadsheet application into a data file that defines characteristics of a networked version of the spreadsheet application that was converted from the spreadsheet application by applying permissions that are set in the spreadsheet application and not applied in the spreadsheet application, wherein the characteristics are defined based on the permissions and include information defining cells of the networked version of the spreadsheet application that are displayable to a user of the networked version of the spreadsheet application; and transmitting the data file to a server to make the data file available to network users as the networked version of the spreadsheet application.

## Claims

### Claim 1

A method comprising:
receiving, by a processor, a spreadsheet application that is executable using a spreadsheet program;
generating, by the processor, a data file that is used to convert the spreadsheet application to a networked version of the spreadsheet application, the data file including interactivity attributes for cells in the networked version of the spreadsheet application and information defining logical functions implemented by cells in the spreadsheet application, the interactivity attributes indicating at least one of how the cells in the networked version are to be displayed or whether the cells in the networked version are to be editable, wherein the generating of the data file comprises:
determining an associated workbook of the spreadsheet application referenced in the logic functions, the associated workbook being different from a main workbook including the cells in the spreadsheet application,
determining whether the associated workbook is currently open,
in response to determining that the associated workbook is currently open, including, into the information defining the logic functions in the data file, a data structure that represents the associated workbook having cells with current values, and
in response to determining that the associated workbook is not currently open, including, into the information defining the logic functions in the data file, a data structure that represents the associated workbook having cells with last available values; and
transmitting, by the processor, the data file to a server to allow one or more client devices connected to the server to access the networked version of the spreadsheet application based on the data file.

### Claim 2 (depends on 1)

The method of claim 1, wherein the networked version of the spreadsheet application is a web-based version of the spreadsheet application.

### Claim 3 (depends on 1)

The method of claim 1, wherein the data file is an extensible markup language (XML) data file.

### Claim 4 (depends on 1)

The method of claim 1, wherein the information regarding the interactivity attributes of the cells in the networked version are abbreviated.

### Claim 5 (depends on 1)

The method of claim 1, wherein the logical functions include information defining formulas associated with the cells in the spreadsheet application.

### Claim 6 (depends on 1)

The method of claim 1, wherein the logical functions include information defining data filtering functions.

### Claim 7 (depends on 1)

The method of claim 1, wherein the logical functions include information defining a data interface between the spreadsheet application and other applications.

### Claim 8 (depends on 1)

The method of claim 1, wherein the logical functions are abbreviated in the data file.

### Claim 9 (depends on 1)

The method of claim 1, wherein the networked version of the spreadsheet application comprises the same logic as the spreadsheet application.

### Claim 10 (depends on 1)

The method of claim 1, wherein the generating of the data file further comprises:
including, into the interactivity attributes of the data file, a first interactivity attribute for a first cell in the networked version instead of a second interactivity attribute of a second cell in the spreadsheet application, the first cell in the networked version corresponding to the second cell in the spreadsheet application, wherein the first interactivity attribute for the first cell in the networked version differs from the second interactivity attribute of the second cell in the spreadsheet application.

### Claim 11

A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions which, when executed by a processor, cause the processor to:
receive a spreadsheet application that is executable using a spreadsheet program;
generate a data file that is used to convert the spreadsheet application to a networked version of the spreadsheet application, the data file including interactivity attributes for cells in the networked version of the spreadsheet application and information defining logical functions implemented by cells in the spreadsheet application, the interactivity attributes setting indicating at least one of how the cells in the networked version are to be displayed or whether the cells in the networked version are to be editable, wherein to generate the data file, the processor is to:
determine an associated workbook of the spreadsheet application referenced in the logic functions, the associated workbook being different from a main workbook including the cells in the spreadsheet application,
determine whether the associated workbook is currently open,
in response to determining that the associated workbook is currently open, include, into the information defining the logic functions in the data file, a data structure that represents the associated workbook having cells with current values, and
in response to determining that the associated workbook is not currently open, include, into the information defining the logic functions in the data file, a data structure that represents the associated workbook having cells with last available values; and
transmit the data file to a server to allow one or more client devices connected to the server to access the networked version of the spreadsheet application based on the data file.

### Claim 12 (depends on 11)

The computer-readable medium of claim 11, wherein the networked version of the spreadsheet application is a web-based version of the spreadsheet application.

### Claim 13 (depends on 11)

The computer-readable medium of claim 11, wherein the data file is an extensible markup language (XML) data file.

### Claim 14 (depends on 11)

The computer-readable medium of claim 11, wherein to generate the data file, the processor is further to:
include, into the interactivity attributes of the data file, a first interactivity attribute for a first cell in the networked version instead of a second interactivity attribute of a second cell in the spreadsheet application, the first cell in the networked version corresponding to the second cell in the spreadsheet application, wherein the first interactivity attribute for the first cell in the networked version differs from the second interactivity attribute of the second cell in the spreadsheet application.

### Claim 15

A device comprising:
a memory to store instructions; and
a processor to execute the instructions to:
receive a spreadsheet application that is executable using a spreadsheet program;
generate a data file that is used to convert the spreadsheet application to a networked version of the spreadsheet application, the data file including interactivity attributes for cells in the networked version and information defining logical functions implemented by cells in the spreadsheet application, the interactivity attributes setting indicating at least one of how the cells in the networked version are to be displayed or whether the cells in the networked version are to be editable, wherein to generate the data file, the processor is to:
determine an associated workbook of the spreadsheet application referenced in the logic functions, the associated workbook being different from a main workbook including the cells in the spreadsheet application,
determine whether the associated workbook is currently open,
in response to determining that the associated workbook is currently open, include, into the information defining the logic functions in the data file, a data structure that represents the associated workbook having cells with current values, and
in response to determining that the associated workbook is not currently open, include, into the information defining the logic functions in the data file, a data structure that represents the associated workbook having cells with last available values; and
transmit the data file to a server to allow one or more client devices connected to the server to access the networked version of the spreadsheet application based on the data file.

### Claim 16 (depends on 15)

The device of claim 15, wherein the networked version of the spreadsheet application is a web-based version of the spreadsheet application.

### Claim 17 (depends on 15)

The device of claim 15, wherein the data file is an extensible markup language (XML) data file.

### Claim 18 (depends on 15)

The device of claim 15, wherein to generate the data file, the processor is further to:
include, into the interactivity attributes of the data file, a first interactivity attribute for a first cell in the networked version instead of a second interactivity attribute of a second cell in the spreadsheet application, the first cell in the networked version corresponding to the second cell in the spreadsheet application, wherein the first interactivity attribute for the first cell in the networked version differs from the second interactivity attribute of the second cell in the spreadsheet application.
