コード例 #1
0
        T_tb_TestReportData tTestReportData = new T_tb_TestReportData();  //检验报告数据

        /// <summary>
        /// 原始记录文档在线编辑
        /// </summary>
        /// <param name="InfoID">原始记录ID</param>
        /// <returns></returns>
        public ActionResult OriginalRecordDocEdit(int InfoID)
        {
            E_tb_OriginalRecord eOriginalRecord = _dOriginalRecord.GetModel(new E_tb_OriginalRecord()
            {
                RecordID = Convert.ToInt32(InfoID)
            });
            E_tb_Project eProject = _dProject.GetModel(Convert.ToInt32(eOriginalRecord.ProjectID));

            //判断是否已存在原始记录文件,若不存在默认读取检测项目对应的模板
            string filepath = eProject.FilePath;

            if (System.IO.File.Exists(Server.MapPath("~/upfile/" + eOriginalRecord.FilePath)))
            {
                filepath = eOriginalRecord.FilePath;
            }

            //初始化PageOffice控件
            PageOfficeCtrl pc = this.GetOfficeCtrl(
                "/OriginalRecordDoc/SaveDoc?filename=" + eOriginalRecord.FilePath,
                "/OriginalRecordDoc/SaveData?FilePath=" + eOriginalRecord.FilePath + "&ProjectID=" + eOriginalRecord.ProjectID + "&RecordID=" + InfoID,
                filepath);

            //定义提交数据范围
            PageOffice.ExcelWriter.Workbook wb         = new PageOffice.ExcelWriter.Workbook();
            PageOffice.ExcelWriter.Sheet    sheetOrder = wb.OpenSheet("Sheet1");
            PageOffice.ExcelWriter.Table    table      = sheetOrder.OpenTable(eProject.SampleDataRange.Replace(":", ":").ToUpper());
            pc.SetWriter(wb);
            //判断模板类型,是否为非农残检测项目
            if (eOriginalRecord.IsPesCheck != 1)
            {
                PageOffice.ExcelWriter.Workbook workBook = this.GetNoPesCheckWorkbook(Convert.ToInt32(eOriginalRecord.SampleID), eProject.SampleDataRange);
                pc.SetWriter(workBook);// 注意不要忘记此代码,如果缺少此句代码,不会赋值成功。
            }
            //实例化控件输出内容
            Page page = new Page();

            page.Controls.Add(pc);
            StringBuilder controlOutput = new StringBuilder();

            using (StringWriter sw = new StringWriter(controlOutput))
            {
                using (HtmlTextWriter htw = new HtmlTextWriter(sw))
                {
                    Server.Execute(page, htw, false);
                }
            }
            ViewBag.EditorHtml = controlOutput.ToString();

            return(View("/views/OriginalRecord/FileView.cshtml"));
        }