简体   繁体   English

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

[英]ASP.NET to Excel export - reference file and open save as dialog?

I have this code: 我有以下代码:

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

This code grabs a file from a folder in my desktop and then edits it and saves it as a new file 'HI' in my Desktop. 此代码从我的桌面上的文件夹中抓取一个文件,然后对其进行编辑并将其另存为我的桌面中的新文件“ HI”。

Instead I would like to place this file in my project folder and then reference it and after that the user should get the option to where they want to save the new modified file. 相反,我想将此文件放置在我的项目文件夹中,然后引用它,然后用户应可以选择要保存新修改的文​​件的位置。

What do I need to modify in my code to achieve this? 为此,我需要在代码中进行哪些修改?

Thanks All. 谢谢大家

You should use HttpResponse.WriteFile method. 您应该使用HttpResponse.WriteFile方法。 Browser will automatically show dialog to user. 浏览器将自动向用户显示对话框。 To get path inside you project you could use HttpServerUtility.MapPath 要在项目内部获取路径,可以使用HttpServerUtility.MapPath

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM