Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный_практикум.doc
Скачиваний:
75
Добавлен:
15.11.2019
Размер:
45.35 Mб
Скачать

2. Создание приложения Windows Forms

Запускаем Visual Studio 2010, откроется Начальная страница:

Для начала, надо создать проект, для этого выполним последовательно: Файл -> Создать -> Проект… (также можно просто нажать сочетание клавиш Ctrl+Shift+N или пункт «Создать проект…» на Начальной странице):

Рис. 2. 1. Создание нового проекта

Выберем слева в пункте Установленные шаблоны язык Visual C#, далее найдём в списке Приложение Windows Forms. Также здесь можно выбрать какой использовать «фреймворк» (набора компонентов для написания программ). В нашем случае выберем .NET Framework 4.

Рис. 2. 2. Окно создания нового проекта

В поле Имя вводим LWP13Excel это название программы (выбрано по названию лабораторного практикума, номеру и названию работы). В поле Расположение указана конечная директория, где будет находиться весь проект. Выберем расположение удобное для быстрого поиска. В поле Имя решения вводится либо название программы «по умолчанию» из поля Имя автоматически, либо можно ввести своё собственное. Под этим именем будет создана конечная папка проекта (если Имя и Имя решения разные).

Рис. 2. 3. Вводим данные нового проекта приложения Windows Forms

После нажатия клавиши ОК мы увидим сформированный проект и исходный код приложения Windows Forms (не пустого изначально).

Рис. 2. 4. Обозреватель решений: состав проекта приложения Windows Forms сформированного средой разработки

