














______________________________________ Structure of FIG. 10 Intermediate Structure ______________________________________ entire document stream segment document bodychain text segment 1025text shelf 1015 textshelf segment footer 1017 footer segment header 1019header segment format 1021 set format control specifier tabs, page breaks, control specifiers etc.VA 1023 attribute Doc info blocks 1001 descriptors ______________________________________
______________________________________ (SOS 605; ) EOS 639 { SOD 611 }EOD 617 !CTL 630 ______________________________________
______________________________________ {absolute initial 1 1:2 byte int} ____________________________________________________________________________ Global Cell Reference: {absolute.sub.-- initial 1 1:2 byte int} {absolute.sub.-- final 2 1:2 byte int} {relative.sub.-- initial 3 1:2 byte int} {relative.sub.-- final 4 1:2 byte int} Local Cell Reference: {absolute.sub.-- initial 1 1:2 byte int} {absolute.sub.-- final 2 1:2 byte int} ____________________________________________________________________________ (Spreadsheet no datatype {grid flag 2 1:boolean} Whether grid lines are used to delimit cells from neighbors when cells are displayed. Applies to all dimensions. ______________________________________ {recalc count 3 1:4 byte integer} The number of times to iterate on cyclic references. The default is 0, implying that no recalc is done when cyclic references occur. ______________________________________ {recalc expression 4 None} Contains an !expression which evaluates to TRUE (nonzero) while recalculation should continue. If none is given, defaults to FALSE, meaning no recalculation is performed. ______________________________________ {recalc dimension 5 *:2 byte enum} Contains a list of priorities to obey while recalculating cyclic references. Each integer names a dimension to "sweep through" when doing recalculation: 0 East/West 1 North/South 2 up/down (vertical) . . . ____________________________________________________________________________ {last edit cell 6 local cell reference group} Describes the address of the last cell to be modified. ______________________________________ {border display 7 *:boolean} A boolean per dimension, indicating whether a border is displayed after the extreme cells along that dimension. The default is FALSE for each missing dimension. ______________________________________ {rule precidence 8 *:2 byte int} What to do when the various rules specified to operate on on dimensions collide. For example, the stream might specify one set of rules for column x and another for row y. Where they intersect, the sets of rules collide. This establishes the ordering to apply to the sets of rules, in decreasing order of priority. ____________________________________________________________________________ (vector no datatype {dimensionality 1 1:2 byte int} This descriptor must be the first descriptor in the outermost vector of the spreadsheet. The integer indicates the (nonnegative) number of dimensions to be expressed in this spreadsheet. Default is 0, which would be an empty spreadsheet. {vector address 1 1:2 byte int} The address of this vector, as viewed by its parent. Meaningless on the outermost vector segment. Default is the previous sibling's address plus one, or if there is no previous sibling, the value of the parent's first child address. This allows empty vectors to be skipped easily. {first child address 2 1:2 byte int} The smallest address in use among the children of this vector. Default is 0. {cell name 3 group + *:text} The name of a group of cells enclosed within this vector. The cells are named by the cell reference descriptor group within. If none appears, all cells enclosed by this vector are named. If multiple groups of cells are given the same name, the names references them all - even if they are disjoint. {default cell protection 4 group + 1:bool} The default protection of a group of cells enclosed within this vector; TRUE means protected. The cells are named by the cell reference descriptor group within. If none appears, all cells enclosed by this vector are affected. {cell violation action 5 group + 1:1 byte enum} The default action to take when a protected cell is entered: -1 honor the protection; skip this cell when navigating. 0 honor the protection. 1 ignore the protection, allow the cell to be modified. The cells are named by the cell reference descriptor group within. If none appears, all cells enclosed by this vector are affected. {default cell format 6 none} This contains two descriptors, each holding groups: one to name a set of cells, and one to describe the formatting to be applied to them: {cell reference 1 group} {cell format 2 group} {default display mult 7 group + 1:float.sub.-- 8} The default value to multiply numeric values by when displaying the value of a cell. This doesn't change the cell's value, just the display. The cells are named by the cell reference descriptor group within. If none appears, all cells enclosed by this vector are affected. {default cell type 8 group + 2:1 byte enum} The only data type legal in the named cells. If not given, the default is that the cell may contain instances of any datatype. The cells are named by the cell reference descriptor group within. If none appears, all cells enclosed by this vector are affected. Note that this does not actually declare a datatype for the purposes of parsing Cell segments; in fact, a subsequent Cell segment under the influence of this descriptor, could contain a different datatype. This only affects what future data might be added to the Cells. ____________________________________________________________________________ (Cell {cell address 1 1:2 byte int} The address of this cell, as viewed by its parent vector. If this descriptor is missing, default is the previous sibling's address plus one, or if there is no previous sibling, the value of the parent's first child address. {cell name 3 *:text} The name of this cell. {cell protection 4 1:bool} The protection applied to this cell; TRUE means protected. {cell violation action 5 1:1 byte enum} The default action to take when this cell (if protected) is entered: -1 honor the protection; skip this cell when navigating. 0 honor the protection. 1 ignore the protection, allow the cell to be modified. {cell format 6 group} This contains a group of descriptors which which describe the display format for the cell. The cell format group is described below. {display mult 7 1:float.sub.-- 8} The default value to multiply numeric values by when displaying the value of this cell. This doesn't change the cell's value, just the display. Default is no multiplier (1.0). {cell type 8 2:1 byte enum} The only data type legal in this cell. If not given, the default is that the cell may contain instances of any datatype. Note that this does not actually declare a datatype for the purposes of parsing this segment; in fact, this cell could contain a different datatype. This only affects what future data might be added to the cell. {datatype 2 2:1 byte enum} The datatype of the cell's current value. The dafault is float.sub.-- 8. Note that this descriptor is used to determine how to parse any data within the current Cell Segment. !Expression {operand 1 1:float.sub.-- 8--settable} Operand descriptors may contain other descriptors including cell reference groups, a !Expression control, or a value. (operands containing multiple sources of values, such as both a cell reference and an expression control, are assumed to be order-irrevelant: a composing process can build an expression with them in any order.) Descriptors which may be contained in {operand} are: {global cell reference 1 global cell reference} {datatype 2 2:1 byte enum} {operator 2 1:2 byte enum} The operator to be applied to some preceeding number of postfix stack atoms, see the !Expression control explanation above for details. ____________________________________________________________________________ Cell Display Format Descriptors ______________________________________ {display.sub.--data 1 2:1 byte ints} The first integer indicates whether the expression contained by the cell is displayed, the second whether the expression's value is displayed. If neither is on, the cell will appear blank. The values used are: -1 sometimes displayed: depends on the display software's view on what fits and would look nice. 0 never displayed 1 always displayed. {display.sub.--repeat 2 1:1 byte bool} Indicates whether the cell's content is displayed repetitively until the cell's window is filled. {extend.sub.-- display 3 1:1 byte bool} Indicates whether the cell's content is displayed extending to the right, beyond the cell's boundary, repeating as needed to cover blank cells, until a cell is reached with its own display (or a border is encountered). Note: if the cell is set to be displayed with "centered alignment", content is displayed extending downward, instead of to the right, until a cell with its own display (or a border) is reached. {RID 4 1:2 byte int} This format's identifier. {name 5 *:text} This format's name. ____________________________________________________________________________ Format Descriptors for Numeric Values ______________________________________ {numeric format 6 group} Format information for numeric display. {decimal point string 1 *:text} The characters to use as decimal point. {thousands separator 2 *:text} The string to use between digit-triples, indicating thousands. If not given, no characters are used to mark thousands. {decimal places 3 1:1 byte int} The number of decimal places to display, right of the decimal point. At display time, values should be rounded to accomodate this number of digits. The value 0 × 80 (negative 1 byte infinity) implies that rounding is only done as needed, for instance to fit a cell boundary. The value 0 × 7f is used to imply that special steps should be taken to present the number with all possible precision, for instance displaying the number as a fraction if possible. {scientific 4 1:1 byte int} Whether to use scientific format (nnE + mm) to express a number: -1 use scientific if it makes the display easier to read. 0 do not use scientific format. 1 always use scientific. {currency flag 5 1:2 byte integer} This indicates whether the value represents currency and should be displayed as such. In a preferred embodiment, 0 indicates that the number is not currency, and anything else indicates that it is. Specifically, -1 indicates that the currency type is unknown, and other values might be used to denote the particular currency type (US dollar, yen, etc.) {currency string 6 *:text} This indicates the string to prepend to the number to indicate that it is currency. If the currency string is given, it is ALWAYS applied, even if it conflicts with the content of the currency flag descriptor. {percent flag 7 *:text} Indicates that the number is to be displayed with the given string trailing; an indication that the value is a percentage (the string is generally "%"). This makes no assumptions about the value presented; the value .5 would be presented as .5%, not 50% (but see the multiplier descriptor). {multiplier 8 1:float --8} Indicates that the value should be multiplied by the given value before it is displayed. This does not change the cell's actual value; only the display is altered. Useful in conjunction with {percent}. {positive prefix string 9 *:text} A string to prepend to positive numbers at display time. Defaults to nothing. This prepend occurs after modifications made by other descriptors, e.g {currency}. {negative prefix string 10 *:text} Just like {positive prefix string}, except that the default is "--" if the descriptor doesn't appear at all. {positive suffix string 11 *:text} A string to append to positive numbers at display time. Defaults to nothing. This occurs after modifications made by other descriptors, e.g {percent}. {negative suffix string 12 *:text} Just like {positive suffix string}. {alignment 13 1:1 byte int} How to align the number within the cell: -1 Align in whatever way makes for the best display 0 No specific rule (use default or more global setting). 1 Left justify the number. 2 Center the value within the cell. 3 Right justify the number. ______________________________________ Format Descriptors for Dates and Times ______________________________________ {dates and times 7 group} Format information for the display of dates and times. {ordering 1 *:1 byte int} This gives the order of fields for dates and times. If a field is not mentioned it is not displayed. 0year 1month 2day 3 day ofweek 4hour 5 minute 6 second 7 millisecond. ____________________________________________________________________________ {year format 2 1:1 byte int} This describes how the year is displayed: -1 Display however the appearance is the best. 0 Display according to defaults or moreglobal rules 1 Display in short form (last 2 digits only) 2 Display in short form if the date is within 50 years. 3 Display in long form always 4 Display as a text string: 1991 becomes "one thousand nine hundred and ninety one" {month format 3 1:1 byte int} -1 Display however the appearance is the best. 0 Display according to defaults or moreglobal rules 1 Display as digits (1). 2 Display as abbreviated text (Jan). 3 Display as long text (January). {day ofweek format 4 1:1 byte int} -1 Display however the appearance is the best. 0 Display according to defaults or moreglobal rules 1 Display as digits (1). Monday is 1, Sunday is 0. 2 Display as abbreviated text (Mon). 3 Display as long text (Monday). {day format 5 1:1 byte int} -1 Display however the appearance is the best. 0 Display according to defaults or moreglobal rules 1 Display as digits (23). 2 Display as digits with textual postfix (23rd). 3 Display as text ("twenty third"). {hour format 6 1:1 byte int} -1 Display however the appearance is the best. 0 Display according to defaults or moreglobal rules 1 Display as digits (12). 2 Display as text ("twelve"). {minute format 7 1:1 byte int} -1 Display however the appearance is the best. 0 Display according to defaults or moreglobal rules 1 Display as digits (12). 2 Display as text ("twelve"). {second format 8 1:1 byte int} -1 Display however the appearance is the best. 0 Display according to defaults or moreglobal rules 1 Display as digits (12). 2 Display as text ("twelve"). {millisecond format 9 1:1 byte int} -1 Display however the appearance is the best. 0 Display according to defaults or moreglobal rules 1 Display as digits (100). 2 Display as fractions of a second. (1/10) {padding string 10 1:text} Characters are taken from this string as needed to pad numeric displays out to the normal width, as in 1/23/91 to 01/23/91. Default is no padding {field separator 11 *:text} Repeated instances of this field indicate that characters occur before the first field, between the first and second field, between the second and third field, and so on. If nothing is specified, fields will be separated by a single space. {alignment 12 1:1 byte int} How to align the date within the cell: -1 Align in whatever way makes for the best display (e.g., use the spreadsheet's default rule for displaying numbers.) 0 No specific rule (use default or more global setting). 1 Left justify the date. 2 Center the value within the cell. 3 Right justify the date. Format Descriptors for Boolean Values {boolean 8 group} Format information for the display of Boolean values. {true string 1 *:text} The string used to denote TRUE. Default is TRUE. {false string 2 *:text} The string used to denote FALSE. Default is FALSE. {alignment 3 1:1 byte int} How to align the Boolean within the cell: -1 Align in whatever way makes for the best display (e.g., use the spreadsheet's default rule for displaying numbers.) 0 No specific rule (use default or more global setting). 1 Left justify the text. 2 Center the text within the cell. 3 Right justify the text. Format Descriptors for Text {text 9 group} {capitalization 1 1:1 byte int} -1 Force upper case 0 Leave case alone 1 Force lower case. {alignment 2 1:1 byte int} How to align the boolean within the cell: -1 Align in whatever way makes for the best display (e.g., use the spreadsheet's default rule for displaying numbers.) 0 No specific rule (use default or more global setting). 1 Left justify the text. 2 Center the text within the cell. 3 Right justify the text. ____________________________________________________________________________ Operation # of Code Operands Operation Definition ______________________________________ -1 variable Unknown. Used for cases where the extraction program is unable to find a definition for the function, or in cases in which the expression is obviously damaged. A compostion program treats this as it treats any unrecognised operator code, by tossing part or all of the expression away. 0 1 Unary Plus (no operation, result is operand). 1 1 Unary subtract (negate) 2 2Binary addition 3 2Binary subtraction 4 2Binary multiplication 5 2 Binary division. The result is not necessarily integral. 6 2 raise to a power (a to the bth power) 7 2 Remainder of division (modulus) 8 1Absolute value 9 1 Factorial. 10 2 Ceiling. The value a is expanded to decimal, and a ceiling operation is done at decimal position b, with digits to the left of the decimal point being positive. The ceiling operation acts to increase the value of a or leave it unchanged. Ceiling( ). Examples: 1.39 -1 Ceil yields 1.4 -3.229 -2 Ceil yields -3.22 113.4 2 Ceil yields 200 -3.100 -1 Ceil yields -3.1 11 2 Floor. The value a is expanded to decimal, and a floor operation is done at the decimal position specified by b, as in Ceiling. Floor decreases the value or leaves it unchanged. 1.39 -1 Floor yields 1.3 -3.229 -2 Floor yields -3.23 113.4 2 Floor yields 100 -3.100 -1 Floor yields -3.1 12 2 Truncate. The value a is expanded to decimal, and any digits right of the bth digit are discarded, counting digits as in floor and ceiling. 1.39 -1 Trunc yields 1.3 -3.229 -1 Trunc yields -3.2 133.4 2 Trunc. yields 100 -3.100 -1 Trunc yields -3.1 13 2 Round. The value a is expanded to decimal, and the value is rounded at the bth digit. 1.39 -1 Round yields 1.4 1.34 -1 Round yields 1.3 -3.229 -2 Round yields -3.23 133.4 2 Round yields 100 -3.100 -1 Round yields -3.1 The result at halfway points is indeterminate, as some machines will tend to round upwards always, and others might round up in some circumstances and round down in others. 14 reserved for Round Outward (if it is ever needed). 15 2 Random value between a and b inclusive, allowing non-integers, with equal probability. b must be greater than or equal to a. 16 2 Inequality. TRUE if a <>b. 17 2 Equality. TRUE if a == b. 18 2 Less than. TRUE if a < b. 19 2 Greater than TRUE if a > b. 20 2 Less than or Equal to. TRUE if a <= b. 21 2 Greater than or equal to. TRUE if a >= b. 22 2 Logical Or. 23 2 Logical Exclusive Or. 24 2 Logical And 25 1Logical Not 26 2 Logival Equivalence 27 2 Logical Implication 28 3 If. Given "a b c if", the value returned is b if a is TRUE (nonzero) and c otherwise. 29 1 exponent, e to the ath power. 30 1 log of a, base e. 31 2 log of a, base b. 32 1 square root. 33 2 bth root of a. 34 1 sign (-1, 0, 1) 35 1 radians todegrees 36 1 degrees to radians 37 . . . 61 1 sine, tangant, secant, *2 for co-, *2 for arc-, *2 for hyperbolic: 24 functions. 62 2 arctangent2 63 2 hyperbolic arctangent2 ______________________________________
______________________________________ (x SOS 605 for segment x )EOS 639, sometimes shown as )x for clarity {y SOD 611 for descriptor y }EOD 617, sometimes shown as }y for clarity !CTL 630 a@b integer value a, expressed in b bytes, a decimal value 0a@b integer value a, expressed in b bytes, a hexadecimal value ; comments ______________________________________ INTERMEDIATE SPREADSHEET STRUCTURE (spreadsheet ;start of ;spreadsheet (vector ;outermost ;vector begins {dimensionality ;this vector 2@2 ;represents dim 2 } {first-child-address ;the first inner 1@2 ; vector will have ; an address of 1 } ; (hence, row 1) (vector ;inner vector ; begins. It has ;address 1 ; (because the ; first child ; address of the ; parent says so) ; and a dim of 1 ; (because the ; parent dim is 2, ; and this doesn't ; say otherwise.) (cell ;start of cell {datatype 0102@2 ;cell contains a ; 2 byte integer } ; address of cell ; is r1c0, since it ; didn't say ; otherwise. !expression ;cell contains an ; expression: {operand {datatype 0102@2 } 5@2 ;2 byte int: 5 }operand {operand {datatype 0102@2 } 13@2 ;2 byte int: 13 } {operator 2@2 ;plus } {operand {datatype 1@2 } 2@2 ;2 byte int: 2 } {operator 4@2 ;multiply } ;formula is 5 13 ; + 2 *, or ; (5 + 13) * 2. 36@2 ;cell result is 36 )cell (cell ;start of new cell {cell.sub.- address 2@2 ;address of this ; cell is r1c2 } {datatype 0104@2 ;it contains a 4 ; byte integer ; result } 23@4 ;content of cell ; is 23 !expression ;cell contains an ; expression {operand {datatype 0001@2 ;this operand ; contains no ; constant, } ;hence datatype ; Unknown. {cell.sub.-- reference ;this operand is a ; cell reference {absolute.sub.-- initial 1@2 ;first address is ; 1, ie, row 1 } {absolute.sub.-- initial 0@2 ;next is 0, so ; reference is to ; r1c0 } }cell.sub.-- reference ;reference is to a ; single cell }operand {operand ;next operand {datatype 0102@2 ;a 2 byte integer } 13@2 ;value of operand ; is 13 } {operator 2@2 ;subtract } ;formula is r1c0 ; 13 -, or r1c0-13 )cell ;end of 2nd cell )vector ;finishing up )vector )spreadsheet ______________________________________
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/206,638US5055998A (en) | 1984-12-10 | 1988-06-14 | Intermediate spreadsheet structure |
| DE68926745TDE68926745T2 (en) | 1988-06-14 | 1989-05-31 | INTERMEDIATE STRUCTURE FOR A TABLE SHEET |
| AU37680/89AAU630360B2 (en) | 1988-06-14 | 1989-05-31 | Intermediate spreadsheet structure |
| EP89906927AEP0424407B1 (en) | 1988-06-14 | 1989-05-31 | Intermediate spreadsheet structure |
| JP1506594AJP2975622B2 (en) | 1988-06-14 | 1989-05-31 | Data processing system |
| PCT/US1989/002368WO1989012866A1 (en) | 1988-06-14 | 1989-05-31 | Intermediate spreadsheet structure |
| CA000602647ACA1319437C (en) | 1988-06-14 | 1989-06-13 | Intermediate spreadsheet structure |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/679,675US4751740A (en) | 1984-12-10 | 1984-12-10 | Apparatus, method, and structure for translating a document having one structure into a document having another structure |
| US07/206,638US5055998A (en) | 1984-12-10 | 1988-06-14 | Intermediate spreadsheet structure |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US06/679,675Continuation-In-PartUS4751740A (en) | 1984-12-10 | 1984-12-10 | Apparatus, method, and structure for translating a document having one structure into a document having another structure |
| Publication Number | Publication Date |
|---|---|
| US5055998Atrue US5055998A (en) | 1991-10-08 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US07/206,638Expired - LifetimeUS5055998A (en) | 1984-12-10 | 1988-06-14 | Intermediate spreadsheet structure |
| Country | Link |
|---|---|
| US (1) | US5055998A (en) |
| EP (1) | EP0424407B1 (en) |
| JP (1) | JP2975622B2 (en) |
| AU (1) | AU630360B2 (en) |
| CA (1) | CA1319437C (en) |
| DE (1) | DE68926745T2 (en) |
| WO (1) | WO1989012866A1 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5276607A (en)* | 1990-03-28 | 1994-01-04 | Wordperfect Corporation | Method for optimal recalculation |
| US5280575A (en)* | 1989-06-19 | 1994-01-18 | Digital Equipment Corporation | Apparatus for cell format control in a spread sheet |
| US5293167A (en)* | 1990-09-04 | 1994-03-08 | Motorola, Inc. | Automatic A/D converter operation with selectable result format |
| US5299303A (en)* | 1989-04-12 | 1994-03-29 | Canon Kabushiki Kaisha | Document processing apparatus and method for arranging each line of item information in response to instructing the arranging of the item information stored in a memory |
| US5312478A (en)* | 1990-04-11 | 1994-05-17 | Lotus Development Corporation | System for managing information in a three dimensional workspace |
| US5317686A (en)* | 1990-09-10 | 1994-05-31 | Lotus Development Corporation | Data processing apparatus and method for a reformattable multidimensional spreadsheet |
| US5339410A (en)* | 1988-09-09 | 1994-08-16 | International Business Machines Corporation | Method of bidirectional recalculation |
| US5359729A (en)* | 1991-05-31 | 1994-10-25 | Timeline, Inc. | Method for searching for a given point in regions defined by attribute ranges, then sorted by lower and upper range values and dimension |
| US5359724A (en)* | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
| US5416895A (en)* | 1992-04-08 | 1995-05-16 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
| US5434971A (en)* | 1991-06-28 | 1995-07-18 | Digital Equipment Corp. | System for constructing a table data structure based on an associated configuration data structure and loading it with chemical sample physical data |
| WO1995020198A1 (en)* | 1994-01-21 | 1995-07-27 | Taligent, Inc. | Number formatting framework |
| US5446575A (en)* | 1991-06-28 | 1995-08-29 | Digital Equipment Corp. | System for constructing and loading a table data structure based on an associated configuration data |
| US5499180A (en)* | 1993-03-11 | 1996-03-12 | Borland International, Inc. | System and methods for improved scenario management in an electronic spreadsheet |
| US5510980A (en)* | 1991-11-27 | 1996-04-23 | Microsoft Corporation | Method and system for selecting and executing arithmetic functions and the like |
| US5566068A (en)* | 1993-09-15 | 1996-10-15 | Microsoft Corporation | Method and system for locating field breaks within input data |
| US5592666A (en)* | 1994-10-31 | 1997-01-07 | Sinper Corporation | Method and system for storing and retrieving data from a multidimensional array using database pointers |
| US5657437A (en)* | 1993-12-10 | 1997-08-12 | Lucent Technologies Inc. | Data processing apparatus and method including proportional updating of data |
| US5799295A (en)* | 1993-12-29 | 1998-08-25 | Kabushiki Kaisha Toshiba | Constraint-based spreadsheet system capable of displaying a process of execution of programs |
| US5953730A (en)* | 1994-10-26 | 1999-09-14 | International Business Machines Corporation | Computerized conversion of tables |
| US6002865A (en)* | 1992-05-28 | 1999-12-14 | Thomsen; Erik C. | Location structure for a multi-dimensional spreadsheet |
| US6138130A (en)* | 1995-12-08 | 2000-10-24 | Inventure Technologies, Inc. | System and method for processing data in an electronic spreadsheet in accordance with a data type |
| US6185582B1 (en) | 1998-06-17 | 2001-02-06 | Xerox Corporation | Spreadsheet view enhancement system |
| US6230170B1 (en) | 1998-06-17 | 2001-05-08 | Xerox Corporation | Spatial morphing of text to accommodate annotations |
| US6256649B1 (en) | 1998-06-17 | 2001-07-03 | Xerox Corporation | Animated spreadsheet for dynamic display of constraint graphs |
| US6292810B1 (en) | 1997-03-03 | 2001-09-18 | Richard Steele Richards | Polymorphic enhanced modeling |
| US20020059233A1 (en)* | 2000-07-13 | 2002-05-16 | International Business Machines Corporation | Method and system in an electronic spreadsheet for applying user-defined options |
| US20020124016A1 (en)* | 2001-01-03 | 2002-09-05 | Rank Paul J. | Method and apparatus for a file format for storing spreadsheets compactly |
| US20020143829A1 (en)* | 2001-01-30 | 2002-10-03 | Rank Paul J. | Method and apparatus for formula evaluation in spreadsheets on small devices |
| US6584479B2 (en) | 1998-06-17 | 2003-06-24 | Xerox Corporation | Overlay presentation of textual and graphical annotations |
| US20050223051A1 (en)* | 2004-04-05 | 2005-10-06 | Arakaki Gary K | System for building structured spreadsheets using nested named rectangular blocks of cells to form a hierarchy where cells can be uniquely referenced using non unique names |
| US20090265624A1 (en)* | 2008-04-18 | 2009-10-22 | Reiji Fukuda | Electronic forms preparing and managing system, electronic forms preparing and managing program, and program storing memory media |
| US20090319880A1 (en)* | 2008-06-18 | 2009-12-24 | Microsoft Corporation | Utilizing spreadsheet references with grouped aggregate views |
| US20110072340A1 (en)* | 2009-09-21 | 2011-03-24 | Miller Darren H | Modeling system and method |
| US20190087399A1 (en)* | 2017-09-19 | 2019-03-21 | Kang Don Lee | Method and system for processing multi-dimensional spreadsheet |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9113390D0 (en)* | 1991-06-21 | 1991-08-07 | Ambit Res Ltd | Data manipulation |
| JPH08180116A (en)* | 1994-12-27 | 1996-07-12 | Nec Software Ltd | Spread sheet cell structure |
| US8140549B2 (en) | 2007-10-31 | 2012-03-20 | Juan Carlos Barinaga | Methods and arrangements of processing and presenting information |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4633430A (en)* | 1983-10-03 | 1986-12-30 | Wang Laboratories, Inc. | Control structure for a document processing system |
| US4661904A (en)* | 1983-04-12 | 1987-04-28 | Casio Computer Co., Ltd. | Computer for forming a table by selecting a program language mode during a table mode |
| US4713754A (en)* | 1984-10-09 | 1987-12-15 | Wang Laboratories, Inc. | Data structure for a document processing system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4751740A (en)* | 1984-12-10 | 1988-06-14 | Wang Laboratories, Inc. | Apparatus, method, and structure for translating a document having one structure into a document having another structure |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4661904A (en)* | 1983-04-12 | 1987-04-28 | Casio Computer Co., Ltd. | Computer for forming a table by selecting a program language mode during a table mode |
| US4633430A (en)* | 1983-10-03 | 1986-12-30 | Wang Laboratories, Inc. | Control structure for a document processing system |
| US4713754A (en)* | 1984-10-09 | 1987-12-15 | Wang Laboratories, Inc. | Data structure for a document processing system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5339410A (en)* | 1988-09-09 | 1994-08-16 | International Business Machines Corporation | Method of bidirectional recalculation |
| US5299303A (en)* | 1989-04-12 | 1994-03-29 | Canon Kabushiki Kaisha | Document processing apparatus and method for arranging each line of item information in response to instructing the arranging of the item information stored in a memory |
| US5280575A (en)* | 1989-06-19 | 1994-01-18 | Digital Equipment Corporation | Apparatus for cell format control in a spread sheet |
| US5276607A (en)* | 1990-03-28 | 1994-01-04 | Wordperfect Corporation | Method for optimal recalculation |
| US5312478A (en)* | 1990-04-11 | 1994-05-17 | Lotus Development Corporation | System for managing information in a three dimensional workspace |
| US5293167A (en)* | 1990-09-04 | 1994-03-08 | Motorola, Inc. | Automatic A/D converter operation with selectable result format |
| US5317686A (en)* | 1990-09-10 | 1994-05-31 | Lotus Development Corporation | Data processing apparatus and method for a reformattable multidimensional spreadsheet |
| US5359729A (en)* | 1991-05-31 | 1994-10-25 | Timeline, Inc. | Method for searching for a given point in regions defined by attribute ranges, then sorted by lower and upper range values and dimension |
| US5446575A (en)* | 1991-06-28 | 1995-08-29 | Digital Equipment Corp. | System for constructing and loading a table data structure based on an associated configuration data |
| US5434971A (en)* | 1991-06-28 | 1995-07-18 | Digital Equipment Corp. | System for constructing a table data structure based on an associated configuration data structure and loading it with chemical sample physical data |
| US5510980A (en)* | 1991-11-27 | 1996-04-23 | Microsoft Corporation | Method and system for selecting and executing arithmetic functions and the like |
| US5359724A (en)* | 1992-03-30 | 1994-10-25 | Arbor Software Corporation | Method and apparatus for storing and retrieving multi-dimensional data in computer memory |
| US6282551B1 (en) | 1992-04-08 | 2001-08-28 | Borland Software Corporation | System and methods for improved spreadsheet interface with user-familiar objects |
| US5463724A (en)* | 1992-04-08 | 1995-10-31 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
| US5502805A (en)* | 1992-04-08 | 1996-03-26 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
| US5590259A (en)* | 1992-04-08 | 1996-12-31 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
| US5416895A (en)* | 1992-04-08 | 1995-05-16 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
| US5664127A (en)* | 1992-04-08 | 1997-09-02 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
| US5784545A (en)* | 1992-04-08 | 1998-07-21 | Borland International, Inc. | System and methods for improved spreadsheet interface with user-familiar objects |
| US6002865A (en)* | 1992-05-28 | 1999-12-14 | Thomsen; Erik C. | Location structure for a multi-dimensional spreadsheet |
| US5499180A (en)* | 1993-03-11 | 1996-03-12 | Borland International, Inc. | System and methods for improved scenario management in an electronic spreadsheet |
| US6438565B1 (en) | 1993-03-11 | 2002-08-20 | Borland Software Corporation | System and methods for improved scenario management in an electronic spreadsheet |
| US5566068A (en)* | 1993-09-15 | 1996-10-15 | Microsoft Corporation | Method and system for locating field breaks within input data |
| US5657437A (en)* | 1993-12-10 | 1997-08-12 | Lucent Technologies Inc. | Data processing apparatus and method including proportional updating of data |
| US5799295A (en)* | 1993-12-29 | 1998-08-25 | Kabushiki Kaisha Toshiba | Constraint-based spreadsheet system capable of displaying a process of execution of programs |
| WO1995020198A1 (en)* | 1994-01-21 | 1995-07-27 | Taligent, Inc. | Number formatting framework |
| US5657259A (en)* | 1994-01-21 | 1997-08-12 | Object Technology Licensing Corp. | Number formatting framework |
| US5953730A (en)* | 1994-10-26 | 1999-09-14 | International Business Machines Corporation | Computerized conversion of tables |
| US5592666A (en)* | 1994-10-31 | 1997-01-07 | Sinper Corporation | Method and system for storing and retrieving data from a multidimensional array using database pointers |
| US6138130A (en)* | 1995-12-08 | 2000-10-24 | Inventure Technologies, Inc. | System and method for processing data in an electronic spreadsheet in accordance with a data type |
| US6292810B1 (en) | 1997-03-03 | 2001-09-18 | Richard Steele Richards | Polymorphic enhanced modeling |
| US6185582B1 (en) | 1998-06-17 | 2001-02-06 | Xerox Corporation | Spreadsheet view enhancement system |
| US6230170B1 (en) | 1998-06-17 | 2001-05-08 | Xerox Corporation | Spatial morphing of text to accommodate annotations |
| US6256649B1 (en) | 1998-06-17 | 2001-07-03 | Xerox Corporation | Animated spreadsheet for dynamic display of constraint graphs |
| US6584479B2 (en) | 1998-06-17 | 2003-06-24 | Xerox Corporation | Overlay presentation of textual and graphical annotations |
| US20020059233A1 (en)* | 2000-07-13 | 2002-05-16 | International Business Machines Corporation | Method and system in an electronic spreadsheet for applying user-defined options |
| US7509571B2 (en)* | 2001-01-03 | 2009-03-24 | Sun Microsystems, Inc. | Method and apparatus for a file format for storing spreadsheet compactly |
| US20020124016A1 (en)* | 2001-01-03 | 2002-09-05 | Rank Paul J. | Method and apparatus for a file format for storing spreadsheets compactly |
| US20020143829A1 (en)* | 2001-01-30 | 2002-10-03 | Rank Paul J. | Method and apparatus for formula evaluation in spreadsheets on small devices |
| US7793210B2 (en)* | 2001-01-30 | 2010-09-07 | Oracle America, Inc. | Method and apparatus for formula evaluation in spreadsheets on small devices |
| US20050223051A1 (en)* | 2004-04-05 | 2005-10-06 | Arakaki Gary K | System for building structured spreadsheets using nested named rectangular blocks of cells to form a hierarchy where cells can be uniquely referenced using non unique names |
| US20090265624A1 (en)* | 2008-04-18 | 2009-10-22 | Reiji Fukuda | Electronic forms preparing and managing system, electronic forms preparing and managing program, and program storing memory media |
| US20090319880A1 (en)* | 2008-06-18 | 2009-12-24 | Microsoft Corporation | Utilizing spreadsheet references with grouped aggregate views |
| US8185817B2 (en) | 2008-06-18 | 2012-05-22 | Microsoft Corporation | Utilizing spreadsheet references with grouped aggregate views |
| US20110072340A1 (en)* | 2009-09-21 | 2011-03-24 | Miller Darren H | Modeling system and method |
| US20190087399A1 (en)* | 2017-09-19 | 2019-03-21 | Kang Don Lee | Method and system for processing multi-dimensional spreadsheet |
| US10733368B2 (en)* | 2017-09-19 | 2020-08-04 | Kang Don Lee | Method and system for processing multi-dimensional spreadsheet |
| Publication number | Publication date |
|---|---|
| AU3768089A (en) | 1990-01-12 |
| JP2975622B2 (en) | 1999-11-10 |
| DE68926745D1 (en) | 1996-08-01 |
| CA1319437C (en) | 1993-06-22 |
| EP0424407A4 (en) | 1992-10-14 |
| EP0424407A1 (en) | 1991-05-02 |
| DE68926745T2 (en) | 1997-03-06 |
| EP0424407B1 (en) | 1996-06-26 |
| WO1989012866A1 (en) | 1989-12-28 |
| JPH04501622A (en) | 1992-03-19 |
| AU630360B2 (en) | 1992-10-29 |
| Publication | Publication Date | Title |
|---|---|---|
| US5055998A (en) | Intermediate spreadsheet structure | |
| EP0186007B1 (en) | Apparatus, method, and structure for translating a document having one structure into a document having another structure | |
| EP0770243B1 (en) | Method and apparatus for managing text objects | |
| US5181162A (en) | Document management and production system | |
| US6457013B1 (en) | Data formating property modifiers | |
| KR101137171B1 (en) | Method and apparatus for document processing | |
| KR101109349B1 (en) | Document mark up methods and systems | |
| RU2368943C2 (en) | Modular document format | |
| KR101109280B1 (en) | Methods and systems for defining documents with selectable and/or sequenceable parts | |
| US20020143521A1 (en) | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers | |
| JPH0628046B2 (en) | How to process the data stream | |
| JP2004178602A (en) | Method for importing and exporting hierarchized data, and computer-readable medium | |
| JP4393191B2 (en) | Extensible file format | |
| Harten et al. | The FITS tables extension | |
| US5634123A (en) | Data management using nested records and code points | |
| Carpenter | Carpenter's Guide to Innovative SAS Techniques | |
| Canny | Python-ptx documentation | |
| JP2007317214A (en) | Unicode converter | |
| JPH0512034A (en) | Method of enabling translation readable information by machine | |
| EP0330796A2 (en) | Method for processing data of a document having multiple distributed formats | |
| Strous | LUX Image Processing Package Louis Strous 5 May 2019 | |
| JPS63187361A (en) | Formula editing device | |
| Ledgard | Input-Output | |
| JPH02143366A (en) | Chart processing system | |
| JPH0778799B2 (en) | Text coding method |
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment | Owner name:WANG LABORATORIES, INC., MASSACHUSETTS Free format text:ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:WRIGHT, TERENCE;MAYO, SCOTT;LISCHNER, RAY;REEL/FRAME:005026/0847;SIGNING DATES FROM 19881214 TO 19881220 | |
| AS | Assignment | Owner name:FIRST NATIONAL BANK OF BOSTON, MASSACHUSETTS Free format text:SECURITY INTEREST;ASSIGNOR:WANG LABORATORIES, INC.;REEL/FRAME:005296/0001 Effective date:19890915 | |
| STCF | Information on status: patent grant | Free format text:PATENTED CASE | |
| AS | Assignment | Owner name:WANG LABORATORIES, INC., MASSACHUSETTS Free format text:TERMINATION OF SECURITY INTEREST;ASSIGNOR:FIRST NATIONAL BANK OF BOSTON, AS TRUSTEE;REEL/FRAME:006932/0001 Effective date:19930830 Owner name:CONGRESS FINANCIAL CORPORATION (NEW ENGLAND), MASS Free format text:SECURITY INTEREST;ASSIGNOR:WANG LABORATORIES, INC.;REEL/FRAME:006932/0047 Effective date:19931220 | |
| AS | Assignment | Owner name:WANG LABORATORIES, INC., MASSACHUSETTS Free format text:RELEASE OF SECURITY INTEREST IN AND REASSIGNMENT OF U.S. PATENTS AND PATENT APPLICATIONS;ASSIGNOR:CONGRESS FINANCIAL CORPORATION (NEW ENGLAND);REEL/FRAME:007341/0041 Effective date:19950130 | |
| AS | Assignment | Owner name:BT COMMERCIAL CORPORATION (AS AGENT), NEW YORK Free format text:SECURITY INTEREST;ASSIGNOR:WANG LABORATORIES, INC.;REEL/FRAME:007377/0072 Effective date:19950130 | |
| FPAY | Fee payment | Year of fee payment:4 | |
| AS | Assignment | Owner name:BT COMMERICAL CORPORATION, NEW YORK Free format text:SECURITY AGREEMENT;ASSIGNOR:WANG LABORATORIES, INC.;REEL/FRAME:008246/0001 Effective date:19960828 | |
| AS | Assignment | Owner name:LG SEMICON CO., LTD., KOREA, REPUBLIC OF Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WANG LABORATORIES, INC.;REEL/FRAME:008709/0094 Effective date:19970829 | |
| FEPP | Fee payment procedure | Free format text:PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY | |
| FPAY | Fee payment | Year of fee payment:8 | |
| AS | Assignment | Owner name:LG ELECTRONICS INC., KOREA, REPUBLIC OF Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LG LCD, INC.;REEL/FRAME:010052/0516 Effective date:19990501 Owner name:LG LCD, INC., KOREA, REPUBLIC OF Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LG SEMICON CO., LTD.;REEL/FRAME:010024/0664 Effective date:19981231 | |
| FPAY | Fee payment | Year of fee payment:12 |