protected override void PrintSec() { // レコード定義を行う // DataTable table = new DataTable(); ukkthbl = new UrikakekinTairyuuHyou_BL(); string header = string.Empty; DataTable dtPrint; if (PrintMode != EPrintMode.DIRECT) { return; } if (ErrorCheck()) { msce = new M_StoreClose_Entity(); msce = GetStoreClose_Data(); DateTime now = Convert.ToDateTime(txtDate.Text.ToString() + "/01 00:00:00"); string[] strmonth = new string[12]; for (int i = 11; i >= 0; i--) { strmonth[i] = now.AddMonths(-i).ToString().Substring(0, 7); } dtPrint = ukkthbl.Select_DataToExport(msce); //header = "棚入れリスト"; try { if (dtPrint == null || dtPrint.Rows.Count <= 0) { bbl.ShowMessage("E128"); txtDate.Focus(); } else { string customerCD = string.Empty; for (int i = 0; i < dtPrint.Rows.Count; i++) { if (customerCD != dtPrint.Rows[i]["CustomerCD"].ToString()) { customerCD = dtPrint.Rows[i]["CustomerCD"].ToString(); } DataTable dtResult = dtPrint.Select("SaleA='売上' and CustomerCD='" + customerCD + "'").CopyToDataTable(); if (dtResult.Rows.Count == 1) { dtPrint.Rows[i]["Result"] = dtResult.Rows[0]["Result"].ToString(); } } //xsdファイルを保存します。 //①保存した.xsdはプロジェクトに追加しておきます。 DialogResult ret; UrikakekinTairyuuHyou_Report Report = new UrikakekinTairyuuHyou_Report(); switch (PrintMode) { case EPrintMode.DIRECT: ret = bbl.ShowMessage("Q202"); if (ret == DialogResult.No) { return; } //} // 印字データをセット Report.SetDataSource(dtPrint); Report.Refresh(); Report.SetParameterValue("txtStore", cboStore.SelectedValue.ToString() + " " + cboStore.Text); Report.SetParameterValue("txtMonth11", strmonth[11].ToString()); Report.SetParameterValue("txtMonth10", strmonth[10].ToString()); Report.SetParameterValue("txtMonth9", strmonth[9].ToString()); Report.SetParameterValue("txtMonth8", strmonth[8].ToString()); Report.SetParameterValue("txtMonth7", strmonth[7].ToString()); Report.SetParameterValue("txtMonth6", strmonth[6].ToString()); Report.SetParameterValue("txtMonth5", strmonth[5].ToString()); Report.SetParameterValue("txtMonth4", strmonth[4].ToString()); Report.SetParameterValue("txtMonth3", strmonth[3].ToString()); Report.SetParameterValue("txtMonth2", strmonth[2].ToString()); Report.SetParameterValue("txtMonth1", strmonth[1].ToString()); Report.SetParameterValue("txtMonth0", strmonth[0].ToString()); if (ret == DialogResult.Yes) { var previewForm = new Viewer(); previewForm.CrystalReportViewer1.ShowPrintButton = true; previewForm.CrystalReportViewer1.ReportSource = Report; previewForm.ShowDialog(); } else /// //Still Not Working because of Applymargin and Printer not Setting up (PTK Will Solve) { //int marginLeft = 360; CrystalDecisions.Shared.PageMargins margin = Report.PrintOptions.PageMargins; margin.leftMargin = DefaultMargin.Left; // mmの指定をtwip単位に変換する margin.topMargin = DefaultMargin.Top; margin.bottomMargin = DefaultMargin.Bottom; //mmToTwip(marginLeft); margin.rightMargin = DefaultMargin.Right; Report.PrintOptions.ApplyPageMargins(margin); /// Error Now // プリンタに印刷 System.Drawing.Printing.PageSettings ps; try { System.Drawing.Printing.PrintDocument pDoc = new System.Drawing.Printing.PrintDocument(); CrystalDecisions.Shared.PrintLayoutSettings PrintLayout = new CrystalDecisions.Shared.PrintLayoutSettings(); System.Drawing.Printing.PrinterSettings printerSettings = new System.Drawing.Printing.PrinterSettings(); Report.PrintOptions.PrinterName = "\\\\dataserver\\Canon LBP2900"; System.Drawing.Printing.PageSettings pSettings = new System.Drawing.Printing.PageSettings(printerSettings); Report.PrintOptions.DissociatePageSizeAndPrinterPaperSize = true; Report.PrintOptions.PrinterDuplex = PrinterDuplex.Simplex; Report.PrintToPrinter(printerSettings, pSettings, false, PrintLayout); } catch (Exception ex) { } } break; case EPrintMode.PDF: if (bbl.ShowMessage("Q204") != DialogResult.Yes) { return; } string filePath = ""; if (!ShowSaveFileDialog(InProgramNM, out filePath)) { return; } // 印字データをセット Report.SetDataSource(dtPrint); Report.Refresh(); Report.SetParameterValue("txtSouko", cboStore.SelectedValue.ToString() + " " + cboStore.Text); Report.SetParameterValue("txtHeader", header); bool result = OutputPDF(filePath, Report); //PDF出力が完了しました。 bbl.ShowMessage("I202"); break; } //InsertLog(Get_L_Log_Entity(dtPrint)); } } finally { } } }
public void ExcelExport() { if (ErrorCheck()) { if (CheckBeforeExport()) { if (bbl.ShowMessage("Q205") == DialogResult.Yes) { msce = new M_StoreClose_Entity(); msce = GetStoreClose_Data(); DateTime now = Convert.ToDateTime(txtDate.Text.ToString() + "/01 00:00:00"); string[] strmonth = new string[12]; for (int i = 11; i >= 0; i--) { strmonth[i] = now.AddMonths(-i).ToString().Substring(0, 7).ToString(); } DataTable dt = ukkthbl.Select_DataToExport(msce); //DataRow dr = dt.NewRow(); //dr["CustomerCD"] = ""; //dr["CustomerName"] = ""; //dr["SaleA"] = ""; //dr["11"] = Convert.ToString(strmonth[11]); //dr["10"] = strmonth[10].ToString(); //dr["9"] = strmonth[9].ToString(); //dr["8"] = strmonth[8].ToString(); //dr["7"] = strmonth[7].ToString(); //dr["6"] = strmonth[6].ToString(); //dr["5"] = strmonth[5].ToString(); //dr["4"] = strmonth[4].ToString(); //dr["3"] = strmonth[3].ToString(); //dr["2"] = strmonth[2].ToString(); //dr["1"] = strmonth[1].ToString(); //dr["0"] = strmonth[0].ToString(); //dt.Rows.Add(dr); if (dt.Rows.Count > 0) { string customerCD = string.Empty; for (int i = 0; i < dt.Rows.Count; i++) { if (customerCD != dt.Rows[i]["CustomerCD"].ToString()) { customerCD = dt.Rows[i]["CustomerCD"].ToString(); } DataTable dtResult = dt.Select("SaleA='売上' and CustomerCD='" + customerCD + "'").CopyToDataTable(); if (dtResult.Rows.Count == 1) { dt.Rows[i]["Result"] = dtResult.Rows[0]["Result"].ToString(); } } //dt.Columns["CustomerCD"].ColumnName =" "; //dt.Columns["CustomerName"].ColumnName = " "; //dt.Columns["SaleA"].ColumnName = " "; dt.Columns["11"].ColumnName = strmonth[11].ToString(); dt.Columns["10"].ColumnName = strmonth[10].ToString(); dt.Columns["9"].ColumnName = strmonth[9].ToString(); dt.Columns["8"].ColumnName = strmonth[8].ToString(); dt.Columns["7"].ColumnName = strmonth[7].ToString(); dt.Columns["6"].ColumnName = strmonth[6].ToString(); dt.Columns["5"].ColumnName = strmonth[5].ToString(); dt.Columns["4"].ColumnName = strmonth[4].ToString(); dt.Columns["3"].ColumnName = strmonth[3].ToString(); dt.Columns["2"].ColumnName = strmonth[2].ToString(); dt.Columns["1"].ColumnName = strmonth[1].ToString(); dt.Columns["0"].ColumnName = strmonth[0].ToString(); DataTable dtExport = dt; string folderPath = "C:\\SMS\\"; if (!Directory.Exists(folderPath)) { Directory.CreateDirectory(folderPath); } SaveFileDialog savedialog = new SaveFileDialog(); savedialog.Filter = "Excel Files|*.xlsx;"; savedialog.Title = "Save"; savedialog.FileName = "売掛滞留一覧表印刷"; savedialog.InitialDirectory = folderPath; savedialog.RestoreDirectory = true; if (savedialog.ShowDialog() == DialogResult.OK) { #region Test //Microsoft.Office.Interop.Excel._Application excel = new Microsoft.Office.Interop.Excel.Application(); //excel.Application.Workbooks.Add(Type.Missing); //excel.Columns.AutoFit(); //for(int i=3; i< dtExport.Columns.Count+1; i++) //{ // Microsoft.Office.Interop.Excel.Range xlRange = (Microsoft.Office.Interop.Excel.Range)excel.Cells[3, i]; // //xlRange.Font.Bold = -1; // xlRange.Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous; // xlRange.Borders.Weight = 1d; // xlRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; // excel.Cells[3, i] = dtExport.Columns[i - 1].ColumnName; //} ///*For storing Each row and column value to excel sheet*/ //for (int i = 1; i < dtExport.Rows.Count; i++) //{ // for (int j = 0; j < dtExport.Columns.Count; j++) // { // if (dtExport.Rows[i][j] != null) // { // Microsoft.Office.Interop.Excel.Range xlRange = (Microsoft.Office.Interop.Excel.Range)excel.Cells[i + 2, j + 1]; // xlRange.Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous; // xlRange.Borders.Weight = 1d; // excel.Cells[i + 2, j + 1] = "'"+dtExport.Rows[i][j].ToString(); // } // } //} //excel.Columns.AutoFit(); // Auto fix the columns size //System.Windows.Forms.Application.DoEvents(); //string name = "売掛滞留一覧表印刷"; //if (Directory.Exists("C:\\CTR_Data\\")) // Folder dic //{ // excel.ActiveWorkbook.SaveCopyAs("C:\\CTR_Data\\" +name + ".xlsx"); //} //else //{ // Directory.CreateDirectory("C:\\CTR_Data\\"); // excel.ActiveWorkbook.SaveCopyAs("C:\\CTR_Data\\" + name + ".xlsx"); //} //excel.ActiveWorkbook.Saved = true; //System.Windows.Forms.Application.DoEvents(); #endregion if (Path.GetExtension(savedialog.FileName).Contains(".xlsx")) { Microsoft.Office.Interop.Excel._Application excel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel._Workbook workbook = excel.Workbooks.Add(Type.Missing); Microsoft.Office.Interop.Excel._Worksheet worksheet = null; worksheet = workbook.ActiveSheet; worksheet.Name = "worksheet"; using (XLWorkbook wb = new XLWorkbook()) { wb.Worksheets.Add(dtExport, "worksheet"); wb.Worksheet("worksheet").Row(1).InsertRowsAbove(1); wb.Worksheet("worksheet").Row(1).InsertRowsAbove(1); wb.Worksheet("worksheet").Row(1).InsertRowsAbove(1); wb.Worksheet("worksheet").Cell(1, 1).Value = "年月:"; wb.Worksheet("worksheet").Cell(2, 1).Value = "店舗:"; wb.Worksheet("worksheet").Cell(1, 2).Value = "'" + strmonth[11].ToString(); wb.Worksheet("worksheet").Cell(1, 3).Value = "~"; wb.Worksheet("worksheet").Cell(1, 4).Value = "'" + strmonth[0].ToString(); wb.Worksheet("worksheet").Cell(2, 2).Value = "'" + cboStore.SelectedValue.ToString(); wb.Worksheet("worksheet").Cell(2, 3).Value = cboStore.Text.ToString(); wb.Worksheet("worksheet").Cell(4, 1).Value = " "; wb.Worksheet("worksheet").Cell(4, 2).Value = " "; wb.Worksheet("worksheet").Cell(4, 3).Value = " "; wb.Worksheet("worksheet").Cell(4, 16).Value = "売掛月数"; //wb.Worksheet("worksheet").Cell(3, 4).Value = "'" + strmonth[11].ToString(); //wb.Worksheet("worksheet").Cell(3, 5).Value = "'" + strmonth[10].ToString(); //wb.Worksheet("worksheet").Cell(3, 6).Value = "'" + strmonth[9].ToString(); //wb.Worksheet("worksheet").Cell(3, 7).Value = "'" + strmonth[8].ToString(); //wb.Worksheet("worksheet").Cell(3, 8).Value = "'" + strmonth[7].ToString(); //wb.Worksheet("worksheet").Cell(3, 9).Value = "'" + strmonth[6].ToString(); //wb.Worksheet("worksheet").Cell(3, 10).Value = "'" + strmonth[5].ToString(); //wb.Worksheet("worksheet").Cell(3, 11).Value = "'" + strmonth[4].ToString(); //wb.Worksheet("worksheet").Cell(3, 12).Value = "'" + strmonth[3].ToString(); //wb.Worksheet("worksheet").Cell(3, 13).Value = "'" + strmonth[2].ToString(); //wb.Worksheet("worksheet").Cell(3, 14).Value = "'" + strmonth[1].ToString(); //wb.Worksheet("worksheet").Cell(3, 15).Value = "'" + strmonth[0].ToString(); //wb.Worksheet("worksheet").Cell(3, 16).Value = "売掛月数"; //wb.Worksheet("worksheet").SetShowRowColHeaders(true); wb.Worksheet("worksheet").Tables.FirstOrDefault().ShowAutoFilter = false; //wb.Worksheet("worksheet").Tables.FirstOrDefault().ShowHeaderRow = false; //wb.Worksheet("worksheet").Rows("4").Delete(); wb.SaveAs(savedialog.FileName); bbl.ShowMessage("I203", string.Empty, string.Empty, string.Empty, string.Empty, string.Empty); } Process.Start(Path.GetDirectoryName(savedialog.FileName)); } // Process.Start(Path.GetDirectoryName(savedialog.FileName)); } } else { bbl.ShowMessage("E128"); txtDate.Focus(); } } } } }