2014-02-20 70 views
0

我有一个Excel文件,并希望在数据网格视图中显示Excel文件,如果用户单击按钮。列是导出Excel到数据网格视图

Date, Day, Start time, End time, Totaltime, Difftime and Work done. 

而我的样本行数据如下为A10行和A11行。

A10 2014年1月3日8:20 Saturda 22:30 13:40 4:40设计

A11 2014年2月3日星期日9:00 21:00 11:30 14:30编码

我的行在10到40的范围内,而列是从AG

如果我将它导入到数据网格视图日期和时间显示不正确。 01/03/2014显示为404977.我希望代码将Excel文件导出到datagridview,并且datagridview也应该显示与Excel相同的文件。任何人都可以解释如何在C#中使用日期,开始,结束,总计,差异,作为datagridview列完成的工作吗?

enter image description here

+0

导出或导入?窗体形式? – Sajeetharan

+0

您可以使用Openxml之类的东西来读取Excel文件中的数据,将数据存储在某些POCO对象中,然后将其写入数据网格。你是否检查过该excel列的数据类型?无论如何,你如何阅读数据? – Ren

+0

@Sajeetharan iwant在数据网格视图中显示excel ... –

回答

0

我假设你要导入到一个窗口窗体DataGridView,

Excel 2003中,

private void button1_Click(object sender, EventArgs e) 
    { 
     String name = "Yoursheetname"; 
     String constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + 
         "C:\\Sample.xls" + 
         ";Extended Properties='Excel 8.0;HDR=YES;';"; 

     OleDbConnection con = new OleDbConnection(constr); 
     OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "$]", con); 
     con.Open(); 

     OleDbDataAdapter sda = new OleDbDataAdapter(oconn); 
     DataTable data = new DataTable(); 
     sda.Fill(data); 
     grid_items.DataSource = data; 
    } 

为Excel 2007,

private void button1_Click(object sender, EventArgs e) 
    { 
     String name = "Yoursheetname"; 
     String constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + 
         "C:\\Sample.xlsx" + 
         ";Extended Properties='Excel 12.0 XML;HDR=YES;';"; 

     OleDbConnection con = new OleDbConnection(constr); 
     OleDbCommand oconn = new OleDbCommand("Select * From [" + name + "$]", con); 
     con.Open(); 

     OleDbDataAdapter sda = new OleDbDataAdapter(oconn); 
     DataTable data = new DataTable(); 
     sda.Fill(data); 
     grid_items.DataSource = data; 
    } 
+0

如何显示日期,日期,开始...将对他们查询什么....也是我的行范围是10-40如何选择仅行10-40和coloms ag使用查询 –

+0

它会自动绑定,如果你想要自定义列读取具有datagridview的自定义列。 – Sajeetharan

+0

我想从10到40的oly行以及从a到g的颜色出现在我的网格视图中..如何执行此操作。 –