[英]saving Textbox data to excel in vb.net
我需要将用户输入的数据(文本框)保存到excel文件的帮助。 excel文件应在桌面上自动创建。 我可以向excel添加一个文本框,但不能多个。 如果可以的话,您可以给出单击btnopen时可以打开同一文件的代码,谢谢!
我的代码现在保存按钮。
私有Sub btnSave_Click(发送者为对象,e作为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
我认为您需要使用受支持的创建Excel文件的库,而不是像过去那样对file.create进行处理。 您可以使用Microsoft Excel 12.0对象库,并将引用添加到使用Excel实例的bin文件夹或其他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
首先通过添加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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.