2016-04-13 2 views
0

ユーザーが入力したデータ(テキストボックス)をExcelファイルに保存する際に助けが必要です。 Excelファイルはデスクトップ上に自動的に作成する必要があります。私は1つのテキストボックスをExcelに追加できますが、複数にはできません。可能であれば、btnopenがクリックされたときに同じファイルを開くことができるようにするコードを与えることができます。ありがとうございます!vb.netでテキストボックスデータを保存する

私のコードは今すぐ保存ボタンです。

プライベートサブbtnSave_Click(オブジェクト、EventArgsのようEと、送信者が)btnSave.Click

SaveFileDialog.Filter = "CSV Files (*.csv*)|*.csv" 
    If SaveFileDialog.ShowDialog = Windows.Forms.DialogResult.OK _ 
    Then 
     My.Computer.FileSystem.WriteAllText _ 
     (SaveFileDialog.FileName, txtBMI.Text, True) 
    End If 


    table.Rows.Add(DateTimePicker1.Text, txtBMI.Text, txtHeight.Text, txtWeight.Text) 
    DataGridView1.DataSource = table 

End Sub 
  1. http://i.stack.imgur.com/H73M8.jpg
  2. http://i.stack.imgur.com/Rjtjw.jpg

答えて

0

を処理し、私はあなたがのサポートライブラリを使用する必要があると思いますExcelファイルを作成し、あなたがしたようにfile.createでそれをしないでください。 Microsoft Excel 12.0 Object Libraryを使用して、binフォルダまたはExcelインスタンスで作業する他のDLLへの参照を追加できます。

Dim xlApp As Excel.Application = New 
Microsoft.Office.Interop.Excel.Application() 

あなたがここでそれを見ることができます - http://vb.net-informations.com/excel-2007/vb.net_excel_2007_create_file.htm

0

プロジェクトを介して第一のMicrosoft Excel 12.0オブジェクトライブラリを追加]> [プロパティ]> [参照]> [追加]> [COM>ライブラリ>のMicrosoft Excel 12.0オブジェクトライブラリを入力

releaseObject機能(アプリでExcelファイルを解放するために)追加:

Private Sub releaseObject(ByVal obj As Object) 
    Try 
     System.Runtime.InteropServices.Marshal.ReleaseComObject(obj) 
     obj = Nothing 
    Catch ex As Exception 
     obj = Nothing 
    Finally 
     GC.Collect() 
    End Try 
End Sub 
をそれはExcelファイルを制御するために簡単だように、必要な変数を宣言し、追加した後

Dim appXL As Excel.Application 
    Dim wbXl As Excel.Workbook 
    Dim shXL As Excel.Worksheet 
    Dim raXL As Excel.Range 
    ' Start Excel and get Application object. 
    appXL = CreateObject("Excel.Application") 
    ' Add a new workbook. 
    wbXl = appXL.Workbooks.Add 
    shXL = wbXl.ActiveSheet 
    shXL.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape 
    shXL.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperA3 
    appXL.Visible = False 

太字のテキストとヘッダを追加します。

With shXL.Range("A1", "D1") 
       .Font.Bold = True 
    End With 

    shXL.Cells(1,1) = "Date" 
    shXL.Cells(1,2) = "Height" 
    shXL.Cells(1,3) = "Weight" 
    shXL.Cells(1,4) = "BMI" 
    shXL.Cells(2,1) = DateTimePicker1.Text 
    shXL.Cells(2,2) = txtHeight.Text 
    shXL.Cells(2,3) = txtWeight.Text 
    shXL.Cells(2,4) = txtBMI.Text 

次に、Excelファイルを開きます。

appXL.Visible = True 
    appXL.UserControl = True 
    shXL.SaveAs("C:\Book1.xml") 
    raXL = Nothing 
    shXL = Nothing 
    wbXl = Nothing 
    appXL = Nothing 
    releaseObject(shXL) 
    releaseObject(wbXl) 
    releaseObject(appXL) 
+0

私のプログラムに2番目、3番目および4番目のコードはどこに配置しますか?申し訳ありませんが、私はあまりよく分かりません。私がファイルを開いた後、何かをExcelで実行すると思いますか? ありがとう! :) – Rushi

+0

保存ボタンのすべてを削除して、2番目、3番目、4番目に置き換えます。 – Kreyah

+0

Excelを開いたら、保存するかどうかを決定します。 – Kreyah

関連する問題