コード例 #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"));
        }
コード例 #2
0
        /// <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);
        }