Программирование
Веб программирование

VB.NET работа с Excel

 
 

Вобщем хочу поделиться, как работать с Excel в vb.net, так как информация в интернете с разными недочётами и некоторые моменты  опускаются.

Для начала создаем новый проект (надеюсь это все умеют делать). Далее нам нужно добавить ссылку на библиотеку. Для этого мы нажимаем "Проект -> Добавить ссылку -> COM -> Microsoft Excel XX Object Library ", где XX - версия

Кидаем на форму текстовое поле и 2 кнопки. Первую назовём "Записать", вторую "Читать". Далее пишем код.

Imports Microsoft.Office.Interop.Excel 'Библиотека Excel

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click ' Здесь мы будем записывать в Excel

Dim _Excel As New Application 'Приложение Excel
Dim Книга As Workbook = _Excel.Workbooks.Open("d:test.xlsx") 'Открываем книгу
Dim Лист As Worksheet = CType(Книга.Worksheets(1), Microsoft.Office.Interop.Excel.Worksheet) 'Первый лист книги

Try
Лист.Range("B5").Value = TextBox1.Text 'запись в ячейку
_Excel.Workbooks(1).Close(True) ' сохранение и закрытие
_Excel.Quit() ' Выход
Catch ex As Exception ' обработка ошибок
MsgBox(ex.ToString, MsgBoxStyle.Critical, "В программе произошла ошибка") ' описание ошибки
_Excel.Workbooks(1).Close(False) ' в случаи ошибки экземпляр Excel повиснит в памяти, а так мы закроем процесс не сохраняя
_Excel.Quit()
End Try

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim _Excel As New Application 'Приложение Excel
Dim Книга As Workbook = _Excel.Workbooks.Open("d:test.xlsx") 'Открываем книгу
Dim Лист As Worksheet = CType(Книга.Worksheets(1), Microsoft.Office.Interop.Excel.Worksheet) 'Первый лист книги
TextBox1.Text = Лист.Range("B5").Value ' читаем
End Sub
End Class

В некоторых случаях бывает нужно работать не с буквами в названиях столбцов, а с цифрами. Для этого мы меняем стиль ссылок R1C1 (Заходим в Excel -> Файл -> Параметры Excel -> Формулы -> Стиль ссылок R1C1 ставим галочку)

или используем 

Лист.Cells(10, 5).Value = "Привет" ' такой код значит, что по адресу E10 будет записано "Привет"

Остальные команды и формулы можно посмотреть при записи макроса в Excel 


Есть вопросы? Спроси на нашем форуме!!
Coolhacker770 [05.07.2013 12:51]

Интересно вот, по какой такой причине вы абсолютно наклали на правильность стиля и стали называть переменные русскими буквами?

admin1310 [09.07.2013 20:07]

В экселе так и нужно ))



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.