Конспект по дисциплине Информационные технологии на тему «Обработка табличных данных»
Обработка табличных данных
Пользователям в процессе работы часто приходится иметь дело с табличными данными при создании и ведении бухгалтерских книг, банковских счетов, смет, ведомостей, при составлении планов и распределении ресурсов организации, при выполнении научных исследований. Стремление к автоматизации данного вида работ привело к появлению специализированных программных средств обработки информации, представляемой в табличной форме. Такие программные средства называют табличными процессорами или электронными таблицами. Подобные программы позволяют не только создавать таблицы , но и автоматизировать обработку табличных данных.
Электронные таблицы оказались эффективными и при решении таких задач, как: сортировка и обработка статистических данных, оптимизация, прогнозирование и т.д. С их помощью решаются задачи расчётов, поддержки принятия решений, моделирования и представления результатов практически во всех сферах деятельности. При работе с табличными данными пользователь выполняет ряд типичных процедур, например, таких как:
1) создание и редактирование таблиц;
2) создание (сохранение) табличного файла;
3) ввод и редактирование данных в ячейки таблицы;
4) встраивание в таблицу различных элементов и объектов;
5) использование листов, форматирование и связь таблиц;
6) обработка табличных данных с использованием формул и специальных функций;
7) построение диаграмм и графиков;
8) обработка данных, представленных в виде списка;
9) аналитическая обработка данных;
10) печать таблиц и диаграмм к ним.
Структура таблицы включает нумерационный и тематический заголовки, головку (шапку), боковик (первая графа таблицы, содержащая заголовки строк) и прографку (собственно данные таблицы).
Наибольшей популярностью среди табличных процессоров пользуется программа MS Excel. Она представляет пользователям набор рабочих листов (страниц), в каждом из которых можно создавать одну или несколько таблиц.
Рабочий лист содержит набор ячеек, образующих прямоугольный массив. Их координаты определяются путём задания указания позиции по вертикали (в столбцах) и по горизонтали (в строках). Лист может содержать до 256 столбцов и до 65536 строк. Столбцы обозначаются буквами латинского алфавита: A, B, C . Z, AA, AB, AC . AZ, BA, BB . а строки – цифрами. Так, например, “D14” обозначает ячейку, находящуюся на пересечении столбца “D” с 14 строкой, а “CD99” – ячейку, находящуюся на пересечении столбца “CD” с 99 строкой. Имена столбцов всегда отображаются в верхней строке рабочего листа, а номера строк – на его левой границе.
Для объектов электронной таблицы определены следующие операции: редактирования, объединения в одну группу, удаления, очистки, вставки, копирования. Операция перемещения фрагмента сводится к последовательному выполнению операций удаления и вставки.
Для удобства вычисления в табличные процессоры встроены математические, статистические, финансовые, логические и другие функции. Из внесённых в таблицы числовых значений можно строить различные двумерные, трёхмерные и смешанные диаграммы (более 20 типов и подтипов).
Табличные процессоры могут выполнять функции баз данных. При этом данные в таблицы вводятся так же, как и в БД, то есть через экранную форму. Данные в них могут быть защищены, сортироваться по ключу или по нескольким ключам. Кроме этого осуществляются обработка запросов к БД и обработка внешних БД, создание сводных таблиц и др. В них также можно использовать встроенный язык программирования макрокоманд.
Важным свойством таблиц является возможность использования в них формул и функций. Формула может содержать ссылки на ячейки таблицы, расположенные, в том числе, на другом рабочем листе или в таблице, размещённой в другом файле. Excel предлагает более 200 запрограммированных формул, называемых функциями. Для удобства ориентирования в них, функции разделены по категориям. С помощью “Мастера функций” можно формировать их на любом этапе работы.
Табличный редактор Excel как и программа Word поддерживает стандарт обмена данными OLE, а использование “списков” позволяет эффективно работать с большими однородными наборами данных. В нём можно эффективно обрабатывать различные экономические и статистические данные.
Источник
Обработка табличных данных
Презентация использовалась на занятиях профессионального модуля в ОПК СТИ НИТУ МИСиС
Содержимое разработки
типовых инженерных задач
Обработка табличных данных
Павловская Т.А. C #. Программирование на языке высокого уровня. Учеб. для вузов. – СПб: Питер, 2008 – 432 с.
Павловская Т.А., Щупако Ю.А. C / C ++. Структурное программирование, Питер, 2005. – 402 с.
Гросс К. С# 2008: Пер. с. анг. – СПб. БХВ-Петербург, 2009. – 576 с.
Троелсен Э. Язык программирования С# 2005 и платформа /NET 2.0:пер. с анг. – М:. ООО «И.Д. Вильямс, 2007. – 1168 с.
1. Табличное представление данных.
2. События, свойства и методы, связанные с таблицами.
3. Программирование обработки табличных данных.
1. Табличное представление данных.
Представление в виде таблицы используется для отображения списков файлов в папках, результатов расчетов функций, сведений об успеваемости и т.п. Для представления табличных данных можно использовать визуальные компоненты DataGridView и ListView . Эти визуальные компоненты являются наиболее сложными из числа рассмотренных ранее по совокупности свойств, событий и методов. Далее будут приведены начальные сведения по работе с этими компонентами.
Прямоугольные таблицы DataGridView появились, начиная с версии .NET Framework 2.0 , с ними связано более 100 собственных событий в дополнение к событиям, унаследованным от класса — предка Control . Для работы со строками, столбцами и ячейками таблицы предусмотрена целая иерархия классов.
Таблицы состоят из колонок (столбцов, Column ) и строк (рядов, Row ). Пользователю можно разрешить или запретить изменять порядок расположения колонок и строк. Очевидно, что при изменении порядка необходимо обеспечить программную поддержку обработки с учетом внесенных перестановок. Колонки и строки могут иметь заголовки Headers .
В отличие от массивов, размерность которых задается через константы в момент компиляции программы, применительно к таблицам количество строк ( RowCount ) и столбцов ( ColumnCount ) можно менять в ходе выполнения программы (динамическое выделение и освобождение памяти под таблицу). Ячейка (клетка, Cell ) таблицы может содержать текст (числа тоже представлены в виде текста), изображения, раскрывающиеся списки и другие формы данных. По умолчанию все ячейки таблицы содержат текст, т.е. являются объектами класса DataGridViewTextBoxCell .
Колонки и строки нумеруются начиная с нуля . Для указания ячейки таблицы используется двумерный индексатор вида [col, row] – первым указывается номер колонки, а затем номер ряда. В качестве номера можно использовать выражения целого типа, в том числе целые константы, переменные целого типа.
- Элемент управленияListViewтакже позволяет отображать данные в виде таблицы.
- Ячейки таблицы могут содержать текст и изображение, а первый столбец кроме текста еще и значки. Элемент управленияListViewтакже сложен, освещение всех его возможностей выходит за рамки настоящего занятия. Будут представлены наиболее важные функциональные возможности элемента управленияListView, что обеспечит основу для его применения в программе. Будет также охарактеризован элемент управленияImageList, который служит для хранения изображений, используемых в элементеListView.
2. События, свойства и методы, связанные с таблицами.
- Свойства компонентаDataGridView.
- AllowUserToResizeColumns–разрешает (true) или запрещает (false) пользователю изменять ширину столбцов;
AllowUserToResizeRows – разрешает ( true ) или запрещает ( false ) пользователю изменять высоту строк;
AutoSizeColumnsMode – определяет режим автоматической установки ширины столбцов (например, выбор значения Fill определит ширину видимых столбцов так, чтобы они заняли всю область, отведенную под таблицу);
ClipboardCopyMode – указывает возможность и вид копирования содержимого ячейки в буфер обмена;
ColumnCount – количество столбцов в таблице. Доступно только во время выполнения программы (установка возможна только программным путем);
ColumnHeadersDefaulCellStyle – стиль заголовка по умолчанию (шрифт, цвет, выравнивание, перенос слов и др.);
ColumnHeadersVisible – разрешает ( true ) или запрещает ( false ) показ заголовков столбцов;
Columns – коллекция. Позволяет задать заголовки, имена столбцов, тип содержимого столбца во время проектирования таблицы в специальном окне Правка столбцов ;
DefaulCellStyle – стиль ячейки по умолчанию (шрифт, цвета, выравнивание, разрешение переноса слов и др.);
EditMode – определяет режим начала редактирования, например, по нажатию клавиши Enter или клавиши F2 ;
Enabled — указывает доступность ( true ) или недоступность ( false ) компонента на форме;
MultiSelect – разрешает ( true ) или запрещает ( false ) выбор нескольких ячеек пользователем;
ReadOnly – разрешает ( false ) или запрещает ( true ) пользователю редактировать ячейки таблицы;
RowCount — количество рядов в таблице. Доступно только во время выполнения программы (установка возможна только программным путем);
RowHeadersVisible – разрешает ( true ) или запрещает ( false ) показ заголовков рядов.
События компонента DataGridView .
События, связаные с выбором:
В этих вариантах соответствующий элемент таблицы становится выбранным.
Обращения к ячейке возвращает значение типа DataGridViewCell – общего предка всех классов для содержания ячейки. Доступ к значению ячейки обеспечивает свойство Value этого класса. Например, выражение
dataGridView 1 [col, row].Value = R.ToString();
обеспечивает занесение в ячейку с координатами [col, row] таблицы dataGridView 1 величины R в виде текста;
string s1 = dataGridView 1 [4, 5].Value.ToString();
обеспечивает занесение в s1 содержимого ячейки таблицы.
В частности, операторы
dataGridView1[2, 4].Value = 4.4.ToString();
button1.Text = dataGridView1[2, 4].Value.ToString();
обеспечат занесение в третий столбец пятой строки таблицы dataGridView1 величины 4,4 , а затем эта величина будет помещена в виде текста на кнопку button1 .
устанавливает цвет для текста ячейки.
устанавливает цвет фона колонки.
Заголовки в счет строк и столбцов не входят.
Попытка обратиться к ячейки за пределами области определения количества столбцов или строк вызывает возникновение исключительной ситуации « Индекс за пределами диапазона ».
Примеры занесение информации в заголовки столбцов и строк таблицы
Свойства элемента управления ListView
Управляет способом активизирования элемента пользователем. Возможные значения:
Standard — эта настройка отражает способ активизирования, установленный в Windows ;
OneClick – активизация элемента одиночным щелчок;
TwoClick — активизация элемента двойным щелчком;
Управляет способом выравнивания элементов в списке. Возможные значения:
Default — если пользователь перетаскивает элемент, тот остается там, где был оставлен;
Left — элементы выравниваются по левому краю элемента управления;
Тор — элементы выравниваются по верхнему краю элемента управления;
SnapToGrid — элемент управления содержит невидимую сетку, к которой будут привязаны элементы.
Если значение свойства равно true ,
пользователь имеет возможность
изменять порядок следования столбцов
в таблице. При использовании этой
возможности следует обеспечить
программную поддержку работы с
новым порядком столбцов.
Если значение свойства равно true , элементы будут автоматически выстраиваться в соответствии со свойством Alignment . Это свойство имеет смысл только в том случае, если значение свойства View равно LargeIcon или SmallIcon
Если значение свойства равно true , слева от
каждого элемента в списочном
представлении будет отображаться элемент
CheckBox . Это свойство имеет смысл
только в случае, если значением свойства
Предоставляют соответственно доступ к
коллекции индексов и элементов, которая
содержит элементы списка, помеченные
Это свойство предоставляет доступ к
коллекции столбцов, посредством которой
можно добавлять или удалять столбцы.
Содержит элемент, обладающий фокусом в
списке. Если ни один элемент не выбран,
это значение является нулевым.
Когда значение свойства равно true , и на
элементе выполнен щелчок, вся строка,
содержащая этот элемент, выделяется.
Если значение равно false , выделяется
только сам элемент.
Если значение свойства равно true , в
списочном представлении вычерчиваются
линии сетки между строками и столбцами.
Это свойство имеет смысл, если значением
свойства View является Details (Подробные
Управляет способом отображения
Clickable — заголовок столбца работает
NonClickable — заголовки столбцов не
реагируют на щелчки кнопкой мыши;
None — заголовки столбцов не отображаются.
Коллекция элементов в представлении в
Когда значение свойства равно true ,
пользователь может редактировать
содержимое первого столбца в представлении
Если значение равно true , надписи
будут занимать столько строк, сколько
требуется для отображения всего текста.
Содержит объект ImageList , хранящий
большие изображения. Эти изображения
могут использоваться, когда значение
Установка свойства равным true
позволяет пользователю выбирать
Установка свойства равным true ведет к
отображению линеек прокрутки .
Содержит коллекции, которые
соответственно содержат выбранные
Когда значение свойства View равно
SmallIcon , это свойство содержит объект
ImageList , хранящий используемые
Позволяет выполнять упорядочение
Возвращает элемент, расположенный в
верхней части списка .
Задает режим отображения списка:
LargeIcon — все элементы представляются в
виде большого значка (32×32) и надписи ;
Smallicon — все элементы представляются в виде
маленького значка (16×16) и надписи ;
List — отображается только один столбец. Этот
столбец может содержать значок и надпись ;
Details — возможно отображение любого числа
столбцов. Только первый столбец может
Tile — отображает большой значок, а справа от
него надпись и информацию о подэлементе.
Происходит после редактирования
Происходит до того, как пользователь
начинает редактировать надпись.
Происходит при щелчке на столбце.
Происходит при активизации элемента.
Указывает на необходимость прекращения перерисовки обновлений таблицы до момента вызова метода EndUpdate . Метод полезен при одновременной вставке множества элементов, поскольку он предотвращает мерцание таблицы и увеличивает быстродействие.
Полностью очищает таблицу. Все элементы и столбцы удаляются.
Метод вызывают после вызова метода
BeginUpdate . При его вызове таблица
прорисовывает все свои элементы.
Указывает на необходимость прокрутки
изображения таблицы для отображения
элемента с указанным номером.
3. Программирование обработки табличных данных.
Составим программу, которая отображает:
- — список шрифтов, установленных в системе;
- — символы этих шрифтов в виде таблицы;
- — десятичные и шестнадцатеричные коды выбранного в таблице символа.
for (int row=0; row
for (int col=0; col
dataGridView1[col, row].Value = ((Char) (32+col+row*32)).ToString();
foreach (FontFamily ff in FontFamily.Families)
В результате после запуска программы
1. В списке listBox1 отображаются названия всех шрифтов, которыми можно пользоваться в графическом режиме работы Windows . Выделенным является шрифт, установленный в свойстве Font формы.
Список шрифтов получен с помощью статического свойства Families класса FontFamily . В результате выполнения цикла объект ff получает значение объекта класса FontFamily . Получение названий шрифтов в виде строковых величин производится с помощью свойства Name . Установка свойства IntegralHeight = False для listBox1 обеспечивает вывод элемента в нижней части списка, даже если элемент нельзя отобразить целиком.
2. В таблице отображаются символы текущего шрифта, начиная с символа пробела (код 32). Символы с меньшими значениями кода (управляющие символы) графически не отображаются.
Каждая строка таблицы содержит 32 символа. Число строк выбрано так, чтобы в таблицу попали все русские символы (коды символов от 1040 до 1103, а также коды 1025 и 1105 для букв Ё и ё). Символы с кодами от 1 до 127 совпадают с ANSCII кодировкой, символы с кодами от 128 до 2047 используются для представления европейских и среднеазиатских языков. Многие шрифты используют только часть кодового пространства.
Добавим обработчики событий:
для выбора шрифта из списка
для отображения кода символа в виде метки
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
Font ff = dataGridView1.Font;
dataGridView1.Font = new Font(listBox1.Text, ff.Size);
private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
string s = dataGridView1.CurrentCell.Value.ToString();
label1.Text = string.Format(«Код символа <0>-десят. <0:x>-шестнад.»,(int)s[0]);
При выделении некоторых шрифтов (например, Monotype Corsiva) в программе возникает ошибка времени выполнения из-за того, что эти шрифты не поддерживают регулярный стиль ( Regular ) отображения символов, который установлен по умолчанию.
Вопросы для самоподготовки
1. Назначение и свойства таблицы dataGridView .
2. Программирование занесения данных в ячейки таблицы.
3. Программирование извлечения данных из ячеек таблицы.
4. Программирование занесения данных в заголовки столбцов таблицы.
5. Программирование занесения данных в заголовки строк таблицы.
6. Типовые события, связанные с таблицей dataGridView .
7. Методы обработки событий таблицы dataGridView .
Разработать программу, обеспечивающую
- — оформление результатов расчета функции виде таблицыdataGridViewиз трех колонок (первая соответствует порядковому номеру, вторая – «Аргумент», третья – «Функция»). Количество строк определяется исходными данными;
- — сохранение исходных данных и результатов расчета в файле на магнитном диске с расширением имени файлапз94;
- — чтение данных из файла и их отображение;
- — очистку элементов для ввода исходных данных и таблицы (в таблице оставить названия столбцов и одну пустую строку);
- — очистку таблицы при изменении исходных данных.
Источник