use*_*946 4 vb.net excel visual-studio
在 VS 2012 上,我创建了一个 VB.NET 计算应用程序(基于变量输入的输出),我需要将这些输入和输出数据保存到 Excel 表中的某些单元格中,这是我使用的代码示例:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim xls As Microsoft.Office.Interop.Excel.Application
Dim xlsWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlsWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
xls = New Microsoft.Office.Interop.Excel.Application
xlsWorkBook = xls.Workbooks.Open("D:\bookl.xlsx")
xlsWorkSheet = xlsWorkBook.Sheets("sheet1")
xlsWorkSheet.Cells(1, 1) = TextBox1.Text
xlsWorkBook.Close()
xls.Quit()
End Sub
Run Code Online (Sandbox Code Playgroud)
我的问题是,每次我单击保存按钮时,它都会将数据保存到 Excel 工作表文件中,我必须事先指定其路径。
我想要做的是,如果有任何方法可以从 VB 加载它自己然后选择保存它的位置(因为我将在很多机器上使用它,所以我不想将 excel 文件放在同一个每次我在任何其他机器上使用该应用程序时的路径)
从 My.Resources 位置打开 Excel 文件
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim xlsWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlsWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
Dim xls As New Microsoft.Office.Interop.Excel.Application
Dim resourcesFolder = IO.Path.GetFullPath(Application.StartupPath & "\..\..\Resources\")
Dim fileName = "book1.xlsx"
xlsWorkBook = xls.Workbooks.Open(resourcesFolder & fileName)
xlsWorkSheet = xlsWorkBook.Sheets("Sheet1")
xlsWorkSheet.Cells(1, 1) = TextBox1.Text
xlsWorkBook.Close()
xls.Quit()
MsgBox("file saved to " & resourcesFolder)
End Sub
Run Code Online (Sandbox Code Playgroud)
必须将资源模板 xlsx 文件复制到输出目录,因此编辑其属性并选择(实际上我不太确定您需要这个...)
Build Action = Content
Copy To Output Directory = Copy Always
Run Code Online (Sandbox Code Playgroud)
PS 这只是与您当前代码一起使用的示例,但如果您想创建/保存/修改 excel 文件,我强烈建议使用EPPlus 库。
归档时间: |
|
查看次数: |
36284 次 |
最近记录: |