Как пробел нажать на DataGridView одной ячейки, чтобы эти данные открыть в Excel и удалить на сегодня, не генерировать эти данные в Excel? - PullRequest
1 голос
/ 03 февраля 2020

Я нажимаю на DataGridView первый идентификатор столбца в первой записи и показываю, что id данные строки представляют в excel и открывают один раз на excel эту строку и удаляют сегодня временный на сегодня не показывает это запись и завтра покажу эту запись, пожалуйста, помогите мне

 private void Form1_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'lOANNOTICEDataSet.submenu' table. You can move, or remove it, as needed.
        SqlConnection con = new SqlConnection(@"Data Source=sanjay;Initial Catalog=Menu;Integrated Security=True");
        SqlCommand cmd = new SqlCommand("select * from submenu",con);
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        System.Data.DataTable dt = new System.Data.DataTable();
        sda.Fill(dt);

        dataGridView1.DataSource = dt;
        dataGridView1.ReadOnly = true;

        dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        dataGridView1.MultiSelect = false;


    }

Я получаю данные DataGridView в SQL -Server и отображать данные в Excel

Изображение

enter image description here

Данные grid view должны быть открыты в Excel. Также я просто нажимаю пробел в столбце. Я получаю те же данные строки в Excel и после открытия, сегодня они не могут быть открыты во второй раз, и они не появляются из grid view. На сегодня и завтра он снова будет виден пользователю завтра

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
    {
        SqlConnection con = new SqlConnection(@"Data Source=SANJAY;Initial Catalog=Menu;Integrated Security=True");
        Int32 rowToDelete = this.dataGridView1.Rows.GetFirstRow(DataGridViewElementStates.Selected);

        System.Data.DataTable dt;
        if (e.KeyCode == Keys.Space)
            {  

                DataGridViewRow dr = dataGridView1.SelectedRows[0];
                var x = dr.Cells[0].Value;
                DateTime today = DateTime.Now;
               DateTime  tomorrow = today.AddDays(1);




                         System.Text.StringBuilder sb =new System.Text.StringBuilder();

                                 string Querie="select * from submenu where submuenu_id='" +x.ToString()+ "'";

                                 SqlDataAdapter sda = new SqlDataAdapter(Querie, con);
                                 System.Data.DataTable dtDataTable1 = new System.Data.DataTable();
                                 sda.Fill(dtDataTable1);
                                 if (dtDataTable1.Rows.Count > 0)
                                 {
                                     Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
                                     Workbook xlWorkBook = ExcelApp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);

                                     sb.Append("<html><body>");
                                     sb.Append("<table style='border: 1px solid black;'>");
                                     var index = 1;

                                     sb.Append("<tr></tr>");

                                     sb.Append("<tr>");
                                     sb.Append("<td style='border: 1px solid black'>SrNO</td>");
                                     foreach (DataColumn column in dtDataTable1.Columns)
                                     {
                                         sb.Append("<td style='border: 1px solid black'>" + column.ColumnName + "</td>");
                                     }
                                     sb.Append("</tr>");
                                     ExcelApp.Windows.Application.ActiveWindow.DisplayGridlines = false;
                                     StringBuilder objSB = new StringBuilder();

                                     foreach (DataRow row in dtDataTable1.Rows)
                                     {
                                         sb.Append("<tr>");

                                         sb.Append("<td style='width:100px;border: 1px solid black'>" + index.ToString() + "</td>");
                                         foreach (DataColumn column in dtDataTable1.Columns)
                                         {
                                             sb.Append("<td style='width:100px;border: 1px solid black'>" + row[column.ColumnName].ToString() + "</td>");
                                         }
                                         index++;
                                         sb.Append("</tr>");
                                     }

                                     ExcelApp.Columns.AutoFit();


                                     sb.Append("</table>");
                                     sb.Append("</body></html>");
                                     String Todaysdate = DateTime.Now.ToString("dd-MM-yyyy");
                                     if (!Directory.Exists("C:\\Users\\test\\Desktop\\" + Todaysdate))
                                     {
                                         Directory.CreateDirectory("C:\\Users\\test\\Desktop\\" + Todaysdate);
                                     }
                                     using (System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\Users\\test\\Desktop\\" + Todaysdate + "\\Summury_final.XLS"))
                                     {
                                         file.WriteLine(sb.ToString());
                                     }
                                     Microsoft.Office.Interop.Excel.Application Excel = new Microsoft.Office.Interop.Excel.Application();
                                     Workbook xlWorkBook1 = ExcelApp.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
                                     xlWorkBook1 = Excel.Workbooks.Open("C:\\Users\\test\\Desktop\\" + Todaysdate + "\\Summury_final.XLS", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
                                     Microsoft.Office.Interop.Excel.Worksheet Wt = (Excel.Worksheet)xlWorkBook1.Worksheets.get_Item(1);
                                     Excel.Visible = true;


                                     if (rowToDelete > -1)
                                     {

                                         this.dataGridView1.Rows.RemoveAt(rowToDelete);

                                     }


                                 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...