using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Windows.Forms; namespace M423project { public partial class FormDownTime : Form { public FormDownTime() { InitializeComponent(); LoadInfo(); } public void LoadInfo() { gridA.AutoGenerateColumns = false; gridB.AutoGenerateColumns = false; DateTime now = DateTime.Now; dtBegin.Value = now; dtEnd.Value = now; DownTimeData downTimeData = new DownTimeData(); var list = downTimeData.GetEnumList(typeof(DownTimeType)); list.Insert(0, new EnumEntity { Value = 0, Name = "全部", Description = "全部" }); list.RemoveAt(list.Count - 1); cbType.DataSource = list; gridA.Columns["BeginTime"].DefaultCellStyle.Format="yyyy-MM-dd HH:mm:ss"; gridA.Columns["EndTime"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss"; gridB.Columns["BeginTimeB"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss"; gridB.Columns["EndTimeB"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss"; } private void btnQuery_Click(object sender, EventArgs e) { DownTimeData downTimeData = new DownTimeData(); DataTable dt = new DataTable(); switch (tabControl1.SelectedIndex) { case 0: dt = downTimeData.GetDownTimeList(((EnumEntity)cbType.SelectedValue).Value, dtBegin.Value, dtEnd.Value); //if (dt.Rows.Count > 0) //{ // int totalSec = 0; // foreach (DataRow row in dt.Rows) // { // totalSec += Convert.ToInt32(row["TimeNeedSec"]); // } // dt.Rows.Add(); // int rowCount = dt.Rows.Count; // dt.Rows[rowCount - 1]["Row"] = "合计"; // dt.Rows[rowCount - 1]["TimeNeedSec"] = totalSec.ToString(); // dt.Rows[rowCount - 1]["TimeNeedMin"] = (totalSec / 60.00).ToString(); //} gridA.DataSource = dt; break; case 1: dt = downTimeData.GetDownTimeList((int)DownTimeType.NoAction, dtBegin.Value, dtEnd.Value); gridB.DataSource = dt; break; } } private void btnExport_Click(object sender, EventArgs e) { switch (tabControl1.SelectedIndex) { case 0: DataGridViewToExcel(gridA); break; case 1: DataGridViewToExcel(gridB); break; } } private void DataGridViewToExcel(DataGridView dgv) { SaveFileDialog dlg = new SaveFileDialog(); dlg.Filter = "Execl files (*.csv)|*.csv"; dlg.FilterIndex = 0; dlg.RestoreDirectory = true; dlg.CreatePrompt = true; dlg.Title = "导出到Excel文件"; if (dlg.ShowDialog() == DialogResult.OK) { Stream myStream; myStream = dlg.OpenFile(); StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.UTF8); string columnTitle = ""; try { for (int i = 0; i < dgv.ColumnCount; i++) { if (i > 0) { columnTitle += ","; } columnTitle += dgv.Columns[i].HeaderText; } sw.WriteLine(columnTitle); for (int j = 0; j < dgv.Rows.Count; j++) { string columnValue = ""; for (int k = 0; k < dgv.Columns.Count; k++) { if (k > 0) { columnValue += ","; } if (dgv.Rows[j].Cells[k].Value == null) columnValue += ""; else columnValue += dgv.Rows[j].Cells[k].Value.ToString().Trim(); } sw.WriteLine(columnValue); } sw.Close(); myStream.Close(); } catch (Exception e) { MessageBox.Show(e.ToString()); } finally { sw.Close(); myStream.Close(); } } } } }