Формат обмена данными (.dif) - это текстовый файл в формате, используемый для импорта / экспорта одиночные электронные таблицы между программами электронных таблиц (OpenOffice.org Calc, Excel, Gnumeric, StarCalc, Lotus 1-2-3, FileMaker, dBase, Framework, Multiplan и т. Д.). Одним из ограничений является то, что формат DIF не может обрабатывать несколько электронных таблиц в одной книге.
Из-за сходства аббревиатуры и возраста (оба относятся к началу 1980-х годов) формат электронной таблицы DIF часто путают с Navy DIF ; Однако Navy DIF - это не связанный с этим «формат обмена документами» для текстовых процессоров.
DIF был разработан Software Arts, Inc. (разработчики VisiCalc программа) в начале 1980-х годов. Спецификация была включена во многие копии VisiCalc и опубликована в Byte Magazine. Боб Франкстон разработал формат при участии других, в том числе Митча Капора, который помог, чтобы он мог работать с его программой VisiPlot. (Позднее Капор основал Lotus и сделал Lotus 1-2-3.) Авторское право на спецификацию 1981.
DIF был зарегистрированным товарным знаком Software Arts Products Corp. (в то время официальное название Software Arts).
DIF хранит все в текстовом файле ASCII, чтобы смягчить многие межплатформенные проблемы еще во времена его создания. Однако современное программное обеспечение для работы с электронными таблицами, например OpenOffice.org Calc и Gnumeric, предлагают больше кодировки символов для экспорта / импорта. Файл разделен на 2 раздела: заголовок и данные. Все в DIF представлено фрагментом из 2 или 3 строк. Заголовки получают кусок из 3 строк; data, 2. Фрагменты заголовка начинаются с текстового идентификатора, состоящего только из заглавных букв, только буквенных символов и менее 32 букв. Следующая строка должна быть парой чисел, а третья строка должна быть строкой в кавычках. С другой стороны, блоки данных начинаются с пары чисел, а следующая строка представляет собой строку в кавычках или ключевое слово.
Значение занимает две строки: первая - это пара чисел, а вторая - строка или ключевое слово. Первое число пары указывает тип:
Блок заголовка состоит из строки идентификатора, за которой следуют две строки значения.
числовые значения в блоках заголовков используют только пустую строку вместо ключевых слов достоверности.
В некоторых реализациях (особенно в старых продуктах Microsoft) значения ВЕКТОРОВ и ТУПЛОВ менялись местами. Некоторые реализации нечувствительны к ошибкам в размерах таблицы, как написано в заголовке, и просто используют макет в разделе DATA.
Например, предположим, что у нас есть два столбца с одной строкой заголовка столбца и двумя строками данных:
Текст | Число |
---|---|
привет | 1 |
имеет двойная кавычка "в тексте | -3 |
В файле.dif это будет (→ указывает на комментарии):
ТАБЛИЦА 0,1 ВЕКТОРЫ EXCEL → количество столбцы следует за числовым значением 0,2 → '0' указывает, что это числовой тип, '2', так как у нас есть 2 столбца "" ПАКЕТЫ → количество строк следует в виде числового значения 0,3 → '0' указывает, что это числовой тип, '3', поскольку у нас есть 3 строки "" DATA → после фиктивного числового значения 0 данные для таблицы следуют за 0,0 → это фиктивное числовое значение 0 "" -1,0 → '- 1 для типа директивы. За ним следует либо «BOT», либо «EOD» BOT → означает начало строки 1,0 → «1», поскольку ячейка содержит строку (второе число игнорируется) «Текст» → это строка, которая находится в ячейке 1,0 → «1», поскольку ячейка содержит строку. «Число» -1,0 BOT → другая строка 1,0 → строка следует за словом «привет» 0,1 → числовое значение ('0') значения '1' V → 'V' для 'Valid' -1,0 BOT → другая строка 1,0 "имеет двойную кавычку" "в тексте" 0, -3 V - 1,0 EOD → Конец данных