Запись данных в Excel в первую свободную ячейку - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Прошу помощи!!! Я новичек, поэтому сильно не ругайте и не переводите тему типа "вон там посмотри". Хотелось бы увидеть конкретный код. Задача: есть два поля textbox1 и textbox2, кнопка button1 "Записать". Необходимо при нажатии кнопки выполнить запись из textbox1 и textbox2 в таблицу excel (например файл 1.xlsx). Причем textbox1 в столбец "В", а textbox2 в столбец "С", но в свободную строку (не заполненную), например 1, 2, 3 строки заполнены, а 4 пустая - так вот в нее! Надеюсь понятно изложил. Пожалуйста!

Решение задачи: «Запись данных в Excel в первую свободную ячейку»

textual
Листинг программы
  1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  2.         'кнопка Найти
  3.         Dim xlApp As New Excel.Application 'приложение Excel
  4.         Dim xlWB As Excel.Workbook = Nothing 'книга
  5.         Dim xlSht As Excel.Worksheet = Nothing  'лист
  6.         Dim iFillFileName As String = String.Empty
  7.         Dim Rng As Excel.Range 'найденная ячейка
  8.         Const xlFormulas = -4123 'искать только в формулах
  9.         Const xlwhole = 1 'искать "Ячейка целиком"
  10.         Const xlPart = 2 'искать "часть ячейки"
  11.         Dim TextToFind As String = String.Empty
  12.  
  13.         If Me.TextBox3.Text = "" Then
  14.             MessageBox.Show("Вы не указали текст для поиска!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information)
  15.             Exit Sub
  16.         End If
  17.  
  18.         TextToFind = Me.TextBox3.Text
  19.  
  20.         iFillFileName = "G:\VB.NET TEST\Book1.xlsx" 'путь к нашему Excel файлу
  21.  
  22.         If xlWB Is Nothing Then
  23.             Try
  24.                 xlWB = xlApp.Workbooks.Open(iFillFileName)
  25.             Catch ex As Exception
  26.                 MessageBox.Show("Не удалось открыть файл " & iFillFileName, "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information)
  27.                 Exit Sub
  28.             End Try
  29.  
  30.             Try
  31.                 xlSht = xlWB.Worksheets("Лист1") 'укажите имя листа
  32.             Catch ex As Exception
  33.                 MessageBox.Show("Не удалось найти указанный лист в файле " & iFillFileName, "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information)
  34.                 xlWB.Close(SaveChanges:=True) 'сохраняем файл и закрываем его
  35.                 xlApp.Quit() 'закрываем Excel
  36.                 Exit Sub
  37.             End Try
  38.         End If
  39.  
  40.         With xlSht
  41.             Rng = .Columns("B").find(TextToFind, , xlFormulas, xlwhole)
  42.             If Rng Is Nothing Then
  43.                 MessageBox.Show("В столбце В не удалось найти текст: " & TextToFind, "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information)
  44.                 Exit Sub
  45.             End If
  46.  
  47.             Form2.TextBox1.Text = .Cells(Rng.Row, "A").value
  48.             Form2.TextBox2.Text = .Cells(Rng.Row, "B").value
  49.             Form2.TextBox3.Text = .Cells(Rng.Row, "C").value
  50.             Form2.TextBox4.Text = .Cells(Rng.Row, "D").value
  51.             Form2.TextBox5.Text = .Cells(Rng.Row, "E").value
  52.             Form2.Show()
  53.         End With
  54.  
  55.         xlWB.Close(SaveChanges:=True) 'сохраняем файл и закрываем его
  56.         xlApp.Quit() 'закрываем Excel
  57.  
  58.         'Закрытие Excel, чтобы он не весел в диспетчере задач
  59.         Try
  60.             System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
  61.             xlApp = Nothing
  62.         Catch ex As Exception
  63.             MsgBox(ex.Message)
  64.         Finally
  65.             GC.Collect()
  66.         End Try
  67.     End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы