public static void Print(DataSet MyData, string a0_text, string Form_Id, int PrintPage) { if (MyData.Tables[0].Rows.Count > 0) { /* System.Diagnostics.Process p = new System.Diagnostics.Process(); * //不现实调用程序窗口,但是对于某些应用无效 * p.StartInfo.CreateNoWindow = true; * p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; * //采用操作系统自动识别的模式 * p.StartInfo.UseShellExecute = true; * p.StartInfo.FileName = ".\\" + main.companyName + "\\wjgl\\"+Form_Id+"\\" + a0_text + "\\" + a0_text + ".docx"; * p.StartInfo.Verb = "print"; * //开始打印 * p.Start();*/ Microsoft.Office.Interop.Word._Application AppliApp = new Microsoft.Office.Interop.Word.Application(); AppliApp.Visible = false; object filepath = System.IO.Directory.GetCurrentDirectory() + @".\" + main.companyName + @"\wjgl\" + Form_Id + @"\" + a0_text + @"\" + a0_text + ".docx"; Microsoft.Office.Interop.Word._Document doc = AppliApp.Documents.Add(ref filepath); object missing = System.Reflection.Missing.Value; object Page = "" + PrintPage.ToString() + ""; doc.PrintOut( missing, missing, missing, missing, missing, missing, missing, missing, Page, missing, missing, missing, missing, missing, missing, missing, missing, missing ); } }
private void executeToWord(Record beforeRecord, Record afterRecord) { oWord.Visible = true; object oFileName = ""; try { File.Copy(@"D:\扭力扳手校验记录单(专检)QM1_TCD00000003344_B_20180420_083651_0.doc", Application.StartupPath + @"\test.doc", true);// + DateTime.Now.ToString() + ".doc", true); } catch (Exception e) { MessageBox.Show(e.ToString()); } oFileName = Application.StartupPath + @"\test.doc"; oDoc = oWord.Documents.Open(ref oFileName, ref oMissing, ref oReadOnly, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing); oDoc = oWord.ActiveDocument; int count = oDoc.Bookmarks.Count; for (int i = count; i > 0; i--) { //Conclusion: "不合格non-conformity" "合格conformity" // ToolCode,Date,NominalValue,MaxValue,MinValue,TestData1,TestData2,TestData3,Conclusion,CheckName,QSName, // AfterMaxValue,AfterMinValue,AfterTorqueValue,AfterDate,AfterCheckName,AfterQSName,AfterConclusion if (oDoc.Bookmarks[i].Name.Equals("ToolCode")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.SeriesNum; } if (oDoc.Bookmarks[i].Name.Equals("Date")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.CreateTime.ToString(); } if (oDoc.Bookmarks[i].Name.Equals("NominalValue")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[0].Standard.ToString(); } if (oDoc.Bookmarks[i].Name.Equals("MaxValue")) { oDoc.Bookmarks[i].Range.Text = ((beforeRecord.RecordDetailList[0].Upper + 1) * beforeRecord.RecordDetailList[0].Standard).ToString(); } if (oDoc.Bookmarks[i].Name.Equals("MinValue")) { oDoc.Bookmarks[i].Range.Text = ((beforeRecord.RecordDetailList[0].Lower + 1) * beforeRecord.RecordDetailList[0].Standard).ToString(); } if (beforeRecord.RecordDetailList.Count == 1) { if (oDoc.Bookmarks[i].Name.Equals("TestData1")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[0].TestValue.ToString(); } } else if (beforeRecord.RecordDetailList.Count == 2) { if (oDoc.Bookmarks[i].Name.Equals("TestData1")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[0].TestValue.ToString(); } if (oDoc.Bookmarks[i].Name.Equals("TestData2")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[1].TestValue.ToString(); } } else if (beforeRecord.RecordDetailList.Count == 3) { if (oDoc.Bookmarks[i].Name.Equals("TestData1")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[0].TestValue.ToString(); } if (oDoc.Bookmarks[i].Name.Equals("TestData2")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[1].TestValue.ToString(); } if (oDoc.Bookmarks[i].Name.Equals("TestData3")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[2].TestValue.ToString(); } } if (oDoc.Bookmarks[i].Name.Equals("Conclusion")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.Result == 1 ? "不合格non-conformity":"合格conformity"; } if (oDoc.Bookmarks[i].Name.Equals("CheckName")) { oDoc.Bookmarks[i].Range.Text = beforeRecord.Operator.ToString(); } //if (oDoc.Bookmarks[i].Name.Equals("QSName")) oDoc.Bookmarks[i].Range.Text = record.ProName; if (oDoc.Bookmarks[i].Name.Equals("AfterMaxValue")) { oDoc.Bookmarks[i].Range.Text = ((afterRecord.RecordDetailList[0].Upper + 1) * afterRecord.RecordDetailList[0].Standard).ToString(); } if (oDoc.Bookmarks[i].Name.Equals("AfterMinValue")) { oDoc.Bookmarks[i].Range.Text = ((afterRecord.RecordDetailList[0].Lower + 1) * afterRecord.RecordDetailList[0].Standard).ToString(); } if (oDoc.Bookmarks[i].Name.Equals("AfterTorqueValue")) { oDoc.Bookmarks[i].Range.Text = afterRecord.RecordDetailList[0].TestValue.ToString(); } if (oDoc.Bookmarks[i].Name.Equals("AfterDate")) { oDoc.Bookmarks[i].Range.Text = afterRecord.CreateTime.ToString(); } if (oDoc.Bookmarks[i].Name.Equals("AfterCheckName")) { oDoc.Bookmarks[i].Range.Text = afterRecord.Operator; } //if (oDoc.Bookmarks[i].Name.Equals("AfterQSName")) oDoc.Bookmarks[i].Range.Text = afterRecord.ProName; if (oDoc.Bookmarks[i].Name.Equals("AfterConclusion")) { oDoc.Bookmarks[i].Range.Text = afterRecord.Result == 0 ? "不合格non-conformity":"合格conformity"; } } oDoc.PrintOut(); oDoc.Save(); oDoc.Close(); GC.Collect(); }