ASP.NET到Excel导出 - 参考文件并打开另存为对话框?

时间:2013-06-19 13:58:15

标签: asp.net vb.net excel export-to-excel

我有这段代码:

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click        
    ' Here we go. All the data in the form to an Excel sheet. Cross your fingers...
    Dim oExcel As Object
    Dim oBook As Object
    Dim oSheet As Object

    'Start a new workbook in Excel- this isn't really what I need though, I need it to open a template and populate it.
    oExcel = CreateObject("Excel.Application")
    oBook = oExcel.Workbooks.Open("C:\Users\jagtars\Desktop\HI Resources\HI.xlsx")


    'Add data to cells of the first worksheet in the new workbook
    oSheet = oBook.Worksheets(1)
    oSheet.Range("H5").Value = CustomerName.Text
    oSheet.Range("K5").Value = dropdown_serverVirtualisation.Value
    oSheet.Range("L5").Value = dropdown_desktopVirtualisation.Value
    oSheet.Range("M5").Value = dropdown_oracle.Value
    oSheet.Range("N5").Value = dropdown_sqlServer.Value
    'etc....


    'Save the Workbook and Quit Excel
    oBook.SaveAs("C:\Users\jagtars\Desktop\HI.xlsx")
    MessageBox.Text = "Exported!"
    MessageBox.Focus()
    oExcel.Quit()
End Sub

此代码从我桌面上的文件夹中抓取文件,然后对其进行编辑并将其保存为我的桌面中的新文件“HI”。

相反,我想将此文件放在我的项目文件夹中然后引用它,之后用户应该选择要保存新修改文件的位置。

我需要在代码中修改哪些内容才能实现此目的?

全部谢谢。

1 个答案:

答案 0 :(得分:0)

您应该使用HttpResponse.WriteFile方法。浏览器将自动向用户显示对话框。要在项目中获取路径,您可以使用HttpServerUtility.MapPath