none
vs2010 Import to Excel RRS feed

  • Вопрос

  • Здравствуйте!

    Я экспортирую в Excel по стандартной процедуре, как attachment:

    FileInfo FI = new FileInfo(Path);
    StringWriter stringWriter = new StringWriter();
    HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWriter);
    DataGrid DataGrd = new DataGrid();
    DataGrd.DataSource = dt1;
    DataGrd.DataBind();
    
    DataGrd.RenderControl(htmlWrite);
    string directory = Path.Substring(0, Path.LastIndexOf("\\"));// GetDirectory(Path);
    if (!Directory.Exists(directory))
    {
        Directory.CreateDirectory(directory);
    }
    
    System.IO.StreamWriter vw = new System.IO.StreamWriter(Path, true);
    stringWriter.ToString().Normalize();
    vw.Write(stringWriter.ToString());
    vw.Flush();
    vw.Close();
    WriteAttachment(FI.Name, "application/vnd.ms-excel", stringWriter.ToString());
    
    public static void WriteAttachment(string FileName, string FileType, string content)
    {
        HttpResponse Response = System.Web.HttpContext.Current.Response;
        Response.ClearHeaders();
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
        Response.ContentType = FileType;
        Response.Write(content);
        Response.End();
    }
    Как я понимаю, строка
     Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
    отвечает за диалог сохранения файла FileName. Но возможно ли сохранить этот файл в нужном месте (по умолчанию) без диалога , без участия пользователя? И 2-е - если этот файл уже существует, можно ли его перезаписать без вопроса?


    19 октября 2013 г. 10:59

Ответы

  • Я снимаю эти вопросы. Я разобрался - мне нужно сохранить файл на стороне сервера, пользователь здесь не нужен.

    А второе - я просто удаляю этот файл перед записью (он образуется снова), и вопроса не возникает

    • Помечено в качестве ответа YatajgaEditor 21 октября 2013 г. 9:16
    21 октября 2013 г. 8:48

Все ответы

  • "Но возможно ли сохранить этот файл в нужном месте (по умолчанию) без диалога , без участия пользователя? И 2-е - если этот файл уже существует, можно ли его перезаписать без вопроса?" - не совсем понятен вопрос. Речь идёт о диалоговом окне браузера? Попробуйте описать более точно.

    Сделаем содержимое сообщества лучше, вместе!

    20 октября 2013 г. 11:42
    Модератор
  • Я снимаю эти вопросы. Я разобрался - мне нужно сохранить файл на стороне сервера, пользователь здесь не нужен.

    А второе - я просто удаляю этот файл перед записью (он образуется снова), и вопроса не возникает

    • Помечено в качестве ответа YatajgaEditor 21 октября 2013 г. 9:16
    21 октября 2013 г. 8:48