using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Uninpho.DBOperation.Model; using Uninpho.DBOperation.Operation; using System.IO; using DevExpress.XtraEditors; using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraGrid; using ClosedXML.Excel; namespace Uninpho.Tools.components.MTLFF { class MTLFCommon { static string UUID; static int celllength = 18; public static T_mitielifeng_filelist updataListMessage(GridView gv,string url,int row) { IXLWorksheet XLWorksheet = new XLWorkbook(url).Worksheet(1); T_mitielifeng_filelist tm = new T_mitielifeng_filelist() { Zhanming= XLWorksheet.Row(2).Cell(3).Value.ToString(), Xianluming = XLWorksheet.Row(2).Cell(14).Value.ToString(), Daochahao = XLWorksheet.Row(2).Cell(6).Value.ToString(), Zhechahao = XLWorksheet.Row(2).Cell(9).Value.ToString(), Shejituhao = XLWorksheet.Row(2).Cell(12).Value.ToString(), Riqi = XLWorksheet.Row(2).Cell(20).Value.ToString(), Jiancharen = XLWorksheet.Row(2).Cell(17).Value.ToString() }; gv.SetRowCellValue(row, "Zhanming", tm.Zhanming); gv.SetRowCellValue(row, "Xianluming", tm.Xianluming); gv.SetRowCellValue(row, "Daochahao", tm.Daochahao); gv.SetRowCellValue(row, "Zhechahao", tm.Zhechahao); gv.SetRowCellValue(row, "Shejituhao", tm.Shejituhao); gv.SetRowCellValue(row, "Riqi", tm.Riqi.Split(' ')[0]); gv.SetRowCellValue(row, "Jiancharen", tm.Jiancharen); return tm; } /// /// 保存至filelist表 /// public static string SaveExcel2PG() { T_mitielifeng_filelist mtlf = new T_mitielifeng_filelist(); mtlf.Zhanming = ExcelTools.chezhan; mtlf.Daochahao = ExcelTools.daocha; mtlf.Zhechahao = ExcelTools.zhecha; mtlf.Riqi = ExcelTools.jianceshijian; mtlf.Jiancharen = ExcelTools.jianceren; mtlf.Shejituhao = ExcelTools.shejituhao; mtlf.Xianluming = ExcelTools.xianluming; mtlf.Excelbytearr = ExcelTools.GetFileData(ExcelTools.filenameall); mtlf.Remark = DateTime.Now.ToString(); //mtlf.Gengxinriqi = DateTime.Now.ToString(); //mtlf.Gengxinren = UserInform.userinf.Username; UUID = DataAnalysisToPG.InsertMTLFListDataToPG(mtlf); return UUID; } #region 读excel内部(没必要) /// /// 保存至exceldata表 /// public static void saveExcelData2PG() { T_mitielifeng_exceldata mtlfdata = new T_mitielifeng_exceldata(); string[] datas = GetmtlfExcelData(); mtlfdata.Filelistid = UUID; mtlfdata.Jgjdyhctjx = datas[0]; mtlfdata.Qita = datas[1]; mtlfdata.Cljgfgzbyjbggzbzxjx = datas[2]; mtlfdata.Jgwy = datas[3]; mtlfdata.Gczqs = datas[4]; mtlfdata.Ljgxcl = datas[5]; mtlfdata.Bcqs = datas[6]; mtlfdata.Jggyydtjxch = datas[7]; mtlfdata.Jggyydtjxzh = datas[8]; mtlfdata.Jggdsbmyftdtjx = datas[9]; mtlfdata.Jgymtjbgjx = datas[10]; mtlfdata.Xggdyhctjx = datas[11]; mtlfdata.Xggyydtjx = datas[12]; mtlfdata.Xggtsbmyftdtjx = datas[13]; mtlfdata.Xgyftjgtjx = datas[14]; mtlfdata.Xgyygjx = datas[15]; mtlfdata.Dxgycgjgjdjx = datas[16]; mtlfdata.Cljggdsbmyftxwzzjx = datas[17]; DataAnalysisToPG.InsertMTLFExcelDataToPG(mtlfdata); } /// /// 读取密贴离缝excel数据 /// 返回数据格式为 /// 【Filelistid,Jgjdyhctjx,Qita,Cljgfgzbyjbggzbzxjx, /// Jgwy,Gczqs,Ljgxcl,Bcqs,Jggyydtjxch,Jggyydtjxzh,, /// Jggdsbmyftdtjx,Jgymtjbgjx,Xggdyhctjx,Xggyydtjx, /// Xggtsbmyftdtjx,Xgyftjgtjx,Xgyygjx,Dxgycgjgjdjx, /// Cljggdsbmyftxwzzjx】 /// /// private static string[] GetmtlfExcelData() { string[] datas = new string[18]; var workbook = new XLWorkbook(ExcelTools.filenameall); IXLWorksheet XLWorksheet = workbook.Worksheet(1); datas[0] = readJgjdyhctjx(XLWorksheet); datas[1] = readQita(XLWorksheet); datas[2] = readCljgfgzbyjbggzbzxjx(XLWorksheet); datas[3] = readJgwy(XLWorksheet); datas[4] = readGxzqs(XLWorksheet); datas[5] = readLjgxcl(XLWorksheet); datas[6] = readBcqs(XLWorksheet); datas[7] = readJggyydtjxch(XLWorksheet); datas[8] = readJggyydtjxzh(XLWorksheet); datas[9] = readJggdsbmyftdtjx(XLWorksheet); datas[10] = readJgymtjbgjx(XLWorksheet); datas[11] = readXggdyhctjx(XLWorksheet); datas[12] = readXggyydtjx(XLWorksheet); datas[13] = readXggtsbmyftdtjx(XLWorksheet); datas[14] = readXgyftjgtjx(XLWorksheet); datas[15] = readXgyygjx(XLWorksheet); datas[16] = readDxgycgjgjdjx(XLWorksheet); datas[17] = readCljggdsbmyftxwzzjx(XLWorksheet); return datas; } /// /// 获取尖轨轨底与滑床台间隙 /// /// /// private static string readJgjdyhctjx(IXLWorksheet XLWorksheet) { string data = String.Empty; int[] rows = new int[] { 4, 7, 10, 13 }; for (int i = 0; i < rows.Length; i++) { for (int j = 0; j < celllength; j++) { data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//枕号 data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString() + ",";//直 data += XLWorksheet.Row(rows[i] + 2).Cell(j + 4).Value.ToString() + ";";//曲 } } return data; } /// /// 获取其他 /// /// /// private static string readQita(IXLWorksheet XLWorksheet) { string data = XLWorksheet.Row(16).Cell(10).Value.ToString(); return data; } /// /// 获取斥离尖轨非工作边与基本轨工作边最小间距 /// private static string readCljgfgzbyjbggzbzxjx(IXLWorksheet XLWorksheet) { string data = XLWorksheet.Row(16).Cell(15).Value.ToString() + ","; data += XLWorksheet.Row(16).Cell(16).Value.ToString() + ","; data += XLWorksheet.Row(17).Cell(15).Value.ToString() + ","; data += XLWorksheet.Row(18).Cell(15).Value.ToString(); return data; } /// /// 获取尖轨位移 /// private static string readJgwy(IXLWorksheet XLWorksheet) { string data = XLWorksheet.Row(16).Cell(19).Value.ToString() + ","; data += XLWorksheet.Row(17).Cell(19).Value.ToString(); return data; } /// /// 获取观测桩缺损 /// private static string readGxzqs(IXLWorksheet XLWorksheet) { string data = XLWorksheet.Row(18).Cell(19).Value.ToString(); return data; } /// /// 获取两尖轨相错量 /// private static string readLjgxcl(IXLWorksheet XLWorksheet) { string data = XLWorksheet.Row(16).Cell(21).Value.ToString(); return data; } /// /// 获取标尺缺损 /// private static string readBcqs(IXLWorksheet XLWorksheet) { string data = XLWorksheet.Row(18).Cell(21).Value.ToString(); return data; } /// /// 获取尖轨轨腰与顶铁间隙的岔号 /// private static string readJggyydtjxch(IXLWorksheet XLWorksheet) { string data = String.Empty; int[] rows = new int[] { 19, 21 }; for (int i = 0; i < rows.Length; i++) { for (int j = 0; j < celllength - 1; j = j + 2) { data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//岔号左 data += XLWorksheet.Row(rows[i]).Cell(j + 5).Value.ToString() + ",";//岔号右 data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直 data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲 } } return data; } /// /// 获取尖轨轨腰与顶铁间隙的枕号 /// private static string readJggyydtjxzh(IXLWorksheet XLWorksheet) { string data = String.Empty; int rows = 23; for (int j = 0; j < celllength - 1; j = j + 2) { data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左 data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右 data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直 data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲 } return data; } /// /// 获取尖轨轨底上表面与防跳顶铁间隙 /// private static string readJggdsbmyftdtjx(IXLWorksheet XLWorksheet) { string data = String.Empty; int rows = 25; for (int j = 0; j < celllength - 1; j = j + 2) { data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左 data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右 data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直 data += XLWorksheet.Row(rows + 2).Cell(j + 4).Value.ToString() + ";";//曲 } return data; } /// /// 获取尖轨与密贴基本轨间隙 /// private static string readJgymtjbgjx(IXLWorksheet XLWorksheet) { string data = String.Empty; int rows = 28; for (int j = 0; j < celllength - 2; j = j + 3) { data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左 data += XLWorksheet.Row(rows).Cell(j + 6).Value.ToString() + ",";//枕号右 data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直 data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ";";//曲 } return data; } /// /// 获取心轨轨底与滑床台间隙 /// private static string readXggdyhctjx(IXLWorksheet XLWorksheet) { string data = String.Empty; int[] rows = new int[] { 31, 33 }; for (int i = 0; i < rows.Length; i++) { for (int j = 0; j < celllength; j++) { data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//枕号 data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString() + ";";//间隙值 } } return data; } /// /// 获取心轨轨腰与顶铁间隙 /// private static string readXggyydtjx(IXLWorksheet XLWorksheet) { string data = String.Empty; int[] rows = new int[] { 35, 37 }; for (int i = 0; i < rows.Length; i++) { for (int j = 0; j < celllength - 1; j = j + 2) { data += XLWorksheet.Row(rows[i]).Cell(j + 4).Value.ToString() + ",";//岔号左 data += XLWorksheet.Row(rows[i]).Cell(j + 5).Value.ToString() + ",";//岔号右 data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[0] + ",";//直 data += XLWorksheet.Row(rows[i] + 1).Cell(j + 4).Value.ToString().Split('/')[1] + ";";//曲 } } return data; } /// /// 获取心轨轨底上表面与防跳顶铁间隙 /// private static string readXggtsbmyftdtjx(IXLWorksheet XLWorksheet) { string data = String.Empty; int rows = 39; for (int j = 0; j < celllength - 1; j = j + 2) { data += XLWorksheet.Row(rows).Cell(j + 4).Value.ToString() + ",";//枕号左 data += XLWorksheet.Row(rows).Cell(j + 5).Value.ToString() + ",";//枕号右 data += XLWorksheet.Row(rows + 1).Cell(j + 4).Value.ToString() + ",";//直 data += XLWorksheet.Row(rows + 2).Cell(j + 4).Value.ToString() + ";";//曲 } return data; } /// /// 获取心轨与防跳间隔铁间隙 /// private static string readXgyftjgtjx(IXLWorksheet XLWorksheet) { return XLWorksheet.Row(39).Cell(celllength + 3).Value.ToString(); } /// /// 获取心轨与翼轨间隙 /// private static string readXgyygjx(IXLWorksheet XLWorksheet) { string data = String.Empty; int[] cell = new int[] { 4, 7, 10 }; for (int i = 0; i < cell.Length; i++) { data += XLWorksheet.Row(42).Cell(cell[i]).Value.ToString() + ",";//枕号左 data += XLWorksheet.Row(42).Cell(cell[i] + 2).Value.ToString() + ",";//枕号右 data += XLWorksheet.Row(43).Cell(cell[i]).Value.ToString() + ",";//直 data += XLWorksheet.Row(44).Cell(cell[i]).Value.ToString() + ";";//曲 } return data; } /// /// 获取短心轨与岔跟尖轨尖端间隙 /// private static string readDxgycgjgjdjx(IXLWorksheet XLWorksheet) { string data = String.Empty; int[] cell = new int[] { 16, 19 }; for (int i = 0; i < cell.Length; i++) { data += XLWorksheet.Row(42).Cell(cell[i]).Value.ToString() + ",";//枕号左 data += XLWorksheet.Row(42).Cell(cell[i] + 2).Value.ToString() + ",";//枕号右 data += XLWorksheet.Row(43).Cell(cell[i]).Value.ToString() + ";";//间隙值 } return data; } /// /// 获取斥离尖轨轨底上表面与防跳限位装置间隙 /// private static string readCljggdsbmyftxwzzjx(IXLWorksheet XLWorksheet) { string data = String.Empty; for (int i = 4; i <= 9; i++) { data += XLWorksheet.Row(16).Cell(i).Value.ToString() + ",";//枕号左 data += XLWorksheet.Row(17).Cell(i).Value.ToString() + ",";//直 data += XLWorksheet.Row(18).Cell(i).Value.ToString() + ";";//曲 } return data; } #endregion } }