Что такое атрибут в эксель
Сразу хочется сделать несколько замечаний.
Первое. В основном говорить буду про то, с чем сталкивался лично. Претензий на стопроцентное знание «изнанки» формата у меня нет.
Второе. Как многие, вероятно, знают, файлы MS Office 2007 и выше представляют собой архив, который можно открыть с помощью любого архиватора (WinRAR, 7zip и так далее).
Третье. «Под капотом» у этих файлов — в основном XML-разметка, гордо именуемая OOXML или просто OpenXML. Поэтому, в принципе, для понимания принципов редактирования файлов «руками» достаточно будет Блокнота (или, что удобнее, Notepad++).
Итак, начнем с формата MS Excel как наиболее употребимого для генерации всевозможных отчетов, выгрузок из БД и иже с ними.
Когда имеешь дело с форматом .XLSX, на каждый вопрос «почему оно реализовано… так?» следует отвечать: «того требовала оптимизация». Когда Microsoft расширили допустимый размер листа до неприличного с точки зрения наблюдателя (около миллиона строк и 16 тысяч с хвостиком столбцов), они понимали, что найдутся маньяки, которые все это забьют данными под завязку. А через это, если подходить к хранению данных «в лоб», то даже все возрастающих мощностей ПК не хватит ни при каких условиях. Следовательно, надо сделать так, чтобы объем хранимых данных был меньше, чем объем данных в книге. Как это сделать? Забегая вперед: например, исключить дубликаты строк.
Первый интересующий нас файл — %file%/xl/workbook.xml. Основное его назначение — манифест, то есть перечень листов, из которых наша книга Excel, собственно, и состоит.
Выглядит этот перечень, к примеру, так:
Это значит, что в книге 4 листа, и их имена указаны в атрибутах name. Каждому тегу должен соответствовать файл в папке %file%/xl/worksheets. Excel сам знает, как должны называться эти файлы и при попытке их переименовать, сочтет всю книгу поврежденной.
Еще в папке %file%/xl нас интересует файл styles.xml.
Как нетрудно догадаться, здесь хранится информация об оформлении ячеек. Причем в угоду оптимизации, хранится она в достаточно интересном виде. Файл состоит из следующих секций:
Как можно понять, здесь перечислены только уникальные стили оформления текста, использованные в книге. Каждый тег — один стиль. Вложенные теги — особенности стиля, такие как полужирное написание (тег ), кегль () и другие.
2. Заливка ячеек:
Как видно, первый вариант — без заливки вообще, а второй — сплошная заливка библиотечного цвета «gray125».
Как видно, одно наименование здесь состоит из пяти элементов, 4 основных границы и диагональная, то есть все то, что можно настроить через GUI самого Excel.
А вот здесь надо объяснить подробнее. Когда в файле листа мы будем указывать стиль ячейки, мы будем ссылаться как раз на эту секцию. Каждый тег , представляющий собой один стиль, является собранием ссылок на предыдущие секции, то есть он сам по себе не содержит объявления шрифта, границ и заливки. Рассмотрим интересные атрибуты ближе:
Чтобы упростить управление группой связанных данных и ее анализ, можно превратить диапазон ячеек в таблицу Excel (ранее Excel списком).
Примечание: Таблицы Excel не следует путать с таблицами данных, которые входят в набор команд для анализа "что если". Подробнее о таблицах данных читайте в статье Получение нескольких результатов с помощью таблицы данных.
Элементы таблиц Microsoft Excel
Таблица может включать указанные ниже элементы.
Строка заголовков. По умолчанию таблица включает строку заголовков. Для каждого столбца таблицы в строке заголовков включена возможность фильтрации, что позволяет быстро фильтровать или сортировать данные. Дополнительные сведения см. в сведениях Фильтрация данных и Сортировка данных.
Строку с заглавной строкой в таблице можно отключить. Дополнительные сведения см. в Excel или отключении Excel таблицы.
Чередование строк. Чередуясь или затеняя строками, можно лучше различать данные.
Вычисляемые столбцы. Введя формулу в одну ячейку столбца таблицы, можно создать вычисляемый столбец, ко всем остальным ячейкам которого будет сразу применена эта формула. Дополнительные сведения см. в статье Использование вычисляемой таблицы Excel столбцов.
Строка итогов После добавления строки итогов в таблицу Excel вы можете выбрать один из таких функций, как СУММ, С СРЕДНЕЕ И так далее. При выборе одного из этих параметров таблица автоматически преобразует их в функцию SUBTOTAL, при этом будут игнорироваться строки, скрытые фильтром по умолчанию. Если вы хотите включить в вычисления скрытые строки, можно изменить аргументы функции SUBTOTAL.
Дополнительные сведения см. в этойExcel данных.
Маркер изменения размера. Маркер изменения размера в нижнем правом углу таблицы позволяет путем перетаскивания изменять размеры таблицы.
Другие способы переумноизации таблицы см. в статье Добавление строк и столбцов в таблицу с помощью функции "Избавься от нее".
Создание таблиц в базе данных
В таблице можно создать сколько угодно таблиц.
Чтобы быстро создать таблицу в Excel, сделайте следующее:
Вы выберите ячейку или диапазон данных.
На вкладке Главная выберите команду Форматировать как таблицу.
Выберите стиль таблицы.
В диалоговом окне Форматировать как таблицу, если вы хотите, чтобы первая строка диапазона была строкой заглавных и нажмите кнопку ОК.
Эффективная работа с данными таблицы
Excel есть некоторые функции, которые позволяют эффективно работать с данными таблиц:
Использование структурированных ссылок. Вместо использования ссылок на ячейки, таких как A1 и R1C1, можно использовать структурированные ссылки, которые указывают на имена таблиц в формуле. Дополнительные сведения см. в теме Использование структурированных ссылок Excel таблиц.
Обеспечение целостности данных. Вы можете использовать встроенную функцию проверки данных в Excel. Например, можно разрешить ввод только чисел или дат в столбце таблицы. Дополнительные сведения о том, как обеспечить целостность данных, см. в теме Применение проверки данных к ячейкам.
Экспорт таблицы Excel на SharePoint
Если у вас есть доступ к SharePoint, вы можете экспортировать таблицу Excel в SharePoint список. Таким образом, другие люди смогут просматривать, редактировать и обновлять данные таблицы в SharePoint списке. Вы можете создать однонаправленную связь со списком SharePoint, чтобы на листе всегда учитывались изменения, вносимые в этот список. Дополнительные сведения см. в статье Экспорт таблицы Excel в SharePoint.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Как и в электронных текстовых документах, отдельные элементы электронных таблиц, такие как ячейка, символ, страница и т.д. имеют ряд характеристик и показателей, определяющих внешний вид этих элементов, особенности их расположения в табличном документе и т.п. Подобные параметры есть не что иное, как атрибуты, среди которых основными для элементов электронных таблиц являются:
Атрибуты ячеек: способ представления информации на экране, высота строк и ширина столбцов, выравнивания данных относительно границ ячейки, формат представления данных в ячейках (текст, числа, дата и прочее), вид границ (разлиновки) таблицы, цвет фона (заливки) ячеек и проч.
Атрибуты шрифта: тип, начертание, размер шрифта и т.д. (см. пп 7.2.2), используемого при записи данных в ячейках таблицы.
Атрибуты страницы электронной таблицы в целом совпадают с атрибутами страницы электронного текстового документа (см. пп 7.2.2), дополнительно обычно предусматривается возможность масштабирования страницы табличного документа относительно его натуральной величины.
Данные для табличных процессоров — это информация, содержащаяся в ячейках таблицы. В ячейки можно вводить данные различных типов: текст, числа, даты, время, формулы. Для нормальной и эффективной работы табличный процессор должен «знать», данное какого типа хранится в конкретной ячейке таблицы.
Определение. Тип данных — это множество значений, принимаемых некоторой величиной, и совокупность определенных математических, логических и иных операций, применимых к величинам этого типа.
Отсюда, в частности, следует, что нельзя применять арифметические операции к содержимому ячеек таблицы, в которых хранится текстовая информация.
К основным типам данных, с которыми встречаются пользователи электронных таблиц, относятся: числа, текст и формулы. Охарактеризуем их:
§ Данные, представленные в цифровой форме, как правило, являются числами и несут разнообразную количественную информацию о свойствах определенных объектов, явлений, процессов, событий и т.д. Числа разделяются на целые и вещественные. Вещественные числа можно записывать двумя способами: в форме с фиксированной запятой и в экспоненциальной форме (в форме с плавающей запятой). Запись числовой константы с фиксированной запятой предполагает, что число содержит целую и дробную части, разделенные десятичной запятой. Например, число 3,1415 так и записывается в табличном процессоре Excel. При записи числа в экспоненциальной форме сначала записывается мантисса, затем латинская буква Е (прописная или строчная), после нее порядок. Мантисса может быть записана, как целая константа или константа с фиксированной запятой, а порядок — только как целая двузначная константа. Числовая константа в экспоненциальной форме трактуется, как мантисса, умноженная на 10 в степени, равной порядку. Например, числа 0,0001 и 1 000 000 могут быть записаны следующим образом: 1Е-4 или 0,1е-3 и 1е6или 1Е+6.
При вводе в ячейки дробных числовых данных не допускается подмена запятой, разделяющей целую и дробную часть, точкой. Это связано с тем, что если в записи дробного числа вместо запятой использовать точку, то такое число, при совпадении его записи с определенной датой, как правило, в табличном процессоре интерпретируется как дата. Пример — запись 20.5 интерпретируется как 20 мая, 30.12 как 30 декабря и т.п.
§ Текстовые данные или просто текст — это произвольная последовательность буквенно-цифровых и иных символов, которая не может быть воспринята как числовая запись. К текстовым данным может быть отнесена и цифровая последовательность символов (точнее она так воспринимается табличным процессором), если при вводе в ячейку перед этой числовая последовательность установить апостроф ( ‘ – одиночную кавычку).
§ Данные, которые описывают математические выражения, используемые при проведении расчетов в определенных ячейках таблицы, являются формулами. В формулы в качестве аргументов могут входить константы, адреса ячеек, содержащих числовые данные (как исходные или независимые, так и зависимые) и функции(подробнее см. пп.9.5.1). Эти элементы формулы соединяются знаками математических или логических операций, причем, используя скобки, можно изменять стандартный порядок выполнения этих операций.
Если ячейка содержит формулу, то в этой ячейке обычно отражается текущий результат вычисления этой формулы.
Пример: В частности, в Excel формулы записываются следующим образом: =2,5*(G5+G2),
где символ «*» — знак умножения; «^» — возведение в степень; КОРЕНЬ — функция квадратного корня; СУММ — функция суммирования.
В lotus 1-2-3формулы записываются несколько иначе:
где @SQRT — функция квадратного корня.
При вводе данных в ячейки важное значение имеет формат представленияданных, под которым понимаются специальные установки для одной или группы ячеек, задающие маску отображения данных, введенных в ячейки (например, числовой фиксированный десятичный формат с двумя знаками после запятойопределяет, что в ячейке число 3426,7813 отображается как 3426,78, при этом третий и последующие знаки после запятой отбрасываются).
Итак, продолжаем разговор. На всякий случай уточню, что начало здесь.
Про строковые значения и метод их хранения я уже вскользь упоминал в первой части, а сейчас поговорим подробнее. Представим, что у нас есть таблица, заполненная строковыми данными, и что она большая. При этом крайне маловероятно, что все значения в ней будут уникальны. Некоторые из них нет-нет, да повторятся где-нибудь в разных частях таблицы. Хранить такой массив «как есть» внутри XML-разметки листа нерационально с точки зрения ресурсов ПК. Поэтому все строковые значения вынесены в отдельный файл, %file%/xl/sharedStrings.xml. Часть его, которая нас интересует, выглядит, допустим, так:
Обратите внимание на атрибуты тега «count» и «uniqueCount»: их значения различаются. Дело в том, что в книге одну из строк я использовал дважды. При этом атрибуты не обязательны, то есть если их убрать, то Excel ошибки не выдаст, но при сохранении файла нарисует опять.
Здесь же можно сказать, что здесь, внутри тега можно играть с настройками шрифта. Для этого используется доработанная напильником система пробегов, применяемая в MS Word (до него мы еще доберемся). Выглядит это примерно так:
Обратите внимание: в корневой тег в предыдущем примере был встроен непосредственно тег , содержавший текст. Здесь же он обернут тегом , то есть Run; по-русски его принято назвать «пробег». Пробег — это, если в двух словах — кусок текста, имеющий одинаковые стилевые настройки.
В этом примере строковое значение содержит 3 пробега. Чтобы было удобнее их рассматривать, я, пожалуй, вынесу их отдельными сорсами.
Этот пробег не содержит секции , поэтому использует стилевые настройки ячейки, в которой находится. В нем интересно другое: атрибут xml:space=«preserve». Дело в том, что по умолчанию что Excel, что Word обрезают концевые пробелы со всех пробегов. Может показаться, что в этом случае в месте стыка пробегов всегда должна получаться примерно такая картина: ВасяПетя. Но по опыту общения с тем же MS Word мы знаем, что это не так. Из-за чего? Вот как раз из-за xml:space=«preserve».
Здесь нет атрибута xml:space=«preserve». Нам без разницы, что Excel сделает с концевыми пробелами, которых нет. Зато есть блок . В принципе, в него можно поместить любые настройки шрифта, которые только есть в Excel. Я же сделал всего один, чтобы не раздувать объем примера.
А здесь у нас есть и блок настроек шрифта и сохранение концевых пробелов.
Ну и еще коротенькая ремарка. Если есть необходимость сделать многострочную запись в ячейке, то здесь в строке просто будет обычный символ переноса, chr(10). Сам атрибут многострочности ячейки расположен в файле разметки листа. В однострочной ячейке символ переноса будет проигнорирован. Excel просто сделает вид, что его нет.
Перейдем в папку %file%/xl/worksheets. Здесь, как говорилось выше, каждый лист, содержащийся в книге, представлен файлом .xml.
Файл разметки листа содержит следующие ключевые элементы (и, что важно, желательно располагать их именно в таком порядке):
1. Тег . Необязателен. Служит, насколько я смог понять, для указания системе размера занятой области, то есть на сколько прорисовывать строки и столбцы
2. Тег . Необязателен, но иногда полезен. Я его использовал для указания на необходимость закрепления верхней строки: это полезно для больших отчетов. Выглядит это примерно так:
Здесь надо дать пояснение. Собственно закрепление строки — тег . И вот какие здесь использованы атрибуты:
- ySplit — показывает количество закрепленных строк. Для закрепления столбцов есть аналогичный атрибут xSplit;
- topLeftCell — указание левой верхней ячейки видимой по умолчанию НЕзакрепленной области;
- activePane — указание местонахождения НЕзакрепленной области. В руководствах сказано, что этот атрибут регулирует, с какой стороны будет НЕзакрепленная область. Правда, попробовав разные значения, я почему-то получил одинаковый результат. Как вариант «by default» я для себя выбрал bottomRight;
- state — указатель состояния закрепленной области. Для простого закрепления строки используется значение frozen
Интересен нам здесь в основном атрибут defaultRowHeight, то есть высота столбца по умолчанию. Стандартный, привычный нам вариант — 15 у.е. Если назначить его, скажем, 30 у.е., то строки, для которых высота не указана отдельно, станут в 2 раза выше. Однако, для того чтоб применить значение, отличное от дефолтного, необходимо указать атрибут customHeight со значением «true». Выглядит это примерно так:
4. Тег . Помогает установить ширину столбцов отличную от дефолтной. В заполненном виде выглядит примерно так:
Вложенные теги обозначают не каждый один столбец, как могло показаться, а группу столбцов, идущих подряд и имеющих единую ширину.
- Атрибут min — первый столбец группы;
- Атрибут max — последний столбец группы;
- Атрибут width — ширина столбца из группы;
- Атрибут customWidth — флаг применения кастомной ширины, без него ширина все равно будет дефолтной;
Как видно, в тег вложены теги с атрибутом «r», обозначающим фактический (а не порядковый) номер строки: надо помнить, что, скажем, строка 1 может быть пустой, а строка 2 — нет.
«Букв, что ли, пожалели?» — спросите вы. «Экономия памяти» — ответит Microsoft. Если вспомнить про ограничение в 16 миллионов с гаком ячеек, становится понятна их мотивация. Выходит, в теории один (!) лишний символ в имени атрибута может привести к миллионам лишних символов при чтении всего файла.
В тег вложены теги — ячейки. В примере видно, что основных атрибутов у ячейки три:
То есть, строго говоря, нам надо указать кастомную высоту ячейки и поставить флаг применения этой самой кастомной высоты.
6. Тег . Как мы знаем, в Excel есть возможность объединения ячеек. Все объединенные ячейки на листе перечислены здесь. В заполненном виде тег выглядит примерно так:
Как видно, одна объединенная ячейка обозначена одним тегом с единственным атрибутом ref, задающим диапазон объединения.
7. Тег . Фильтры, которые так любят видеть в отчетах наши пользователи. В заполненном виде тег выглядит так:
Нетрудно понять, что атрибут «ref» задает зону, занимаемую активными ячейками фильтров.
Ну и «на сладкое» в файле идут настройки страницы для печати. Вот пример из одного моего файла:
Тег задает поля, а тег — предпочтительные настройки бумаги.
В комментариях к первой части была просьба поговорить собственно о редактировании этого чуда техники средствами PL/SQL. Следующая часть будет именно об этом.
В пакете Microsoft Office есть специальная программа для создания базы данных и работы с ними – Access. Тем не менее, многие пользователи предпочитают использовать для этих целей более знакомое им приложение – Excel. Нужно отметить, что у этой программы имеется весь инструментарий для создания полноценной базы данных (БД). Давайте выясним, как это сделать.
Процесс создания
База данных в Экселе представляет собой структурированный набор информации, распределенный по столбцам и строкам листа.
Согласно специальной терминологии, строки БД именуются «записями». В каждой записи находится информация об отдельном объекте.
Столбцы называются «полями». В каждом поле располагается отдельный параметр всех записей.
То есть, каркасом любой базы данных в Excel является обычная таблица.
Создание таблицы
Итак, прежде всего нам нужно создать таблицу.
-
Вписываем заголовки полей (столбцов) БД.
На этом создание каркаса БД закончено.
Присвоение атрибутов базы данных
Для того, чтобы Excel воспринимал таблицу не просто как диапазон ячеек, а именно как БД, ей нужно присвоить соответствующие атрибуты.
-
Переходим во вкладку «Данные».
Можно сказать, что после этого мы уже имеем готовую базу данных. С ней можно работать и в таком состоянии, как она представлена сейчас, но многие возможности при этом будут урезаны. Ниже мы разберем, как сделать БД более функциональной.
Сортировка и фильтр
Работа с базами данных, прежде всего, предусматривает возможность упорядочивания, отбора и сортировки записей. Подключим эти функции к нашей БД.
-
Выделяем информацию того поля, по которому собираемся провести упорядочивание. Кликаем по кнопке «Сортировка» расположенной на ленте во вкладке «Данные» в блоке инструментов «Сортировка и фильтр».
Сортировку можно проводить практически по любому параметру:
- имя по алфавиту;
- дата;
- число и т.д.
- В поле «Сортировка» указывается, как именно она будет выполняться. Для БД лучше всего выбрать параметр «Значения».
- В поле «Порядок» указываем, в каком порядке будет проводиться сортировка. Для разных типов информации в этом окне высвечиваются разные значения. Например, для текстовых данных – это будет значение «От А до Я» или «От Я до А», а для числовых – «По возрастанию» или «По убыванию».
- Важно проследить, чтобы около значения «Мои данные содержат заголовки» стояла галочка. Если её нет, то нужно поставить.
После ввода всех нужных параметров жмем на кнопку «OK».
Поиск
При наличии большой БД поиск по ней удобно производить с помощь специального инструмента.
-
Для этого переходим во вкладку «Главная» и на ленте в блоке инструментов «Редактирование» жмем на кнопку «Найти и выделить».
Закрепление областей
Удобно при создании БД закрепить ячейки с наименованием записей и полей. При работе с большой базой – это просто необходимое условие. Иначе постоянно придется тратить время на пролистывание листа, чтобы посмотреть, какой строке или столбцу соответствует определенное значение.
-
Выделяем ячейку, области сверху и слева от которой нужно закрепить. Она будет располагаться сразу под шапкой и справа от наименований записей.
Теперь наименования полей и записей будут у вас всегда перед глазами, как бы далеко вы не прокручивали лист с данными.
Выпадающий список
Для некоторых полей таблицы оптимально будет организовать выпадающий список, чтобы пользователи, добавляя новые записи, могли указывать только определенные параметры. Это актуально, например, для поля «Пол». Ведь тут возможно всего два варианта: мужской и женский.
-
Создаем дополнительный список. Удобнее всего его будет разместить на другом листе. В нём указываем перечень значений, которые будут появляться в выпадающем списке.
Теперь при попытке ввести данные в диапазон, где было установлено ограничение, будет появляться список, в котором можно произвести выбор между четко установленными значениями.
Конечно, Excel уступает по своим возможностям специализированным программам для создания баз данных. Тем не менее, у него имеется инструментарий, который в большинстве случаев удовлетворит потребности пользователей, желающих создать БД. Учитывая тот факт, что возможности Эксель, в сравнении со специализированными приложениями, обычным юзерам известны намного лучше, то в этом плане у разработки компании Microsoft есть даже некоторые преимущества.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Читайте также: