Ejemplo n.º 1
0
        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
                    );
            }
        }
Ejemplo n.º 2
0
        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();
        }