public override void SaveReportToDB() { Dictionary <string, string> Pict2 = new Dictionary <string, string>(); WordHelper helper = SetReportBasicInfo(false); string currentTime = DateTime.Today.ToString("yyyy-MM-dd"); Dictionary <string, string> Dict = new Dictionary <string, string>(); foreach (TestType tt in 实验类型) { if (tt == TestType.耐压试验) { Dict.Add("$P$", this.P口耐压.ToString()); Dict.Add("$T$", this.T口耐压.ToString()); Dict.Add("$A$", this.A口耐压.ToString()); Dict.Add("$B$", this.B口耐压.ToString()); helper.InserttextValue(Dict);//写入文本 } if (tt == TestType.稳态压差流量特性试验) { string 图片路径1 = 路径 + "\\report\\液动换向阀\\液动换向阀稳态压差流量特性试验曲线(左位)" + "--" + currentTime + ".bmp"; string 图片路径2 = 路径 + "\\report\\液动换向阀\\液动换向阀稳态压差流量特性试验曲线(右位)" + "--" + currentTime + ".bmp"; Pict2.Add("$稳态压差流量特性曲线1$", 图片路径1); Pict2.Add("$稳态压差流量特性曲线2$", 图片路径2); string key1 = TestType.稳态压差流量特性试验.ToString() + "(左位)"; string key2 = TestType.稳态压差流量特性试验.ToString() + "(右位)"; this.dictCurvePanel[key1].SaveBMP(图片路径1); this.dictCurvePanel[key2].SaveBMP(图片路径2); } else if (tt == TestType.内部泄漏试验) { 图片路径 = 路径 + "\\report\\液动换向阀\\液动换向阀内部泄漏试验曲线" + "--" + currentTime + ".bmp"; Pict2.Add("$内部泄漏试验曲线$", 图片路径); string key = TestType.内部泄漏试验.ToString() + "曲线"; this.dictCurvePanel[key].SaveBMP(图片路径); } else if (tt == TestType.工作范围试验) { 图片路径 = 路径 + "\\report\\液动换向阀\\液动换向阀工作范围试验曲线.bmp"; Pict2.Add("$工作范围试验$", 图片路径); 工作流量1d = Array.ConvertAll(工作流量1.ToArray(), new Converter <float, double>(FloatToDouble)); 工作压力1d = Array.ConvertAll(工作压力1.ToArray(), new Converter <float, double>(FloatToDouble)); 工作流量2d = Array.ConvertAll(工作流量2.ToArray(), new Converter <float, double>(FloatToDouble)); 工作压力2d = Array.ConvertAll(工作压力2.ToArray(), new Converter <float, double>(FloatToDouble)); double 最大值x = (工作流量1d.Max()) > (工作流量2d.Max()) ? (工作流量1d.Max()) : (工作流量2d.Max()); double 最大值y = (工作压力1d.Max()) > (工作压力2d.Max()) ? (工作压力1d.Max()) : (工作压力2d.Max()); List <double[]> args = new List <double[]> { 工作流量1d, 工作压力1d, 工作流量2d, 工作压力2d }; List <string> Curname = new List <string>() { "曲线1", "曲线2" }; ZedSave.SavePic(图片路径, "工作范围特性试验", "流量(L/min)", "压力(MPa)", 0, 最大值x, 0, 最大值y, args, Curname, true); 工作压力1.Clear(); 工作流量1.Clear(); 工作压力2.Clear(); 工作流量2.Clear(); Array.Clear(工作流量1d, 0, 工作流量1d.Length); Array.Clear(工作压力1d, 0, 工作压力1d.Length); Array.Clear(工作流量2d, 0, 工作流量2d.Length); Array.Clear(工作压力2d, 0, 工作压力2d.Length); } } helper.Insertpicture(Pict2);//写入图片 helper.SaveDocument(保存路径); //保存试验报告到本地,调取本地试验报告为二进制格式保存到数据库 FileStream getBinWord = new FileStream(保存路径, FileMode.Open); this.testReport = new byte[getBinWord.Length]; getBinWord.Read(testReport, 0, (int)getBinWord.Length); getBinWord.Close(); File.Delete(保存路径); foreach (KeyValuePair <string, string> u in Pict2) { File.Delete(u.Value); } MessageBox.Show("报告已生成"); }
public override void SaveReportToDB() { WordHelper wordh = new WordHelper(); wordh.CreateNewDocument(模板路径); 保存路径 = 路径 + "\\report\\机动换向阀试验报告.doc"; Dict.Add("$项目$", "机动换向阀试验"); Dict.Add("$人员$", "章晓伟"); Dict.Add("$日期$", "12月19日"); wordh.InserttextValue(Dict);//写入文本 foreach (TestType tt in 实验类型) { if (tt == TestType.耐压试验) { Dict.Add("$P$", "20"); Dict.Add("$T$", "20"); Dict.Add("$A$", "20"); Dict.Add("$B$", "20"); wordh.InserttextValue(Dict);//写入文本 } if (tt == TestType.稳态压差流量特性试验) { 图片路径 = 路径 + "\\report\\机动换向阀稳态压差流量特性试验曲线.bmp"; Pict.Add("$稳态压差流量特性曲线$", 图片路径); 稳态流量1d = Array.ConvertAll(稳态流量1.ToArray(), new Converter <float, double>(FloatToDouble)); 稳态压力1d = Array.ConvertAll(稳态压力1.ToArray(), new Converter <float, double>(FloatToDouble)); 稳态流量2d = Array.ConvertAll(稳态流量2.ToArray(), new Converter <float, double>(FloatToDouble)); 稳态压力2d = Array.ConvertAll(稳态压力2.ToArray(), new Converter <float, double>(FloatToDouble)); double 最大值x = (稳态流量1d.Max()) > (稳态流量2d.Max()) ? (稳态流量1d.Max()) : (稳态流量2d.Max()); double 最大值y = (稳态压力1d.Max()) > (稳态压力2d.Max()) ? (稳态压力1d.Max()) : (稳态压力2d.Max()); List <double[]> args = new List <double[]> { 稳态流量1d, 稳态压力1d, 稳态流量2d, 稳态压力2d }; List <string> Curname = new List <string>() { "曲线1", "曲线2" }; ZedSave.SavePic(图片路径, "稳态压差流量特性试验", "流量(L/min)", "压力(MPa)", 0, 最大值x, 0, 最大值y, args, Curname, true); 稳态压力1.Clear(); 稳态流量1.Clear(); 稳态压力2.Clear(); 稳态流量2.Clear(); Array.Clear(稳态流量1d, 0, 稳态流量1d.Length); Array.Clear(稳态压力1d, 0, 稳态压力1d.Length); Array.Clear(稳态流量2d, 0, 稳态流量2d.Length); Array.Clear(稳态压力2d, 0, 稳态压力2d.Length); } else if (tt == TestType.内部泄漏试验) { 图片路径 = 路径 + "\\report\\机动换向阀内部泄漏试验曲线.bmp"; Pict.Add("$内部泄漏试验曲线$", 图片路径); 泄露流量1d = Array.ConvertAll(泄露流量1.ToArray(), new Converter <float, double>(FloatToDouble)); 泄露压力1d = Array.ConvertAll(泄露压力1.ToArray(), new Converter <float, double>(FloatToDouble)); double 最大值x = 泄露流量1d.Max(); double 最大值y = 泄露压力1d.Max(); List <double[]> args = new List <double[]> { 泄露流量1d, 泄露压力1d }; List <string> Curname = new List <string>() { "曲线1" }; ZedSave.SavePic(图片路径, "内部泄漏试验", "流量(L/min)", "压力(MPa)", 0, 最大值x, 0, 最大值y, args, Curname, true); 泄露流量1.Clear(); 泄露压力1.Clear(); Array.Clear(泄露流量1d, 0, 泄露流量1d.Length); Array.Clear(泄露压力1d, 0, 泄露压力1d.Length); } } wordh.Insertpicture(Pict);//写入图片 wordh.SaveDocument(保存路径); MessageBox.Show("报告已生成"); }
public override void GenerateReport() { WordHelper helper = SetReportBasicInfo(true); string currentTime = DateTime.Today.ToString("yyyy-MM-dd"); Dictionary <string, string> Dict = new Dictionary <string, string>(); foreach (TestType tt in 实验类型) { if (tt == TestType.耐压试验) { Dict.Add("$P$", this.P口耐压.ToString() + "MPa"); Dict.Add("$T$", this.T口耐压.ToString() + "MPa"); Dict.Add("$A$", this.A口耐压.ToString() + "MPa"); Dict.Add("$B$", this.B口耐压.ToString() + "MPa"); helper.InserttextValue(Dict);//写入文本 } if (tt == TestType.稳态压差流量特性试验) { string 图片路径1 = 路径 + "\\report\\电液换向阀\\电液换向阀稳态压差流量特性试验曲线(左位)" + "--" + currentTime + ".bmp"; //string 图片路径2 = 路径 + "\\report\\电液换向阀\\电液换向阀稳态压差流量特性试验曲线(右位)" + "--" + currentTime + ".bmp"; string key1 = TestType.稳态压差流量特性试验.ToString() + "(电磁铁左位)"; //string key2 = TestType.稳态压差流量特性试验.ToString() + "(电磁铁右位)"; Pict.Add("$稳态压差流量特性曲线1$", 图片路径1); // Pict.Add("$稳态压差流量特性曲线2$", 图片路径2); this.dictCurvePanel[key1].SaveBMP(图片路径1); //this.dictCurvePanel[key2].SaveBMP(图片路径2); } else if (tt == TestType.内部泄漏试验) { 图片路径 = 路径 + "\\report\\电液换向阀\\电液换向阀内部泄漏试验曲线" + "--" + currentTime + ".bmp"; Pict.Add("$内部泄漏试验曲线$", 图片路径); string key = TestType.内部泄漏试验.ToString() + "曲线"; this.dictCurvePanel[key].SaveBMP(图片路径); } else if (tt == TestType.工作范围试验) { 图片路径 = 路径 + "\\report\\电液换向阀\\电液换向阀工作范围试验曲线" + "--" + currentTime + ".bmp"; Pict.Add("$工作范围试验$", 图片路径); 工作流量1d = Array.ConvertAll(工作流量1.ToArray(), new Converter <float, double>(FloatToDouble)); 工作压力1d = Array.ConvertAll(工作压力1.ToArray(), new Converter <float, double>(FloatToDouble)); 工作流量2d = Array.ConvertAll(工作流量2.ToArray(), new Converter <float, double>(FloatToDouble)); 工作压力2d = Array.ConvertAll(工作压力2.ToArray(), new Converter <float, double>(FloatToDouble)); double 最大值x = (工作流量1d.Max()) > (工作流量2d.Max()) ? (工作流量1d.Max()) : (工作流量2d.Max()); double 最大值y = (工作压力1d.Max()) > (工作压力2d.Max()) ? (工作压力1d.Max()) : (工作压力2d.Max()); List <double[]> args = new List <double[]> { 工作流量1d, 工作压力1d, 工作流量2d, 工作压力2d }; List <string> Curname = new List <string>() { "曲线1", "曲线2" }; ZedSave.SavePic(图片路径, "工作范围特性试验", "流量(L/min)", "压力(MPa)", 0, 最大值x, 0, 最大值y, args, Curname, true); 工作压力1.Clear(); 工作流量1.Clear(); 工作压力2.Clear(); 工作流量2.Clear(); Array.Clear(工作流量1d, 0, 工作流量1d.Length); Array.Clear(工作压力1d, 0, 工作压力1d.Length); Array.Clear(工作流量2d, 0, 工作流量2d.Length); Array.Clear(工作压力2d, 0, 工作压力2d.Length); } } helper.Insertpicture(Pict);//写入图片 helper.SaveDocument(保存路径); MessageBox.Show("报告已生成"); }