Как сохранить файл excel в папке приложения?
привет,
Я трачу много времени на эту проблему, Можете ли вы ее решить?
Проблема в том, что я не могу сохранить файл в папке приложения.
ладно.
дайте знать, что я здесь делаю, я получаю таблицу данных из базы данных и конвертирую ее в файл excel. и этот файл excel я хочу сохранить в папке приложения.
ниже приведен мой код...
public void exportToExcel(string userAutoId) { DataTable dt = new DataTable(); SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString); con.Open(); SqlDataAdapter da = new SqlDataAdapter("getContacts", con); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@userAutoId", userAutoId); //cmd.Parameters.Add("@retValue", System.Data.SqlDbType.VarChar).Direction = System.Data.ParameterDirection.ReturnValue; da.Fill(dt); //Create a dummy GridView GridView GridView1 = new GridView(); GridView1.AllowPaging = false; GridView1.DataSource = dt; GridView1.DataBind(); Response.Clear(); Response.Buffer = true; Response.AddHeader("content-disposition","attachment;filename=Contact_Details.xls"); Response.Charset = ""; Response.ContentType = "application/vnd.ms-excel"; StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); for (int i = 0; i < GridView1.Rows.Count; i++) { //Apply text style to each Row GridView1.Rows[i].Attributes.Add("class", "textmode"); } GridView1.RenderControl(hw); //style to format numbers to string string style = @"<style> .textmode { mso-number-format:\@; } </style>"; //Response.Write("{\"success\":true,\"isSuccess\":true,\"fileName\":\"\"}"); Response.Write(style); Response.Output.Write(sw.ToString()); //Here I want to code for save file in application folder Response.Flush(); Response.End(); }
Что я уже пробовал:
Я пытаюсь сохранить файл excel в папке приложения.
[no name]
Трудно поверить, что вы загуглили свой "вопрос". В интернете должны быть тысячи примеров, демонстрирующих, как сохранять файлы на вашем сервере.
ZurdoDev
Это даст пользователю запрос на загрузку в браузере. Вы не можете сохранить их в определенной папке.
ZurdoDev
Вы хотите сохранить файл в папке сервера? Это просто.
Vikas Hire
да, я нашел решение этой проблемы. Просто двухстрочный код я вставляю в свой существующий код.
первая строка для получения пути к папке сервера, в которой я хочу сохранить свой файл..
вторая строка кода создает имя файла..
и третья строка кода сохраняет файл в папке.
string strPath = HostingEnvironment.ApplicationPhysicalPath + @ " TempFiles/";
строковое имя файла = Uid + "ContactList.xls";
Файл.WriteAllText(strPath + fileName, sw. ToString());