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")); }
/// <summary> /// 获取PageOffice控件 /// </summary> /// <param name="SaveFilePageUrl">文件保存处理页面</param> /// <param name="SaveDataPageUrl">文档数据保存处理页面</param> /// <param name="FileName">需要打开的文件</param> /// <returns>返回初始化完毕的控件</returns> public PageOfficeCtrl GetOfficeCtrl(string SaveFilePageUrl, string SaveDataPageUrl, string FileName) { PageOfficeCtrl pc = new PageOfficeCtrl(); pc.SaveFilePage = SaveFilePageUrl; pc.ServerPage = "/pageoffice/server.aspx"; pc.SaveDataPage = SaveDataPageUrl; var openmodeltype = PageOffice.OpenModeType.docAdmin; var filenames = FileName.Split('.'); switch (filenames[1]) { case "doc": openmodeltype = PageOffice.OpenModeType.docNormalEdit; break; case "docx": openmodeltype = PageOffice.OpenModeType.docNormalEdit; break; case "xlsx": openmodeltype = PageOffice.OpenModeType.xlsNormalEdit; break; case "xls": openmodeltype = PageOffice.OpenModeType.xlsNormalEdit; break; case "pptx": openmodeltype = PageOffice.OpenModeType.pptNormalEdit; break; case "ppt": openmodeltype = PageOffice.OpenModeType.pptNormalEdit; break; } pc.WebOpen("/UpFile/" + FileName, openmodeltype, "s"); return(pc); }