У меня есть ситуация, когда мне нужно сгенерировать отчет MS Word, экспортировав Repeater в Word Document. Я делаю это, но мое требование - сохранить файл MS Word на сервере или в базе данных. Как сохранить этот файл на сервере / в базе данных после генерации документа Word?
Требуется, чтобы файл Word создавался и сохранялся либо на сервере, либо в базе данных, а также созданный или сохраненный файл должен быть файлом только для чтения. Как я могу это сделать?
Вот код, который я использую для создания файла Word ..
protected void DisplayRepeater()
{
if (ddlDivRAHQ.SelectedValue == "DIV")
{
Repeater_PrintFinalReport.DataSource = new ReportItems().Get_Rpt_Items_Div_Chief(Convert.ToInt32(Session["UserNumber"]), DateTime.Parse(Session["ReportStartDate"].ToString()), DateTime.Parse(Session["ReportEndDate"].ToString()), ddlDivRAHQ.SelectedValue.ToString()).OrderBy(x => x.OrgNum).ThenBy(x => x.Office_Location).ThenBy(x => x.Site_Desc).ToList();
}
else
{
Repeater_PrintFinalReport.DataSource = new ReportItems().Get_Rpt_Items_Div_Chief(Convert.ToInt32(Session["UserNumber"]), DateTime.Parse(Session["ReportStartDate"].ToString()), DateTime.Parse(Session["ReportEndDate"].ToString()), ddlDivRAHQ.SelectedValue.ToString()).Where(x=>x.Finalized == 1).OrderBy(x => x.Site_Desc).ToList();
}
Repeater_PrintFinalReport.DataBind();
Repeater_PrintFinalReport.Visible = true;
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=" + ddlDivRAHQ.SelectedValue + "_WeeklyReport_" + DateTime.Now.ToShortDateString() + ".doc");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.word";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
Repeater_PrintFinalReport.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}