Jump to content

Символическая ссылка (SYLK)

Символическая ссылка (SYLK)
Расширение имени файла
.slk
Тип интернет-СМИ приложение/x-silk
Разработано Майкрософт

Символическая ссылка ( SYLK ) — это формат файлов Microsoft, обычно используемый для обмена данными между приложениями, в частности электронными таблицами . Файлы SYLK обычно имеют .slk суффикс. Состоящий только из отображаемых символов ANSI , он может легко создаваться и обрабатываться другими приложениями, например базами данных .

Microsoft никогда не публиковала спецификацию SYLK. Варианты формата поддерживаются Multiplan , Microsoft Excel , Microsoft Works , OpenOffice.org , LibreOffice. [1] и Гнумерик . Формат был введен в 1980-х годах и не менялся с 1986 года. [2]

Часто встречающееся (и ложное) «появление» файла SYLK происходит, когда формат значений, разделенных запятыми (CSV), сохраняется с именем первого поля без кавычек «ID», то есть первые два символа соответствуют первым двум символам поля. формат файла SYLK. Microsoft Excel (по крайней мере, до Office 2016) затем будет выдавать вводящие в заблуждение сообщения об ошибках, связанные с форматом файла, например: «Файл, который вы пытаетесь открыть, 'x.csv', имеет формат, отличный от указанного в файле». расширение...". [3] [4]

Известно, что SYLK вызывает проблемы с безопасностью , поскольку он позволяет злоумышленнику запускать произвольный код , дает возможность замаскировать вектор атаки под безобидным видом файла CSV и по-прежнему включен по умолчанию в последних (2016 г.) версиях Майкрософт Эксель. [2]

Ограничения

[ редактировать ]

SYLK не поддерживает Unicode. Даже если файл SYLK создан приложением, поддерживающим Unicode (например, Microsoft Excel), файл SYLK будет закодирован в кодовой странице ANSI текущей системы , а не в Unicode. Если приложение содержало символы, отображаемые в Юникоде, но не имеющие кодовой точки на кодовой странице текущей системы, они будут преобразованы в вопросительные знаки ('?') в файле SYLK.

Точка с запятой рассматривается в SYLK как разделитель полей, поэтому ее нельзя использовать в значениях данных без экранирования. Если строка символов в файле SYLK должна содержать точку с запятой (;), то перед ней должна стоять еще одна точка с запятой, чтобы строка выглядела, например, как «WIDGET;;AXC1254». MS Excel удалит первую точку с запятой при импорте, и элемент данных будет отображаться как «WIDGET;AXC1254».

Каждая строка входного файла SYLK не должна превышать 260 символов. В противном случае Microsoft Excel выдаст сообщение об ошибке и пропустит загрузку слишком длинной строки.

Пример кода SYLK

[ редактировать ]

В качестве примера приведен следующий код SYLK в текстовом файле с расширением .slk:

ID;P
C;Y1;X1;K"Row 1"
C;Y2;X1;K"Row 2"
C;Y3;X1;K"Total"
C;Y1;X2;K11
C;Y2;X2;K22
C;Y3;X2;K33
E

будет отображаться следующим образом при чтении соответствующей электронной таблицы:

Ряд 1 11
Ряд 2 22
Общий 33

для числового форматирования

[ редактировать ]

Форматирование двух десятичных цифр применяется к столбцу 2 с помощью

F;P2;C2

где P0 — общий, P1 — без десятичной дроби, P2 — для двух цифр, P3 имеет ведущий знак $ с двумя десятичными точками, как определено ниже.

