PDA

View Full Version : سوال: نمایش اکسل بین دو تاریخ میلادی



علی فتحی
چهارشنبه 16 فروردین 1396, 21:31 عصر
با سلام برای نمایش اکسل از این کد استفاده کردم چگونه میتوان ان را بین دو تاریخ میلادی سورت کرد؟

try {


OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Select file";
ofd.InitialDirectory = @"c:\";
ofd.FileName = textBox1.Text;
ofd.Filter = "Excel Sheet(*.xlsx)|*.xlsx|All Files(*.*)|*.*";
ofd.FilterIndex = 1;
if (ofd.ShowDialog() == DialogResult.OK)
textBox1.Text = ofd.FileName;
string str = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source=" + textBox1.Text + ";Extended Properties =\"Excel 12.0; HDR=Yes;\";";
OleDbConnection con = new OleDbConnection(str);
OleDbDataAdapter adp = new OleDbDataAdapter("Select * From[Sheet1$]", con);


DataTable dt = new DataTable();
adp.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Columns[0].HeaderText = "ردیف";
dataGridView1.Columns[0].AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMod e.AllCells;
dataGridView1.Columns[1].Visible = false;
dataGridView1.Columns[2].HeaderText = "کدکارمند";
dataGridView1.Columns[2].AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMod e.AllCells;
dataGridView1.Columns[3].Visible = false;
dataGridView1.Columns[4].Visible = false;
dataGridView1.Columns[5].Visible = false;
dataGridView1.Columns[6].Visible = false;
dataGridView1.Columns[7].Visible = false;
dataGridView1.Columns[8].Visible = false;
// dataGridView1.Columns[9].DefaultCellStyle.Format = "d";
dataGridView1.Columns[9].HeaderText = "تاریخ";
dataGridView1.Columns[9].AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMod e.Fill;
}
catch
{
}

علی فتحی
چهارشنبه 16 فروردین 1396, 22:35 عصر
بعد از لود برای ذخیره در دیتابیس اینو نوشتم ولی خیلی خیلی کند عمل میکنه .یعنی برای ثبت 8000 رکود نیم ساعت طول میکشه.آیا راه بهتری برای ذخیره وجود داره.

foreach (DataGridViewRow row in dataGridView1.Rows) {
Trekord2 df = new Trekord2();
// df.id = int.Parse(row.Cells[0].Value.ToString());
df.kodp = int.Parse(row.Cells[2].Value.ToString());
df.date = Convert.ToDateTime(row.Cells[9].Value);
db.Trekord2.AddObject(df);
db.SaveChanges();
dataGridView2.DataSource = db.Trekord2.ToArray();
}