【问题标题】:saving Textbox data to excel in vb.net将文本框数据保存到 vb.net 中的 excel
【发布时间】:2016-04-13 10:39:14
【问题描述】:

我在将用户输入的数据(文本框)保存到 Excel 文件方面需要帮助。 excel文件应自动在桌面上创建。我可以将一个文本框添加到 Excel,但不能添加多个。如果可能的话,您能否提供有关在单击 btnopen 时能够打开同一文件的代码,谢谢!

我现在保存按钮的代码。

Private Sub btnSave_Click(sender As Object, e As EventArgs) 处理 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

【问题讨论】:

    标签: vb.net excel textbox save


    【解决方案1】:

    我认为您需要使用受支持的创建 Excel 文件的库,而不是像以前那样使用 file.create。 您可以使用 Microsoft Excel 12.0 对象库并添加对 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

    【讨论】:

      【解决方案2】:

      首先通过添加 Microsoft Excel 12.0 对象库

      Project>Properties>References>Add>COM>Type Libraries>Microsoft Excel 12.0 Object Library

      添加releaseObject函数(在app中释放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)
      

      【讨论】:

      • 我在我的程序中将你的第二、第三和第四代码放在哪里?抱歉,我不太确定。打开excel文件后,我想在excel中做任何事情还是什么?谢谢! :)
      • 删除保存按钮上的所有内容并将其替换为第 2、第 3 和第 4 个。
      • 打开excel后决定是否保存。
      • 没关系,让它工作。单击保存时如何自动将其保存到桌面,而不是启动excel?你知道怎么做吗。顺便说一句,我非常感谢您的帮助
      • WbXL.SaveAs("你想要的路径")。写在第三部分之后。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-12
      • 1970-01-01
      • 2012-09-23
      • 2016-05-27
      • 2021-07-14
      相关资源
      最近更新 更多