using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions;//正则表达式所在空间 using System.Data; using System.Windows.Forms; using Microsoft.Office.Interop.Excel; using Infragistics.Win; namespace Core.LZMes.Client.UIB { class JhyOpe { //double类型格式判断 public static bool DcsDouble(string str) { Boolean bl = true;//默认为真,是字符串格式 Regex r = new Regex(@"^\d+(\.\d+)?\d?$"); if (str == "合格" || str == "不合格")//合格与不合格作为满足来处理 { bl = true; } else { Match m = r.Match(str); if (!m.Success) { bl = false; } } return bl; } /// /// /// /// 导出路径 /// 文件名 /// 模板名 public void Export(System.Data.DataTable dt, string path , string fileName , string modelExcel) { try { if (path == ""){MessageBox.Show("请选择导出路径" , "提示");return;} ApplicationClass ExcelApp = null; Microsoft.Office.Interop.Excel.Application excel = null; Microsoft.Office.Interop.Excel.Workbooks workbooks = null; Microsoft.Office.Interop.Excel._Workbook workbook = null; Microsoft.Office.Interop.Excel.Sheets sheets = null; Microsoft.Office.Interop.Excel.Worksheet sheet = null; //导出 string strfile = System.Windows.Forms.Application.StartupPath + "\\" + modelExcel;//模板路径 ExcelApp = new ApplicationClass(); excel = new Microsoft.Office.Interop.Excel.Application(); workbooks = excel.Workbooks; workbook = workbooks.Add(strfile); sheets = workbook.Sheets; sheet = (Microsoft.Office.Interop.Excel.Worksheet)sheets[1]; if (fileName == "热轧拉力试验原始记录表") setData_1(dt , sheet); else if (fileName == "热轧冲击试验原始记录表") setData_2(dt , sheet); workbook.Saved = true; workbook.SaveCopyAs(path + "\\" + fileName + ".xls");//fileName如:热轧拉力试验原始记录表 excel.DisplayAlerts = false; excel.AlertBeforeOverwriting = false; workbooks.Close(); workbook = null; excel.Quit(); excel = null; ExcelApp.Quit(); ExcelApp = null; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } //热轧拉力试验原始记录表 private void setData_1(System.Data.DataTable dt , Microsoft.Office.Interop.Excel.Worksheet sheet) { int startRow = 5;//模板数据填充从第五行开始 Range range = null; int i = 0; int j = 1; for (i = 0; i < dt.Rows.Count; i++) { j = 1; sheet.Cells[startRow + i, j++] = dt.Rows[i]["SMP_STEEL_NO"].ToString();//钢印号 sheet.Cells[startRow + i, j++] = dt.Rows[i]["SPEC_STL_GRD"].ToString();//牌号 sheet.Cells[startRow + i, j++] = dt.Rows[i]["MATERIAL_NO"].ToString();//钢卷 sheet.Cells[startRow + i, j++] = dt.Rows[i]["MATERIAL_THK"].ToString();//规格 sheet.Cells[startRow + i, j++] = dt.Rows[i]["LA"].ToString();//a sheet.Cells[startRow + i, j++] = dt.Rows[i]["LB"].ToString();//b j++; j++; j++; j++; sheet.Cells[startRow + i, j++] = dt.Rows[i]["FE"].ToString();//Fe sheet.Cells[startRow + i, j++] = dt.Rows[i]["FM"].ToString();//Fm sheet.Cells[startRow + i, j++] = dt.Rows[i]["LO"].ToString();//Lo sheet.Cells[startRow + i, j++] = dt.Rows[i]["LU"].ToString();//Lu // sheet.Cells[startRow + i, j++] = dt.Rows[i]["ZJ"].ToString();//直径 // sheet.Cells[startRow + i, j++] = dt.Rows[i]["CB"].ToString();//冷弯 } range = sheet.get_Range(sheet.Cells[startRow, 1], sheet.Cells[startRow + (i - 1), j - 1 + 3]);//(Range)sheet.Rows[6, 1]; range.Borders.LineStyle = 1; range.NumberFormatLocal = "@";//设置单元格格式为文本 range.RowHeight = 22.5; //range.HorizontalAlignment = XlHAlign.xlHAlignLeft;//字体左靠 // range.RowHeight = 24; // System.DateTime dt = System.DateTime.Now; // string TimeNow = string.Format("{0:yyyyMMddHHmmssffff}", dt); } //冲击试验原始记录表 private void setData_2(System.Data.DataTable dt, Microsoft.Office.Interop.Excel.Worksheet sheet) { int startRow = 5;//模板数据填充从第五行开始 Range range = null; int i = 0; int j = 1; for (i = 0; i < dt.Rows.Count; i++) { j = 1; sheet.Cells[startRow + i, j++] = dt.Rows[i]["SMP_STEEL_NO"].ToString();//钢印号 sheet.Cells[startRow + i, j++] = dt.Rows[i]["SPEC_STL_GRD"].ToString();//牌号 sheet.Cells[startRow + i, j++] = dt.Rows[i]["MATERIAL_NO"].ToString();//钢卷 sheet.Cells[startRow + i, j++] = dt.Rows[i]["MATERIAL_THK"].ToString();//规格 j++;//温度 sheet.Cells[startRow + i, j++] = dt.Rows[i]["A1"].ToString();//A1 sheet.Cells[startRow + i, j++] = dt.Rows[i]["A2"].ToString();//A2 sheet.Cells[startRow + i, j++] = dt.Rows[i]["A3"].ToString();//A3 //sheet.Cells[startRow + i, j++] = dt.Rows[i]["FM"].ToString();//Fm //sheet.Cells[startRow + i, j++] = dt.Rows[i]["LO"].ToString();//Lo //sheet.Cells[startRow + i, j++] = dt.Rows[i]["LU"].ToString();//Lu //sheet.Cells[startRow + i, j++] = dt.Rows[i]["ZJ"].ToString();//直径 //sheet.Cells[startRow + i, j++] = dt.Rows[i]["CB"].ToString();//冷弯 } //设置样式 range = sheet.get_Range(sheet.Cells[startRow, 1], sheet.Cells[startRow + (i - 1), j - 1 + 1]);//(Range)sheet.Rows[6, 1]; range.Borders.LineStyle = 1; range.NumberFormatLocal = "@";//设置单元格格式为文本 range.RowHeight = 22.5; } public static void ttt() { //CheckBoxUIElement checkBoxUIElement = parent.GetDescendant(typeof(CheckBoxUIElement)) as CheckBoxUIElement; } } }