C# 读取excel文件中的值并显示在gridview控件中以及判断excel是否为空!

在前台拖一个FileUpload1、button、gridview、label(显示打开成功之类的)控件,在button事件下写以下代码:

View Code
 1  if (FileUpload1.HasFile)//判断fileupload1是否为空
2 {
3 Label1.Text = "";
4 string fullname = FileUpload1.FileName.ToString();
5
6 //直接取得文件名
7 string url = FileUpload1.PostedFile.FileName.ToString();
8 //取得全部的上传文件路径
9 string fileName = Path.GetFileNameWithoutExtension(FileUpload1.PostedFile.FileName);
10 string typ = FileUpload1.PostedFile.ContentType.ToString();
11 //获取文件名字 . 后面的字符作为文件类型
12 string size = FileUpload1.PostedFile.ContentLength.ToString();
13 //获取文件MIME内容类型
14 string typ2 = fullname.Substring(fullname.LastIndexOf(".") + 1);
15 if (typ2 == "xls" || typ2 == "xlsx")
16 {
17 //OpenExcel(url);
18
19
20 DataSet dataset = CreateDataSource(url);
21 GridView1.DataSource = dataset;
22 GridView1.DataBind();
23
24 if (dataset.Tables[0].Rows.Count > 2)
25 {
26 Label1.Text = "文件打开成功!请见下面↓";
27
28 }
29
30 else
31 {
32
33 Label1.Text = "此文件为空文件!";
34 }
35
36 }
37 else
38 {
39 Label1.Text = "只能打开Excel文件!";
40 }
41
42 }
43 else
44 {
45 Label1.Text = "没有选择任何文件!";
46 }


下面代码是读取excel的方法

View Code
 1  private DataSet CreateDataSource(string path)
2 {
3
4 string strConn;
5 strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1;\"";
6 OleDbConnection conn = new OleDbConnection(strConn);
7 OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$] ", strConn);
8 DataSet myDataSet = new DataSet();
9 myCommand.Fill(myDataSet);
10 return myDataSet;
11
12 }


这样就能读取excel文件中的值并显示出来。

也可以下载源文件:下载

posted @ 2012-01-12 13:34  Risfeng  阅读(994)  评论(0编辑  收藏  举报