ID;P
P;PGeneral
P;P_(* #,##0_);;_(* \-#,##0_);;_(* "-"_);;_(@_)
P;P_(* #,##0.00_);;_(* \(#,##0.00\);;_(* "-"??_);;_(@_)
P;P_("$"* #,##0.00_);;_("$"* \(#,##0.00\);;_("$"* "-"??_);;_(@_)
C;Y1;X1;K"Row 1"
C;Y2;X1;K"Row 2"
C;Y3;X1;K"Total"
C;Y1;X2;K11
C;Y2;X2;K22
C;Y3;X2;K0;ER1C2+R2C2
F;P2;C2
E

будет отображаться следующим образом при чтении соответствующей электронной таблицы:

Ряд 1 11.00
Ряд 2 22.00
Общий 33.00

для ширины столбца

[ редактировать ]

F;W⟨n1⟩[S]⟨n2⟩[S]⟨n3⟩ определяет ширину группы столбцов:

[С]
одно место
⟨n1⟩
первый столбец
⟨n2⟩
последний столбец
⟨n3⟩
ширина столбцов в количестве символов

Например: добавление этих кодов SYLK приведет к изменению ширины столбца 1 и 2 до 20 и 30 соответственно.

F;W1 1 20
F;W2 2 30

свойства форматирования ячеек

[ редактировать ]
 F;⟨cl⟩⟨n⟩⟨c2⟩
⟨кл⟩
один из следующих односимвольных кодов форматирования:
Д
по умолчанию
С
непрерывное отображение между ячейками
И
научное возведение в степень
Ф
фиксированная десятичная точка
Г
общий формат
$
ведущий $ и 2 десятичных знака
*
гистограмма, одна звездочка на единицу (5 будет *****)
⟨н⟩
количество цифр.
⟨c2⟩
один из следующих односимвольных кодов выравнивания:
Д
по умолчанию
С
центр
Г
общий(текст слева, цифры справа)
л
левое оправдание
Р
правильное оправдание

Например: следующий код SYLK демонстрирует свойства форматирования ячеек:

 ID;P
 P;PGeneral
 C;Y1;X1;K"Row 1 Left Justify"
 F;P0;FG0L
 C;Y2;X1;K"Row 2 Right Justify"
 F;P0;FG0R
 C;Y3;X1;K"Total at Center"
 F;P0;FG0C
 C;Y1;X2;K11
 C;Y2;X2;K22
 C;Y3;X2;K0;ER1C2+R2C2
 F;Y1;X2;FF2L
 F;Y2;X2;FF2R
 F;Y3;X2;F$2C
 F;W1 2 25
 E

Синтаксис SYLK

[ редактировать ]
SYLK_file ::=
	Record +

Record ::=
	RecordType Field* newline
  • идентификационная запись
    • Использовать:
      Заголовок для идентификации типа и создателя таблицы.
      Должна быть первой записью в файле.
    • Тип записи:
      ИДЕНТИФИКАТОР
    • Обязательные поля:
      P-программа
      создатель файла
      • Возможные создатели:
        • МП (Мультиплан)
        • XL (Эксель)
    • Возможные поля:
      Н
      Если присутствует, файл использует защиту ячейки в стиле ;N.
      Если он отсутствует, файл использует защиту ячейки в стиле P.
      И
      Если они присутствуют, записи NE являются избыточными.
      Если они отсутствуют, записи NE не являются избыточными.
  • Б- запись
    • Использовать:
      Сообщает количество строк и столбцов в электронной таблице.
      Рекомендуется ставить перед записями C и F.
    • Тип записи:
      Б
    • Обязательные поля:
      X столбцов
      сообщает максимальное количество столбцов
      Y строк
      сообщает максимальное количество строк
  • C- запись
    • Использовать:
      Содержимое ячейки
    • Тип записи:
      С
    • Обязательные поля:
      X-колонка
      позиция столбца (на основе одного)
    • Возможные поля:
      Y ряд
      позиция строки (на основе одной). Если этот параметр опущен, используется последнее обнаруженное значение.
      E-выражение
      выражение для клетки
      значение К
      значение ячейки
      Столбец С
      ссылка на столбец
      R ряд
      ссылка на строку
      Г
      определяет общую ценность
      Д
      определяет общее выражение
      С
      ссылается на общее значение или общее выражение
      Н
      Если он присутствует, ячейка не защищена.
      Если он отсутствует и в записи идентификатора присутствует ;N, ячейка защищена.
      П
      Если присутствует, ячейка защищена.
      Если он отсутствует и ;N отсутствует в записи идентификатора, ячейка не защищена.
      ЧАС
      Если присутствует, ячейка скрыта.
      Если отсутствует, ячейка не скрыта.
      М-выражение
      матричное выражение от (X,Y) до (C,R)
      я
      внутри матрицы
    • Совместимые поля:
      Если присутствует ;G, ;E должно отсутствовать.
      Если присутствует ;G, должен присутствовать ;K.
      Если присутствует ;D, должен присутствовать ;E.
      Если присутствует ;S, ;E, ;K, ;G, ;D и ;M должны отсутствовать.
      Если присутствует ;S, должны присутствовать ;R и ;C. (Они определяют строку и столбец, из которых копируется общее значение/выражение.)
      Если ;N присутствует в записи идентификатора, ;P должно отсутствовать.
      Если ;N отсутствует в записи идентификатора, ;N должно отсутствовать.
      Если ;M присутствует, ;E должно отсутствовать.
      Если ;I присутствует, ;K и ;E должны отсутствовать.
  • P- запись
    • Использовать:
      Формат ячейки
      Если F-записи присутствуют, предшествует им.
    • Обязательные поля:
      P-форматирование
      Спецификация формата ячейки в стиле Excel
  • F- запись
    • Использовать:
      Формат
      Если присутствуют записи P, следует за ними.
    • Возможные поля:
      X-колонка
      столбец (на основе одного)
      Y ряд
      строка (на основе одной)
      Столбец С
      столбец (на основе одного)
      R ряд
      строка (на основе одной)
      Формат F
      Формат ячейки/строки/столбца
      Формат формата
      цифры канала 1 канала 2
      ch1 это
      Д
      по умолчанию
      С
      валюта
      И
      показатель степени
      Ф
      зафиксированный
      Г
      общий
      $
      доллар
      *
      график
      %
      процент
      цифры - это количество цифр после десятичной точки
      ch2 — выравнивание
      Д
      по умолчанию
      С
      центр
      Г
      стандартный
      л
      левый
      Р
      верно
      -
      игнорируется
      Х
      наполнять
      Формат D
      Формат по умолчанию.
      Формат формата
      цифры канала 1 канала 2
      ch1 это
      С
      валюта
      И
      показатель степени
      Ф
      зафиксированный
      Г
      общий
      $
      доллар
      *
      график
      %
      процент
      цифры - это количество цифр после десятичной точки
      ch2 — выравнивание
      С
      центр
      Г
      стандартный
      л
      левый
      Р
      верно
      -
      игнорируется
      Х
      наполнять
      И
      показать формулы
      К
      показывать запятые
      W col1 col2 ширина
      установить ширину столбцов
      Размер шрифта N
      шрифт для использования
      Индекс P
      Формат ячейки Excel, номер P-записи (например, P0 означает первую P-запись, которая обычно объявляется как P;PGeneral).
      S стиль
      стиль
      Следующие символы могут быть частью стиля
      я
      курсив
      Д
      смелый
      Т
      линия сетки сверху
      л
      линия сетки слева
      Б
      нижняя линия сетки
      Р
      линия сетки справа
      С
      затененный фон
      ЧАС
      Если присутствует, не показывать заголовки строк/столбцов.
      Если они отсутствуют во всем файле, показать заголовки строк/столбцов.
      Г
      Если присутствует, не показывать линии сетки по умолчанию.
      Если они отсутствуют во всем файле, отображаются линии сетки по умолчанию.
    • Совместимые поля:
      Должен присутствовать хотя бы один из ;X, ;Y, ;C, ;R, ;D, ;E, ;K, ;W, ;P, ;H или ;G.
      Если присутствует ;X или ;Y, должны присутствовать оба ;X и ;Y. (Это устанавливает формат ячейки.)
      Если присутствует ;X, ;R, ;C, ;E, ;K, ;W, ;N, ;H, ;G должны отсутствовать.
      Если присутствует ;R, то ;X, ;Y, ;C, ;E, ;K, ;W, ;N, ;H, ;G должны отсутствовать. (Это устанавливает формат строки по умолчанию.)
      Если присутствует ;C, то ;X, ;Y, ;R, ;E, ;K, ;W, ;N, ;H, ;G должны отсутствовать. (Это устанавливает формат столбца по умолчанию.)
      Если присутствует ;D, ;X, ;Y, ;R, ;C должны отсутствовать. (Это устанавливает формат электронной таблицы по умолчанию.)
      Если присутствуют ;X, ;Y, ;R, ;C, должны присутствовать ;P и/или ;F и/или ;S.
  • О запись
    • Использовать:
      Параметры
    • Возможные поля:
      Гитер дельта
      Если присутствует, разрешить итерацию значения
      Если они отсутствуют, циклические ссылки не допускаются.
      iter (максимальное количество итераций)
      дельта (пошаговый тест. Если меньше, то закончено.)
      С
      тест завершения на ближайшей предыдущей записи C
      П
      лист защищен
      л
      используйте ссылки на режим A1
      Даже если указан ;L, в выражениях файла SYLK используются ссылки R1C1.
      М
      Если присутствует, используйте ручной пересчет.
      Если его нет, используйте автоматический перерасчет.
      И
      Лист макроса.
      Оно должно появиться до первого появления поля ;G или ;F в записи NN.
      Это должно появиться перед первой записью C, которая использует функцию только для макросов.
      Значение В
      значение указывает базовую дату, используемую для расчета значений серийных дат.
      0:1 января 1900 г.
      4:1 января 1904 г.
  • НЕТ записи
    • Использовать:
      подмена имени файла
      Если записи NE присутствуют, они должны предшествовать им.
    • Обязательные поля:
      L имя файла
      старое имя файла
      F имя файла
      новое имя файла
  • северо-восточная запись
    • Использовать:
      внешняя ссылка
    • Обязательные поля:
      E-выражение
      Целевая область в таблице
      F имя файла
      Исходный файл
      S-выражение
      Исходная область на внешнем листе
  • НН запись
    • Использовать:
      Определяет имена
      Более эффективно, если NN появляется перед использованием имени.
    • Обязательные поля:
      имя Н
      имя
      E-выражение
      выражение, описывающее значение имени
    • Возможные поля:
      Г ч1 ч2
      исполняемое имя (макрос) с псевдонимом командной клавиши
      К ч1 ч2
      обычное имя с неиспользуемыми псевдонимами команд
      Ф
      можно использовать как функцию
    • Совместимые поля:
      Если ;G присутствует, ;K должно отсутствовать.
  • W запись
    • Использовать:
      Определения окон
  • Нидерландов запись
    • Использовать:
      Диаграмма внешняя ссылка
  • электронная запись
    • Использовать:
      Конец файла.
      Должно быть, последняя запись.

Дата и время сохраняются как значения с плавающей запятой. Целая часть — это количество дней с 1 января 1900 года (если запись O содержит директиву ;V0, указывающую 1900 в качестве отправной точки для вычислений), дробная часть — это количество секунд, разделенное на 86400 (60*60* 24, количество секунд в сутках). Преобразование в время Unix можно выполнить, вычитая разницу между 1 января 1970 года и 1 января 1900 года (25 569 дней), а затем умножая на 86 400; преобразование времени unix в дату и время SYLK выполняется путем деления значения на 86400 и последующего добавления 25569. В качестве стиля ячейки должно быть установлено некоторое значение форматирования даты, например P;Pdd/mm/yyyy\ hh:mm:ss чтобы отображалось правильно.

Экспорт файлов .slk, открытый с помощью Excel, имеет ограничение в 255 символов в ячейке. Этого ограничения нет в LibreOffice.

[ редактировать ]
  • Подробные примеры также можно найти здесь.

Синтаксис SYLK можно найти по адресу:

и по адресу:

Ограничения, связанные с чтением и сохранением в Excel:

  1. ^ «LibreOffice Calc — Поддерживаемые форматы файлов» . 12 ноября 2016 г.
  2. ^ Перейти обратно: а б Стэн Хегт (30 октября 2019 г.). «Злоупотребление форматом файла SYLK» . Outflank.nl . Проверено 14 декабря 2019 г.
  3. ^ « Сообщение об ошибке «SYLK: формат файла недействителен» при открытии файла» . Проверено 18 августа 2015 г.
  4. ^ «Импорт Excel CSV возвращает ошибку формата файла SYLK» . 9 января 2012 года . Проверено 18 августа 2015 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e9d86dc689523f2e6c995177f2918f4c__1690324200
URL1:https://arc.ask3.ru/arc/aa/e9/4c/e9d86dc689523f2e6c995177f2918f4c.html
Заголовок, (Title) документа по адресу, URL1:
Symbolic Link (SYLK) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)