0

複数のテキストをExcelに挿入したいので、テキストボックスにテキストを保存してループを使用してファイルをExcelに保存するプログラムを作成したいと思います。コードを見つけましたが、セル内のデータのみを上書きします。プログラムで最後の行を見つけて、次の行に新しいデータを挿入したいと思います。私はここで立ち往生しています、誰かがvb.netでそれを行う方法を私に助けてください。これが私のコードです:

    Excel = CreateObject("Excel.Application")
    Excel.screenupdating = True
    Excel.Visible = True

    'fieldnames
    Dim xlWorkSheet As Object = Excel.workbooks.add
    Excel.workbooks(1).worksheets(1).cells(1, 1).value = "TITLE"
    Excel.workbooks(1).worksheets(1).cells(1, 2).value = "AUTHOR"
    Excel.workbooks(1).worksheets(1).cells(1, 3).value = "EDITION"
    Excel.workbooks(1).worksheets(1).cells(1, 4).value = "PUBLISHER"
    Excel.workbooks(1).worksheets(1).cells(1, 5).value = "ISBN"

    'i want to loop here the data in textboxes
    Excel.workbooks(1).worksheets(1).cells(2, 1).value = txtTitle.Text
    Excel.workbooks(1).worksheets(1).cells(2, 2).value = txtAuthor.Text
    Excel.workbooks(1).worksheets(1).cells(2, 3).value = txtEdition.Text
    Excel.workbooks(1).worksheets(1).cells(2, 4).value = txtPublisher.Text
    Excel.workbooks(1).worksheets(1).cells(2, 5).value = txtISBN.Text

    xlWorkSheet.SaveAs(FileName)

    Excel.quit()
    Excel = Nothing
4

1 に答える 1

0

rowindexとaplha列の値を動的に設定する必要があります。だからこのようなもの

dim currRow as integer = 0
Excel = CreateObject("Excel.Application")
Excel.screenupdating = True
Excel.Visible = True

'fieldnames
Dim xlWorkSheet As Object = Excel.workbooks.add
Excel.workbooks(1).worksheets(1).cells((currRow+1), 1).value = "TITLE"
Excel.workbooks(1).worksheets(1).cells((currRow+1), 2).value = "AUTHOR"
Excel.workbooks(1).worksheets(1).cells((currRow+1), 3).value = "EDITION"
Excel.workbooks(1).worksheets(1).cells((currRow+1), 4).value = "PUBLISHER"
Excel.workbooks(1).worksheets(1).cells((currRow+1), 5).value = "ISBN"

currRow + = 1

for i as integer = currRow to 5

'i want to loop here the data in textboxes
Excel.workbooks(1).worksheets(1).cells((currRow + i), 1).value = txtTitle.Text
Excel.workbooks(1).worksheets(1).cells((currRow + i), 2).value = txtAuthor.Text
Excel.workbooks(1).worksheets(1).cells((currRow + i), 3).value = txtEdition.Text
Excel.workbooks(1).worksheets(1).cells((currRow + i), 4).value = txtPublisher.Text
Excel.workbooks(1).worksheets(1).cells((currRow + i), 5).value = txtISBN.Text

currRow + = 1

xlWorkSheet.SaveAs(FileName)

Excel.quit()
Excel = Nothing

これが機能するかどうかはわかりませんが、これはあなたが始めるための何かです。

于 2013-03-08T16:56:14.440 に答える