好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

asp.net页面中如何获取Excel表的内容

asp.net页面中如何获取Excel表的内容,具体内容介绍如下所示:

首先引用组件和命名空间

?

1

2

using Microsoft.Office.Interop.Excel;

  using System.Data.OleDb;

然后把excel上传到指定路径

上传文件方法省略

最后把上传的excel变成Dataset  (复制下面的方法就可以用了)

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

public DataSet seachExcel( string str) //参数为excel的路径

   {

     OleDbDataAdapter da = new OleDbDataAdapter();

     DataSet ds = new DataSet();

     DataTable dt = new DataTable();

     string NameTable = "" ;

     string ConText = "" ;

     try

     {

       //获取Excel路径

       FileInfo info = new FileInfo(str);

       //获取文件的扩展名

       string fileExt = info.Extension;

       //判断用哪种连接方式

       if (fileExt .ToLower() == ".xls" )

       {

         ConText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + str + ";Extended Properties='excel 8.0;hdr=no;IMEX=1';Persist Security Info=false" ;

       }

       else if (fileExt.ToLower() == ".xlsx" )

       {

         ConText = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + str + ";Extended Properties='excel 12.0 Xml;hdr=no;IMEX=1';Persist Security Info=False" ;

       }

       //连接excel

       OleDbConnection conn = new OleDbConnection(ConText);

      //打开excel

       conn.Open();

       dt=conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null );

         if (dt!= null && dt.Rows .Count >0)

         {

           //获取sheet1表单的表名

           NameTable = dt.Rows[0][ "TABLE_NAME" ].ToString();

           //获取sheet2表单的表名

           //NameTable = dt.Rows[1]["TABLE_NAME"].ToString();

         }

         string sql = "select * from [" + NameTable + "]" ;

         da = new OleDbDataAdapter(sql, conn);

         try

         {

           da.Fill(ds,NameTable); //把数据填充到Dataset

         } 

         catch

         { }

         conn.Close();

     }

     catch

     {

     }

     return ds; //反回Dataset

}

asp.net读取excel表格数据的方法

其实读取Excel表格中的数据和读取数据库中的数据是非常类似的,因为在某种程度上Excel表格可以看成是一张一张的数据表。其二者的主要区别在于所使用的数据引擎不一样。

在本文的程序中,通过下列代码实现读取Excel表格数据,具体如下:

?

1

2

3

4

5

6

7

8

9

string strDataPathPhy = "c://1.xls" ;

string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + strDataPathPhy + ";Extended Properties=Excel 8.0" ;

OleDbConnection myConn = new OleDbConnection(strCon);

string strCom = " SELECT * FROM [Sheet1$]" ;

myConn.Open();

OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);

DataTable dtData = new DataTable();

myCommand.Fill(dtData);

myConn.Close();

由于可以把Excel看左一个数据库,里面的工作表就可以看左每张数据库表,所以也可以对搜索结果进行筛选,例如:

 

复制代码 代码如下:


strCom = " SELECT * FROM [Sheet1$] WHERE column1 <> '' ";

 

这样dtData里面的数据就是[Sheet1$]表中column1不为空的全部数据了

以上就是本文介绍asp.net页面中如何获取Excel表的内容,希望对大家有所帮助

dy("nrwz");

查看更多关于asp.net页面中如何获取Excel表的内容的详细内容...

  阅读:70次