Экспортируйте репитер в MS Word и сохраните файл Word на сервере или базе данных C #, ASP.NET - PullRequest
0 голосов
/ 20 июля 2011

У меня есть ситуация, когда мне нужно сгенерировать отчет 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();
    }

1 Ответ

0 голосов
/ 01 августа 2011

Я воспользовался помощью по ссылке ниже

http://support.microsoft.com/kb/316384

MS.Word с использованием Microsoft.Office.Interop.Word

Как автоматизировать Microsoft Word для создания нового документа с помощью Visual C #

...