| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using System.Collections;
- using Infragistics.Win.UltraWinGrid;
- using Excel1 = Microsoft.Office.Interop.Excel;
- using System.Diagnostics;
- using System.Reflection;
- using System.Runtime.InteropServices;
- namespace Core.LZMes.Client.UIK
- {
- public partial class UIK050103 : FrmBase
- {
- public UIK050103()
- {
- InitializeComponent();
- }
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query"://查询
- this.DoQuery();
- break;
- case "export"://添加换下轧辊实绩
- this.DoExport(ultraGrid1, "磨削实绩查询");
- break;
- case "Update"://下发换下轧辊实绩
- this.DoUpdate();
- break;
- }
- }
- private void DoQuery()
- {
- try
- {
- string zgNum = "";
- string beginTime = "";
- string endTime = "";
- string type = "";
- CoreClientParam ccp = new CoreClientParam();
- DataTable dt = new DataTable();
- zgNum = this.ultraTextzgNum.Text;
- type = this.ultraComboEditor1.Text;
- beginTime = ultraDateTimeEditor1.Value != null ? ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd") : "";
- endTime = ultraDateTimeEditor2.Value != null ? ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd") : "";
-
- this.dataSet1.Clear();
- ArrayList al = new ArrayList();
- al.Add("UIK050103_01.SELECT");
- al.Add(zgNum);
- al.Add(type);
- al.Add(beginTime);
- al.Add(endTime);
- al.Add(zgNum);
- al.Add(type);
- al.Add(beginTime);
- al.Add(endTime);
- ccp = new CoreClientParam();
- ccp.ServerName = "UIB.COM.ComDBQuery";
- ccp.MethodName = "doSimpleQuery";
- ccp.ServerParams = new object[] { al };
- ccp.IfShowErrMsg = false;
- ccp.SourceDataTable = this.dataSet1.Tables[0];
- this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal);
-
-
- }
- // }
- catch (Exception Ex)
- {
- MessageBox.Show(Ex.ToString());
- }
- }
- private void DoExport(UltraGrid tmpDataTable, string rFileName)
- {
-
- string fileName = saveFileDialog1.FileName;
- string FileName;
- saveFileDialog1.FileName = rFileName;
- saveFileDialog1.DefaultExt = ".xls";
- saveFileDialog1.Filter = "excel文件(*.xls)|*.xls|所有文件(*.*)|*.*";
- if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK)
- {
- fileName = saveFileDialog1.FileName;
- FileName = fileName;
- }
- else
- {
- return;
- }
- string FilePath = saveFileDialog1.FileName;
- if (tmpDataTable == null)
- return;
- int rowNum = tmpDataTable.Rows.Count;
- int columnNum = tmpDataTable.DisplayLayout.Bands[0].Columns.Count;
- int rowIndex = 1;
- int columnIndex = 0;
- Excel1.Application xlApp = new Excel1.ApplicationClass();
- xlApp.DefaultFilePath = "";
- xlApp.DisplayAlerts = false;
- xlApp.SheetsInNewWorkbook = 1; //设置导出表格工作簿sheet数量
- Excel1._Workbook xlBook = (Excel1._Workbook)(xlApp.Workbooks.Add(Missing.Value));//添加新工作簿
- Excel1.Worksheet ws = (Excel1.Worksheet)xlBook.Worksheets[1];
- ws.Name = rFileName;
- Excel1.Range r = ws.get_Range("A1", NumToExeclRowStr(columnNum - 1) + "1");
- object[] objHeader = new object[columnNum];
- //将DataTable的列名导入Excel表第一行
- foreach (UltraGridColumn dc in tmpDataTable.DisplayLayout.Bands[0].Columns)
- {
- if (columnIndex < columnNum-1)
- {
- objHeader[columnIndex] = dc.Header.Caption;
- columnIndex++;
- }
- }
- r.Value2 = objHeader;
- //将DataTable中的数据导入Excel中
- int h = 0;
- for (int i = 0; i < rowNum; i++)
- {
- //if (tmpDataTable.Rows[i].Cells[columnNum].Text.ToString() == "True")
- // {
- rowIndex++;
- columnIndex = 0;
- for (int j = 0; j < columnNum - 1; j++)
- {
- objHeader[columnIndex] = tmpDataTable.Rows[h].Cells[j].Text.ToString();
- columnIndex++;
- }
- r = ws.get_Range("A" + (h + 2), NumToExeclRowStr(columnNum) + (h + 2));
- r.Value2 = objHeader;
- h++;
- // }
- }
- //将合同号的数据转换为excel中的数字格式,否则为科学计数法格式
- Excel1.Range RMXNEW;
- string Inf0 = "";
- Inf0 = "V1:" + "V2";
- RMXNEW = ws.get_Range(Inf0, Type.Missing);
- RMXNEW.EntireColumn.HorizontalAlignment = Excel1.XlHAlign.xlHAlignCenter;
- RMXNEW.EntireColumn.NumberFormat = "0";
- Excel1.Range RMXNEW1;
- string Inf1 = "";
- Inf1 = "W1:" + "W2";
- RMXNEW1 = ws.get_Range(Inf1, Type.Missing);
- RMXNEW1.EntireColumn.HorizontalAlignment = Excel1.XlHAlign.xlHAlignCenter;
- RMXNEW1.EntireColumn.NumberFormat = "0";
- ////导出到EXCEL中 只需要某些列,下面删除多余的列(已经在datatable中按字段排好序)
- //Excel1.Range RMX1;
- //string Inf1 = "";
- //Inf1 = "A1:" + "W1";
- //RMX1 = ws.get_Range(Inf1, Type.Missing);
- //RMX1.EntireColumn.Delete(0);
- r.EntireColumn.AutoFit();
- xlBook.SaveCopyAs(FilePath);
- this.KillSpecialExcel(xlApp);
- MessageBox.Show("数据成功导出到:" + saveFileDialog1.FileName.ToString(),
- "导出完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
- //System.Diagnostics.Process.Start(fileName);
- }
- private string NumTochr(int Num)
- {
- int n = 64 + Num;
- return "" + (Char)n;
- }
- private string NumToExeclRowStr(int Num)
- {
- int X, Y;
- if (Num < 27)
- {
- return NumTochr(Num);
- }
- X = Num / 26;
- Y = Num - X * 26;
- //if (Y == 0) Y = 1;
- return NumTochr(X) + NumTochr(Y);
- }
- #region 结束EXCEL.EXE进程的方法
- /// <summary>
- /// 结束EXCEL.EXE进程的方法
- /// </summary>
- /// <param name="m_objExcel">EXCEL对象</param>
- [DllImport("user32.dll", SetLastError = true)]
- static extern int GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId);
- public void KillSpecialExcel(Microsoft.Office.Interop.Excel.Application m_objExcel)
- {
- try
- {
- if (m_objExcel != null)
- {
- int lpdwProcessId;
- GetWindowThreadProcessId(new IntPtr(m_objExcel.Hwnd), out lpdwProcessId);
- System.Diagnostics.Process.GetProcessById(lpdwProcessId).Kill();
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- #endregion
- private void ultraGrid1_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
- {
- Infragistics.Win.UltraWinGrid.UltraGrid uGrid = (Infragistics.Win.UltraWinGrid.UltraGrid)sender;
- ultraTextStand_id.Text = uGrid.ActiveRow.Cells["ROLLID"].Text;
- ultraTextEditor3.Text = uGrid.ActiveRow.Cells["roll_type"].Text;//轧辊类型
- ultraTextEditor6.Text = uGrid.ActiveRow.Cells["RESERVE"].Text;//直径
- ultraTextShangID.Text = uGrid.ActiveRow.Cells["stand_id"].Text;//机架编号
- ultraTextEditor2.Text = uGrid.ActiveRow.Cells["spec_no"].Text;//顺序号
- ultraCalendarDis_time.Text = uGrid.ActiveRow.Cells["REG_DTIME"].Text;//时间
- ultraTextEditor4.Text = uGrid.ActiveRow.Cells["DIS"].Text;
- }
- private void DoUpdate()
- {
- try
- {
- ArrayList al = new ArrayList();
- ArrayList list = new ArrayList();
-
- string roll_num = this.ultraTextStand_id.Text; //轧辊编号
- string rolltype = this.ultraTextEditor3.Text;//
- string diam = this.ultraTextEditor6.Text; //轧辊区域
- string jijia = this.ultraTextShangID.Text;//上编号
- string shunxu = this.ultraTextEditor2.Text;//软点
- //string shijian = this.ultraCalendarDis_time.Value != null ? ultraDateTimeEditor1.DateTime.ToString("yyyyMMddhhmiss") : ""; //this.dateTimePicker1.Text.ToString();
- string shijian = this.ultraCalendarDis_time.Text; //this.dateTimePicker1.Text.ToString();
- string qufen = this.ultraTextEditor4.Text;
- if(qufen=="UP")
- {
- list.Add("UIK050103_01.UPDATE");
- }
- else if(qufen == "LO")
- {
- list.Add("UIK050103_02.UPDATE");
- }
- list.Add(rolltype);
- list.Add(diam);
- list.Add(jijia);
- list.Add(shijian);
- list.Add(roll_num);
- list.Add(shunxu);
- al.Add(list);
- if (al.Count == 0)
- {
- MessageBox.Show("请勾选数据再做保存操作!", "提示");
- return;
- }
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "UIB.COM.ComDBSave";
- ccp.MethodName = "doXmlSave";
- ccp.ServerParams = new object[] { al };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- this.DoQuery();
-
- if (0 != ccp.ReturnCode)
- {
- MessageBox.Show("保存失败!");
- }
- else
- {
- MessageBox.Show("保存成功!");
- }
- }
- catch (Exception Ex)
- {
- MessageBox.Show(Ex.ToString());
- }
-
- }
- private void UIK050103_Load(object sender, EventArgs e)
- {
- }
- }
- }
|