Теперь, можно откомпилировать созданную программу, нажав клавишу F5 (Отладка -> Начать отладку или нажав на иконку . Тем самым мы запускаем приложение в режиме отладки (и производим компиляцию debug-версии программы) (Debug выбрано изначально).

Рис. 2. 5. Запуск приложения Windows Forms по конфигурации Debug

3. Модификация приложения Windows Forms: создание и заполнение нового документа Microsoft Excel

Что представляет из себя полная автоматизация документа? Заполнение документа и всех важных полей, например фамилий, дат и названий. Разумеется, для редактирования правописания или более глубокого изменения документа надо использовать сам Word. Автоматизация части документа подходит в основном для рутинного заполнения однотипных документов, будь то всякие бланки или ведомости... Применений можно найти массу.

Первое, что может сделать стороннее приложение, это создать полностью готовый документ получая данные, непосредственно из приложения, а следовательно и из базы данных или с удалённого сервера. Рассмотрим такой случай.

Для начала изменим размер нашей единственной формы. Для этого можно потянуть за уголок в нужном направлении на странице визуального представления формы1. Но также размер можно менять на панели свойств этой формы. Для этого нужно поменять значение размера в пикселях (высоту и ширину) в поле Size.

ПРИМЕЧАНИЕ № 1: Для перехода на визуальное представление формы, необходимо двойным нажатием в обозревателе решений нажать на значок формы ( ) или выбрать вкладку на панели вкладок с именем <имя формы>.cs [Конструктор].

Задаём следующие параметры формы на панели Свойства:

(Name)

изменим с Form1.cs2 на LWP13Main

^ Поменяем внутреннее имя формы.

Text

изменим с Form1 на Автоматизация Microsoft Office Excel (C#)

^ Поменяем заголовок формы (то, что отображается в шапке приложения слева).

Icon

изменим изображение (иконку) приложения

^ Необходим файл значка *.ico.

Size

изменим со значений 300; 300 на 500; 400

^ Поменяем размер формы.

ПРИМЕЧАНИЕ № 2: Для того, чтобы поменять имя файла нашей формы, необходимо выполнить следующее: выделить в обозревателе решений значок формы ( ) и нажать правую кнопку мыши, затем выбрать Переименовать. Ввести необходимое новое имя, СОХРАНЯЯ расширение *.cs. После смены имени, автоматически поменяются имена проассоциированных непосредственно с формой файлов:

Также, поместим первую группу элементов для работы с автоматическим созданием нового документа. Получим нечто подобное:

Рис. 3. 1. Модифицированная форма приложения и расстановка первой группы элементов

Здесь у нас две кнопки Button, один GroupBox, три TextBox, два NumericUpDown и ToolTip.

По порядку распишем Свойства каждого элемента:

ToolTip:

(Name):

Hint

Button:

(Name):

B_Open

Text:

Открыть Excel, создать документ

Size:

312; 23

Button:

(Name):

B_Insert

Text:

Вставить данные

Size:

130; 23

TextBox:

(Name):

textBox1

TextBox:

(Name):

textBox2

TextBox:

(Name):

textBox3

GroupBox:

(Name):

GB_Insert

Text:

Вставка данных в Excel

NumericUpDown:

(Name):

NUD_1

Minimum:

1

ToolTip на Hint:

Строка

NumericUpDown:

(Name):

NUD_2

Minimum:

1

ToolTip на Hint:

Столбец

Также, нам необходимо добавить связь приложения и библиотеку компонентов и объектов самого Excel. Для этого выполним следующее: Проект -> Добавить ссылку. В открывшемся окне выбираем COM, далее ищем Microsoft Excel 14.0 Object Library (для Excel 2010) и Microsoft Excel 12.0 Object Library (для Excel 2007):

Рис. 3. 2. Добавить ссылку: добавление библиотеки компонентов от Excel 2010

В случае наличия на «машине» только Excel 2007, при сборке приложения необходимо добавить библиотеку «12-ой» версии. Если же установлено две версии (2007 и 2010), то необходимо добавлять библиотеку той версии, что является активной в данный момент (при запуске не производит действий по перенастройке пакета установки).

Теперь отправляемся в код формы (правая кнопка мыши на значке формы, далее Перейти к коду или нажмём на клавишу F7).

В начало файла LWP13Main.cs добавим:

using Excel = Microsoft.Office.Interop.Excel;

Найдём:

public partial class LWP13Main : Form

{

Добавим после:

Excel.Application ObjExcel1;

Excel.Workbook ObjWorkBook1;

Excel.Worksheet ObjWorkSheet1;

Изменим следующую функцию LWP13Main():

public LWP13Main()

{

InitializeComponent();

B_Insert.Enabled = false;

}

Событие Click кнопки B_Open («Открыть Excel, создать документ»):

private void B_Open_Click(object sender, EventArgs e)

{

// Запускаем Excel

ObjExcel1 = new Excel.Application();

// Создаём книгу

ObjWorkBook1 = ObjExcel1.Workbooks.Add();

// Создаём лист

ObjWorkSheet1 = (Excel.Worksheet)ObjWorkBook1.Sheets[1];

// Делаем Excel видимым

ObjExcel1.Visible = true;

ObjExcel1.UserControl = true;

}

Событие Click кнопки B_Insert («Вставить данные»):

private void B_Insert_Click(object sender, EventArgs e)

{

// Значения Cells[y - строка, x - столбец]

ObjWorkSheet1.Cells[NUD_1.Value, NUD_2.Value] = textBox1.Text;

ObjWorkSheet1.Cells[NUD_1.Value, NUD_2.Value + 1] = textBox2.Text;

ObjWorkSheet1.Cells[NUD_1.Value, NUD_2.Value + 2] = textBox3.Text;

}

Компилируем приложение (Debug) и запускаем. Нажимаем на «Открыть Excel, ...», должно открыться окно Excel (текущей версии, в данном случае Excel 2010) с чистым документом. Активируется кнопка Вставить данные. Заполняем три пустых текстовых поля, а также «крутим» счётчики строки и столбца. Жмём. Видим следующее:

Рис. 3. 3. Окончательная работа первого блока: заполнение листа документа Excel (в Excel 2010)