Formato de intercambio de datos: Data Interchange Format

El formato de intercambio de datos (.dif) es un formato de archivo de texto que se utiliza para importar / exportar hojas de cálculo individuales entre programas de hojas de cálculo.

Las aplicaciones que aún admiten el formato DIF son Collabora Online , * Excel , Gnumeric y LibreOffice Calc . Las aplicaciones históricas que solían admitirlo hasta el final de su vida útil o ya no reconocen el soporte del formato son dBase , FileMaker , Framework , Lotus 1-2-3 , Multiplan , OpenOffice.org Calc y StarCalc .

* Algunas implementaciones causaron problemas de interoperabilidad, en particular los de productos de Microsoft Excel más antiguos , consulte la sección a continuación denominada "Discrepancias en las implementaciones".

Una limitación del formato DIF es que no puede manejar varias hojas de cálculo en un solo libro. Debido a la similitud en la abreviatura y en la edad (ambos datan de principios de la década de 1980), el formato de hoja de cálculo DIF a menudo se confunde con Navy DIF ; Navy DIF, sin embargo, es un "formato de intercambio de documentos" no relacionado para procesadores de texto.

Historia

DIF fue desarrollado por Software Arts, Inc. (los desarrolladores del programa VisiCalc ) a principios de la década de 1980. La especificación se incluyó en muchas copias de VisiCalc y se publicó en Byte Magazine . Bob Frankston desarrolló el formato, con aportes de otros, incluido Mitch Kapor , quien ayudó para que pudiera funcionar con su programa VisiPlot. (Más tarde, Kapor fundó Lotus y logró que Lotus 1-2-3 ). La especificación tenía copyright de 1981.

DIF era una marca comercial registrada de Software Arts Products Corp. (un nombre legal para Software Arts en ese momento).

Sintaxis

DIF almacena todo en un archivo de texto ASCII para mitigar muchos problemas multiplataforma en los días de su creación. Sin embargo, el software de hoja de cálculo moderno, por ejemplo, OpenOffice.org Calc y Gnumeric , ofrece más codificación de caracteres para exportar / importar. El archivo se divide en 2 secciones: encabezado y datos. Todo en DIF está representado por un fragmento de 2 o 3 líneas. Los encabezados tienen un fragmento de 3 líneas; data, 2. Los fragmentos de encabezado comienzan con un identificador de texto en mayúsculas, solo caracteres alfabéticos y menos de 32 letras. La siguiente línea debe ser un par de números y la tercera línea debe ser una cadena entre comillas. Por otro lado, los fragmentos de datos comienzan con un par de números y la siguiente línea es una cadena entre comillas o una palabra clave.

Valores

Un valor ocupa dos líneas, la primera un par de números y la segunda una cadena o una palabra clave. El primer número del par indica el tipo:

  • −1 - tipo de directiva, el segundo número se ignora, la siguiente línea es una de estas palabras clave:
    • BOT - comienzo de tupla (comienzo de fila)
    • EOD - fin de datos
  • 0 - tipo numérico, el valor es el segundo número, la siguiente línea es una de estas palabras clave:
    • V - válido
    • NA - no disponible
    • ERROR - error
    • VERDADERO - valor booleano verdadero
    • FALSO - valor booleano falso
  • 1 - tipo de cadena, el segundo número se ignora, la siguiente línea es la cadena entre comillas dobles

Fragmento de encabezado

Un fragmento de encabezado se compone de una línea de identificación seguida de las dos líneas de un valor.

  • TABLA: sigue un valor numérico de la versión, la segunda línea en desuso del valor contiene un comentario del generador
  • VECTORES: el número de columnas sigue como un valor numérico
  • TUPLES: el número de filas sigue como un valor numérico
  • DATOS: después de un valor numérico ficticio 0, siguen los datos de la tabla, cada fila precedida por un valor BOT, toda la tabla terminada por un valor EOD

Los valores numéricos en los fragmentos de encabezado usan solo una cadena vacía en lugar de las palabras clave de validez.

Discrepancias en las implementaciones

Algunas implementaciones (en particular las de productos de Microsoft más antiguos) intercambiaron el significado de VECTORES y TUPLES. Algunas implementaciones son insensibles a los errores en las dimensiones de la tabla como está escrito en el encabezado y simplemente usan el diseño en la sección DATOS.

Ejemplo

Por ejemplo, suponga que tenemos dos columnas con una fila de encabezado de columna y dos filas de datos:

Texto Número
Hola 1
tiene una comilla doble "en el texto -3

En un archivo .dif, esto sería (→ indica comentarios):

TABLE
0,1
"EXCEL"
VECTORS     → the number of columns follows as a numeric value
0,2         → '0' indicates that it's a numeric type, '2' since we have 2 columns
""
TUPLES      → the number of rows follows as a numeric value
0,3         → '0' indicates that it's a numeric type, '3' since we have 3 rows
""
DATA        → after a dummy 0 numeric value, the data for the table follow
0,0         → this is the dummy 0 numeric value
""
-1,0        → '-1' for the directive type. This is followed by either a 'BOT' or an 'EOD'
BOT         → signifies the start of a row
1,0         → '1' since the cell contains a string. (The second number is ignored)
"Text"      → this is the String that's in the cell
1,0         → '1' since the cell contains a string.
"Number" 
-1,0  
BOT         → another row 
1,0         → a string follows
"hello"
0,1         → numeric value ('0') of value '1'
V           → 'V' is for 'Valid'
-1,0 
BOT         → another row
1,0
"has a double quote "" in text"
0,-3
V
-1,0 
EOD         → End of Data

Ver también

Referencias

Fuentes

enlaces externos