2015-09-04 2 views
-1

Я могу скопировать внутренний текст элемента в текстовое поле, а затем я могу поместить его в свой лист excel, но все элементы попадают в одну ячейку «A1». Как получить элементы, перечисленные от A1 до A100 в excel. Примеры были бы большой помощью, спасибо.VB.net scrape и paste

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

Dim theElementCollection As HtmlElementCollection = WebBrowser1.Document.All 

For Each curElement As HtmlElement In theElementCollection 

If curElement.GetAttribute("classname") = "dtstart time" Then 
TextBox1.Text = TextBox1.Text & curElement.InnerText & Environment.NewLine 
End If 

........................................... .................................................. ....... ........................................... ........

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 

Dim oExcel As Object 
Dim oBook As Object 
Dim oSheet As Object 


oExcel = CreateObject("Excel.Application") 
oBook = oExcel.workbooks.add 
oSheet = oBook.worksheets(1) 

oSheet.range("A1").value = TextBox1.Text 


oBook.saveas("C:\Users\garymcmanus\Desktop\test.xls") 
oBook.close() 

ответ

1

Предполагая, что вы хотите сохранить его в виде двух отдельных кнопок мыши, вам нужно разделить содержимое TextBox от самых новых строк и перебрать их, вставляя каждую строку в другую ячейку. Таким образом, вместо:

oSheet.range("A1").value = TextBox1.Text 

Вы бы:

Dim counter as Int32 = 1 
For Each str as String In TextBox1.Text.Split(Environment.NewLine) 
    oSheet.range("A" & counter).value = str 
    counter += 1 
Next 

Альтернативой было бы объединить оба метода, и вместо конкатенации весь текст в TextBox1.Text с новой строкой, вы бы вместо того, чтобы вставить их в ячейки в вашей петле For Each curElement As HtmlElement In theElementCollection.