Форум программистов, компьютерный форум, киберфорум
Наши страницы
po4emy4ka
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Открытие документа Эксель в VB.NET

Запись от po4emy4ka размещена 02.02.2014 в 01:05
Обновил(-а) po4emy4ka 02.02.2014 в 01:13 (Добавил архив с исходниками)
Метки excel, vb.net

Для того, чтобы мы могли открыть какой-либо файл Экселя и работать с ним в VB.NET, нам необходимо сначала добавить ссылку на библиотеку.
Шаг 1
Нажмите на изображение для увеличения
Название: Excel_VBNET_1.jpg
Просмотров: 309
Размер:	37.4 Кб
ID:	2068
Шаг 2 (можно в поиске набрать excel, чтобы было удобней)
Нажмите на изображение для увеличения
Название: Excel_VBNET_2.jpg
Просмотров: 547
Размер:	48.4 Кб
ID:	2069
Добавить в наш проект подключение типов и переменные.
Шаг 3
Нажмите на изображение для увеличения
Название: Excel_VBNET_3.jpg
Просмотров: 471
Размер:	18.5 Кб
ID:	2070
Для того, что бы при закрытии нашей программы в памяти не оставалось приложение Excel, мы его будем закрывать перед закрытием самой формы.
Шаг 4
Нажмите на изображение для увеличения
Название: Excel_VBNET_4.jpg
Просмотров: 489
Размер:	37.2 Кб
ID:	2071

Итак, откроем наш первый файл test_vb.xls в нашем приложении:
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Imports Microsoft.Office.Interop.Excel  
Public Class Form1  
  
    Dim ExApp As New Application           'Приложение Excel  
    Dim ExWB As Workbook                   'Книга Excel  
    Dim ExWS As Worksheet                  'Лист книги Excel  
  
  
    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing  
        ExApp.DisplayAlerts = False  
        If ExWS IsNot Nothing Then ExWS = Nothing  
        If ExWB IsNot Nothing Then ExWB = Nothing  
        ExApp.Quit()  
    End Sub  
  
    Private Sub btn_OpenFile_Click(sender As Object, e As EventArgs) Handles btn_OpenFile.Click  
        Try  
            ExWB = ExApp.Workbooks.Open("d:\test_vb.xls")  
            MsgBox("Файл открыт успешно", MsgBoxStyle.OkOnly)  
        Catch ex As Exception  
            ErrMsgBox(ex)  
        End Try  
    End Sub  
  
    Private Sub btn_CloseFile_Click(sender As Object, e As EventArgs) Handles btn_CloseFile.Click  
        Try  
            If ExWB IsNot Nothing Then  
                ExWB.Close()  
                ExWB = Nothing  
                MsgBox("Файл закрыт успешно", MsgBoxStyle.OkOnly)  
            End If  
        Catch ex As Exception  
            ErrMsgBox(ex)  
        End Try  
    End Sub  
  
    Private Sub ErrMsgBox(ByRef ex As Exception)  
        If ex Is Nothing Then Exit Sub  
        MsgBox(ex.Source & vbCrLf & ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical)  
    End Sub  
  
End Class
Нажмите на изображение для увеличения
Название: Excel_VBNET_5.jpg
Просмотров: 514
Размер:	15.1 Кб
ID:	2072
Изначально приложение Excel будет находится в невидимом состоянии (скрытый процесс) и если нам ничего никому показывать не нужно, то это даже очень удобно. А вот если нам нужно видеть, что же происходит то лучше отобразить приложение Excel. Для этого добавим на форму еще одну кнопку и напишем для нее обработчик.
Нажмите на изображение для увеличения
Название: Excel_VBNET_6.jpg
Просмотров: 517
Размер:	16.8 Кб
ID:	2073

vb.net
1
2
3
4
5
6
7
8
9
10
'Скрываем или отображаем окно приложения Excel  
Private Sub btn_ShowHideExcel_Click(sender As Object, e As EventArgs) Handles btn_ShowHideExcel.Click  
    ExApp.Visible = Not ExApp.Visible  
    Select Case ExApp.Visible  
        Case True  
            btn_ShowHideExcel.Text = "Скрыть Excel"  
        Case False  
            btn_ShowHideExcel.Text = "Показать Excel"  
    End Select  
End Sub
ExApp.Visible = False - Скрытый режим
ExApp.Visible = True - Видимый режим
Excel_VBNET.rar
Размещено в Excel
Просмотров 1648 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.