How to prompt user to save an automated Excel file

╄→尐↘猪︶ㄣ 提交于 2019-12-06 02:22:11

If you have the file stored somewhere after you save it you can use Response.

Here's an example:

  const string fName = @"C:\Test.xls";
  FileInfo fi = new FileInfo(fName);
  long sz = fi.Length;

  Response.ClearContent();
  Response.ContentType = Path.GetExtension(fName);
  Response.AddHeader("Content-Disposition", string.Format("attachment; filename = {0}",System.IO.Path.GetFileName(fName)));
  Response.AddHeader("Content-Length", sz.ToString("F0"));
  Response.TransmitFile(fName);
  Response.End();

This should prompt the user where they want to store the file on their machine.

VBAQueen

This is the easy way. :-)

myFilename = xlapp.GetSaveAsFilename
xlWorkbook.SaveAs filename:=myFilename

This is what I did, it seems crazy, but worked.

xlWorkBook.SaveAs(saveExcel(), Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);//import method

internal object saveExcel()//method

    {

        SaveFileDialog sfd = new SaveFileDialog();// Create save the CSV
        sfd.Filter = "Text File|*.xls";// filters for text files only
        sfd.DefaultExt = "xls";
        sfd.AddExtension = true;
        sfd.FileName = "AutodeskScripts.xls";
        sfd.Title = "Save Excel File";
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            return sfd.FileName;
        }
        else
        {
            return null;
        }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!