public shiweipi(param pp1, classinfo cl1, View_class_exp vce1) { InitializeComponent(); pp = pp1; cl = cl1; vce = vce1; }
private void button1_Click(object sender, EventArgs e) { if (selexp >= 0) { View_class_exp vp = lvce[selexp]; var questionQuery2 = from o in pp.context.exp_q where (o.idexp == vp.expid) select o; exp_q qew = null; if (questionQuery2.Count <exp_q>() > 0) { qew = questionQuery2.First <exp_q>(); } saveFileDialog1.FileName = qew.docfilename; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { string attaDirectory = saveFileDialog1.FileName; Byte[] Files = qew.expdoc; BinaryWriter bw = new BinaryWriter(File.Open(attaDirectory, FileMode.OpenOrCreate)); bw.Write(Files); bw.Close(); } } }
private void button6_Click(object sender, EventArgs e) { View_class_exp vp = lvce[selexp]; var questionQuery2 = from o in pp.context.studreport where (o.classid == clin.classid && o.stid == stin.studentid && o.expid == vp.expid) select o; studreport qew = null; if (questionQuery2.Count <studreport>() > 0) { qew = questionQuery2.First <studreport>(); } if (qew.atta == null) { MessageBox.Show("附件没空"); return; } saveFileDialog1.FileName = qew.aname; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { string attaDirectory = saveFileDialog1.FileName; Byte[] Files = qew.atta; BinaryWriter bw = new BinaryWriter(File.Open(attaDirectory, FileMode.OpenOrCreate)); bw.Write(Files); bw.Close(); } }
////////////export all report private void exportreport(classinfo cl1, View_class_exp vst1) { String dirsave = null; List <View_class_student> lstwei = new List <View_class_student>(); // List<View_class_student> lstall = null; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { string localFilePath = saveFileDialog1.FileName.ToString(); dirsave = localFilePath.Substring(0, localFilePath.LastIndexOf("\\")); } List <studreport> lstrep = null; var questionQuery2 = from o in pp.context.studreport where o.classid == cl1.classid && o.expid == vst1.expid select o; if (questionQuery2.Count() > 0) { lstrep = questionQuery2.ToList <studreport>(); foreach (studreport qew in lstrep) { string attaDirectory = dirsave + @"\" + qew.stid + EXtools.getstuname(pp, qew.stid); String repname = qew.fname; if (repname[repname.Length - 1] == 'x' || repname[repname.Length - 1] == 'X') { attaDirectory = attaDirectory + @".docx"; } else { attaDirectory = attaDirectory + @".doc"; } Byte[] Files = qew.rep; BinaryWriter bw = new BinaryWriter(File.Open(attaDirectory, FileMode.OpenOrCreate)); bw.Write(Files); bw.Close(); ///导出附件 /// if (qew.aname != null && qew.atta != null) { string attaDirectory2 = dirsave + @"\" + qew.stid + EXtools.getstuname(pp, qew.stid); attaDirectory2 = attaDirectory2 + @".rar"; Byte[] Files2 = qew.atta; BinaryWriter bw2 = new BinaryWriter(File.Open(attaDirectory2, FileMode.OpenOrCreate)); bw2.Write(Files2); bw2.Close(); } } } else { MessageBox.Show("没有报告可以导出"); } }
protected void Page_Load(object sender, EventArgs e) { expid = Session["expid"] as String; Global gb = Session["gb"] as Global;;; vce = Session["vce"] as View_class_exp; st = Session["user"] as StudInfo; pp = gb.pp; if (expid != null) { var questionQuery2 = from o in pp.context.exp_q where (o.idexp == int.Parse(expid)) select o; if (questionQuery2.Count <exp_q>() > 0) { qew = questionQuery2.First <exp_q>(); } labcontrol(); } }
////////////////////////// private void exportsum(classinfo cl1, View_class_exp vst1, V_tea_course vcourse, int poscol) { String dirsave = null; List <View_class_student> lstwei = new List <View_class_student>(); // List<View_class_student> lstall = null; saveFileDialog2.DefaultExt = ".xlsx"; saveFileDialog2.Filter = "EXCEL file|*.xlsx"; if (saveFileDialog2.ShowDialog() == DialogResult.OK) { string localFilePath = saveFileDialog2.FileName.ToString(); // dirsave = localFilePath.Substring(0, localFilePath.LastIndexOf("\\")); dirsave = localFilePath; } //////////////////////excel Spire.Xls.Workbook wb = new Spire.Xls.Workbook(); //清除默认的工作表 wb.Worksheets.Clear(); //添加一个工作表并指定表名 Worksheet sheet = wb.Worksheets.Add("score"); sheet.Range[2, 2].Text = "序号"; sheet.Range[3, 2].Text = "分值"; sheet.Range[4, 2].Text = "指标"; sheet.Range[5, 1].Text = "学号"; sheet.Range[5, 2].Text = "姓名"; int intobjective = vcourse.numobjective; String expobjective = vst1.objective; String[] strexpobj = expobjective.Split('|'); for (int i = 1; i <= intobjective + 1; i++) { if (i < intobjective + 1) { sheet.Range[4, poscol + i - 1].Text = i.ToString(); } else { sheet.Range[4, poscol + i - 1].Text = "已交"; } } int irow = 6; int icol = poscol; var questionQuery1 = from o in pp.context.View_class_student where o.classid == cl1.classid orderby o.classno select o; List <View_class_student> lstall = null; if (questionQuery1.Count <View_class_student>() > 0) { lstall = questionQuery1.ToList <View_class_student>(); } /// /// if (lstall != null) { foreach (View_class_student itvst in lstall) { sheet.Range[irow, 1].Text = itvst.studentid; sheet.Range[irow, 2].Text = itvst.name; var questionQuery2 = from o in pp.context.studreport where o.classid == cl1.classid && o.expid == vst1.expid && o.stid == itvst.studentid select o; studreport isturep = null; if (questionQuery2.Count <studreport>() > 0) { isturep = questionQuery2.First <studreport>(); String strmarks = isturep.score; String[] strmark = strmarks.Split('|'); for (int i = 1; i <= intobjective + 1; i++) { if (i < intobjective + 1) { sheet.Range[irow, poscol + i - 1].Value2 = 0; for (int j = 1; j < strexpobj.Length; j++) { if (i == int.Parse(strexpobj[j])) { sheet.Range[irow, poscol + i - 1].Value2 = int.Parse(strmark[j]); } } } // else // sheet.Range[irow, poscol + i - 1].Text = "NO"; } } else { for (int i = 1; i <= intobjective + 1; i++) { if (i < intobjective + 1) { sheet.Range[irow, poscol + i - 1].Value2 = 0; } else { sheet.Range[irow, poscol + i - 1].Text = "NO"; } } } irow = irow + 1; } //foreach (View_class_stu } /// end if( lstall !=null) /// sheet.AllocatedRange.AutoFitColumns(); wb.SaveToFile(dirsave, ExcelVersion.Version2013); MessageBox.Show("excel生成好了"); }
private void button4_Click(object sender, EventArgs e) { if (selexp >= 0) { View_class_exp vp = lvce[selexp]; var questionQuery = from o in pp.context.studreport where (o.classid == clin.classid && o.stid == stin.studentid && o.expid == vp.expid) select o; if (questionQuery.Count <studreport>() > 0) { //updata studreport stp = questionQuery.First <studreport>(); string fileDirectory = ""; OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "RAR files (*.RAR)|*.RAR"; dialog.Title = "Select a RAR file"; dialog.Multiselect = false; dialog.InitialDirectory = System.IO.Path.GetFullPath(@"..\..\..\..\..\..\Data"); DialogResult result = dialog.ShowDialog(); // if (result == DialogResult.OK) fileDirectory = dialog.FileName; if (!fileDirectory.Equals("") && result == DialogResult.OK) { FileStream fs = new FileStream(fileDirectory, System.IO.FileMode.Open); BinaryReader br = new BinaryReader((Stream)fs); int intLength = (int)fs.Length; // MessageBox.Show(intLength.ToString()); if (intLength > vp.maxfile * 1024 * 1024) { MessageBox.Show("文件太大"); return; } ; byte[] bytContent = new byte[intLength]; bytContent = br.ReadBytes((int)intLength); stp.atta = bytContent; String[] fnames = fileDirectory.Split('\\'); String filenamestr = fnames[fnames.Length - 1]; stp.aname = filenamestr; // MessageBox.Show(fileDirectory+" "+ filenamestr); pp.context.UpdateObject(stp); pp.context.SaveChanges(); } } else {//add studreport stp = new studreport(); stp.classid = clin.classid; stp.expid = vp.expid; stp.stid = stin.studentid; string fileDirectory = ""; OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "RAR files (*.RAR)|*.RAR"; dialog.Title = "Select a RAR file"; dialog.Multiselect = false; dialog.InitialDirectory = System.IO.Path.GetFullPath(@"..\..\..\..\..\..\Data"); DialogResult result = dialog.ShowDialog(); // if (result == DialogResult.OK) fileDirectory = dialog.FileName; if (!fileDirectory.Equals("") && result == DialogResult.OK) { FileStream fs = new FileStream(fileDirectory, System.IO.FileMode.Open); BinaryReader br = new BinaryReader((Stream)fs); int intLength = (int)fs.Length; // MessageBox.Show(intLength.ToString()); if (intLength > vp.maxfile * 1024 * 1024) { MessageBox.Show("文件太大"); return; } ; byte[] bytContent = new byte[intLength]; bytContent = br.ReadBytes((int)intLength); stp.atta = bytContent; String[] fnames = fileDirectory.Split('\\'); String filenamestr = fnames[fnames.Length - 1]; stp.aname = filenamestr; // MessageBox.Show(fileDirectory+" "+ filenamestr); pp.context.AddTostudreport(stp); pp.context.SaveChanges(); } }//endelse getstate(); } }
//////////////////////////////////// private void getstate() { if (selexp >= 0) { View_class_exp vp = lvce[selexp]; DateTime dt = DateTime.Now; if (dt > vp.starttime && vp.endtime > dt) { button3.Enabled = true; button4.Enabled = (bool)vp.attach; } var questionQuery = from o in pp.context.studreport where (o.classid == clin.classid && o.stid == stin.studentid && o.expid == vp.expid) select o; if (questionQuery.Count <studreport>() > 0) { if (questionQuery.First <studreport>().rep != null) { button5.Enabled = true; } else { button5.Enabled = false; } if (questionQuery.First <studreport>().atta == null) { button6.Enabled = false; } else { button6.Enabled = true; } } else { button5.Enabled = false; button6.Enabled = false; } var questionQuery2 = from o in pp.context.exp_q where (o.idexp == vp.expid) select o; if (questionQuery2.Count <exp_q>() > 0) { exp_q qew = questionQuery2.First <exp_q>(); if (qew.attachment != null) { button2.Enabled = true; } else { button2.Enabled = false; } } } else { MessageBox.Show("请选择表格中的行"); } }