Модификация приложения 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!