Запись данных в Excel в первую свободную ячейку - Visual Basic .NET
Формулировка задачи:
Прошу помощи!!!
Я новичек, поэтому сильно не ругайте и не переводите тему типа "вон там посмотри". Хотелось бы увидеть конкретный код.
Задача: есть два поля textbox1 и textbox2, кнопка button1 "Записать". Необходимо при нажатии кнопки выполнить запись из textbox1 и textbox2 в таблицу excel (например файл 1.xlsx). Причем textbox1 в столбец "В", а textbox2 в столбец "С", но в свободную строку (не заполненную), например 1, 2, 3 строки заполнены, а 4 пустая - так вот в нее!
Надеюсь понятно изложил.
Пожалуйста!
Решение задачи: «Запись данных в Excel в первую свободную ячейку»
textual
Листинг программы
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- 'кнопка Найти
- Dim xlApp As New Excel.Application 'приложение Excel
- Dim xlWB As Excel.Workbook = Nothing 'книга
- Dim xlSht As Excel.Worksheet = Nothing 'лист
- Dim iFillFileName As String = String.Empty
- Dim Rng As Excel.Range 'найденная ячейка
- Const xlFormulas = -4123 'искать только в формулах
- Const xlwhole = 1 'искать "Ячейка целиком"
- Const xlPart = 2 'искать "часть ячейки"
- Dim TextToFind As String = String.Empty
- If Me.TextBox3.Text = "" Then
- MessageBox.Show("Вы не указали текст для поиска!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Exit Sub
- End If
- TextToFind = Me.TextBox3.Text
- iFillFileName = "G:\VB.NET TEST\Book1.xlsx" 'путь к нашему Excel файлу
- If xlWB Is Nothing Then
- Try
- xlWB = xlApp.Workbooks.Open(iFillFileName)
- Catch ex As Exception
- MessageBox.Show("Не удалось открыть файл " & iFillFileName, "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Exit Sub
- End Try
- Try
- xlSht = xlWB.Worksheets("Лист1") 'укажите имя листа
- Catch ex As Exception
- MessageBox.Show("Не удалось найти указанный лист в файле " & iFillFileName, "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information)
- xlWB.Close(SaveChanges:=True) 'сохраняем файл и закрываем его
- xlApp.Quit() 'закрываем Excel
- Exit Sub
- End Try
- End If
- With xlSht
- Rng = .Columns("B").find(TextToFind, , xlFormulas, xlwhole)
- If Rng Is Nothing Then
- MessageBox.Show("В столбце В не удалось найти текст: " & TextToFind, "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Exit Sub
- End If
- Form2.TextBox1.Text = .Cells(Rng.Row, "A").value
- Form2.TextBox2.Text = .Cells(Rng.Row, "B").value
- Form2.TextBox3.Text = .Cells(Rng.Row, "C").value
- Form2.TextBox4.Text = .Cells(Rng.Row, "D").value
- Form2.TextBox5.Text = .Cells(Rng.Row, "E").value
- Form2.Show()
- End With
- xlWB.Close(SaveChanges:=True) 'сохраняем файл и закрываем его
- xlApp.Quit() 'закрываем Excel
- 'Закрытие Excel, чтобы он не весел в диспетчере задач
- Try
- System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
- xlApp = Nothing
- Catch ex As Exception
- MsgBox(ex.Message)
- Finally
- GC.Collect()
- End Try
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д