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



 

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

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

 

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

 

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

 

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

 

( Name ) изменим с Form 1. cs 2 на LWP 13 Main

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

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

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

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

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

Size изменим со значений 300; 300 на 5 00; 4 00

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

 

ПРИМЕЧАНИЕ № 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), то необходимо добавлять библиотеку той версии, что является активной в данный момент (при запуске не производит действий по перенастройке пакета установки).

 

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

 

 

В начало файла LWP 13 Main . 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)

 


Дата добавления: 2019-09-13; просмотров: 177; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!