/// <summary> /// 写模板 /// </summary> /// <returns></returns> public MyExcel writeTemplate() { path = System.Windows.Forms.Application.StartupPath + "\\Template\\成衣报价.xls"; V_New_Excel v_New_Excel = new V_New_Excel(path); Worksheet wS = v_New_Excel.WS; Usual_Excel_Helper uEHelper = new Usual_Excel_Helper(wS); uEHelper.setSpecificCellValue("A1", "请在此填写成品名称", 18); uEHelper.setSpecificCellValue("A2", "序号", 16); uEHelper.setSpecificCellValue("B2", "工序", 16); uEHelper.setSpecificCellValue("F2", "序号", 16); uEHelper.setSpecificCellValue("G2", "工序", 16); uEHelper.merge("A1", "I1"); //设置列宽 uEHelper.setColumnWidth("A", 5.5M); uEHelper.setColumnWidth("B", 32.75M); uEHelper.setColumnWidth("C", 4.15M); uEHelper.setColumnWidth("D", 5.38M); uEHelper.setColumnWidth("E", 0.15M); uEHelper.setColumnWidth("F", 5.5M); uEHelper.setColumnWidth("G", 32.75M); uEHelper.setColumnWidth("H", 4.15M); uEHelper.setColumnWidth("I", 5.38M); v_New_Excel.saveWithoutAutoFit(); v_New_Excel.closeTheApp(); return(new MyExcel(path)); }
/// <summary> /// 导出到Excel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnExport_Click(object sender, EventArgs e) { OracleHelper oH = OracleHelper.getBaseDao(); if (string.IsNullOrEmpty(cbPN.Text.Trim())) { return; } if (CmdHelper.ifExistsTheProcessByName("EXCEL")) { return; } //获取该成品对应的工序。 System.Data.DataTable dt = null; OracleParameter paramPN = new OracleParameter("v_PN", OracleDbType.NVarchar2, 20); OracleParameter paramCur = new OracleParameter("retureCur", OracleDbType.RefCursor); paramPN.Direction = ParameterDirection.Input; paramCur.Direction = ParameterDirection.ReturnValue; paramPN.Value = cbPN.Text.Trim(); OracleParameter[] parameters = new OracleParameter[2] { paramCur, paramPN }; string procName = "Show_Products_Cost.get_P_C_Info_To_Piecework"; dt = oH.getDT(procName, parameters); _fileName = cbPN.Text.Trim() + ".xls"; DirectoryHelper.createDirecotry(_defaultDir); xlsFilePath = _defaultDir + _fileName; //获取一个Excel V_New_Excel v_Excel = new V_New_Excel(xlsFilePath); Worksheet wS = v_Excel.WS; Usual_Excel_Helper uEHelper = new Usual_Excel_Helper(wS); uEHelper.setSpecificCellValue(1, 1, cbPN.Text.Trim() + "报工单", 11, true); //写序号标题 uEHelper.setSpecificCellValue(2, 3, "姓名"); uEHelper.setSpecificCellValue(3, 1, "序号"); uEHelper.setSpecificCellValue(3, 2, "部位"); uEHelper.setSpecificCellValue(3, 3, "工序"); //姓名占据两列 //uEHelper.merge("C2", "D2"); //uEHelper.merge("C3","D3"); //Range range = wS.Range[wS.Cells[2, 3], wS.Cells[2, 4]]; //uEHelper.textAlighRight(range); //工序名称,单据时间靠右 //range = wS.Range[wS.Cells[3, 4], wS.Cells[3, 5]]; //uEHelper.textAlighRight(range); //设置第三列宽度 uEHelper.setColumnWidth("C", 42.25M); uEHelper.setColumnWidth("A", 5.13M); uEHelper.setRowHeight(1, 31); uEHelper.setRowHeight(2, 31); pb.Visible = true; pb.Value = 0; pb.Maximum = dt.Rows.Count; lblResult.Visible = false; lblPrompt.Visible = true; lblPrompt.Text = "请等待!"; //开始写信息 for (int i = 0; i <= dt.Rows.Count - 1; i++) { uEHelper.setSpecificCellValue(i + 4, 1, dt.Rows[i]["row_num"].ToString()); uEHelper.setSpecificCellValue(i + 4, 2, dt.Rows[i]["Summary_Process"].ToString()); uEHelper.setSpecificCellValue(i + 4, 3, dt.Rows[i]["specific_Process"].ToString()); pb.Value++; } pb.Visible = false; pb.Value = 0; lblResult.Visible = true; lblPrompt.Visible = false; lblPrompt.Text = ""; for (int columnIndex = 4; columnIndex <= 30; columnIndex++) { uEHelper.setColumnWidthByColumnIndex(columnIndex, 4.5M); } Range range = wS.Range[wS.Cells[2 + dt.Rows.Count, 30], wS.Cells[2 + dt.Rows.Count, 30]]; uEHelper.setAllTheBoxLine(range); uEHelper.merge("A1", "AD1"); v_Excel.displayAlert(); uEHelper.MergeTheSpecificColumnWithoutBlankContent(2); //设置边框。 uEHelper.setAllTheBoxLine(); v_Excel.saveWithoutAutoFit(); v_Excel.closeTheApp(); ShowResult.show(lblResult, cbPN.Text.Trim() + " 产量统计模板保存于: " + xlsFilePath, true); timerRestoreLblResult.Start(); }