Я нажимаю на 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
Изображение
Данные 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);
}
}