1 protected void Button1_Click(object sender, EventArgs e)
2 {
3 this.GridView1.DataSource = this.getExcelDate();
4 this.GridView1.DataBind();
5 }
6
7 protected DataSet getExcelDate()
8 {
9 //得到Excel文件路径
10 string fileName = Server.MapPath("App_Data/book.xls");
11 //查询Excel的连接字符串
12 string connStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;", fileName);
13 //2007的连接串
14 //string connStr = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES'",fileName);
15 //得到连接对象
16 OleDbConnection odconn = new OleDbConnection(connStr);
17 odconn.Open();
18 string sql = "select * from [sheet1$]";
19 OleDbDataAdapter oda = new OleDbDataAdapter(sql, odconn);
20 DataSet ds = new DataSet();
21 oda.Fill(ds);
22 odconn.Close();
23 return ds;
24
25 }
我想问的是 为什么我的EXCEL第一列是数字 可输出在gridview中却变成是F1 F2 F3...呢 改成是字母的就不会,第二列也不会....我用的是金山那个2010的哪里
以下是gridview输出的内容
F1 | F2 |
1 | 2 |
以是下EXCEL的内容
1 | 2 |
1 | 2 |
你调试下会发现你返回的DataSet里面本身就是这样
你要把是数字的单元格改成文本格式,或者你在程序里设置,我看你的程序什么都没有修改
查询Excel的连接字符串
是否有问题,或者就是楼上说的,
你要把是数字的单元格改成文本格式,或者你在程序里设置,我看你的程序什么都没有修改