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

 更新时间:2015年08月18日 16:08:32   作者:.net包子  
在浏览网页时,一定会看到我们需要保存的信息,我们比较常用的方法就是拖动鼠标,选中我们需要的内容,然后ctrl+c,然后在保持到excel当中去,那么如何用asp.net获取excel表的内容呢,下面小编就给大家介绍asp.net获取excel表的内容,需要的朋友可以参考下

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

首先引用组件和命名空间

using Microsoft.Office.Interop.Excel;
 using System.Data.OleDb;

然后把excel上传到指定路径

上传文件方法省略

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

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表格数据,具体如下:

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表的内容,希望对大家有所帮助

相关文章

  • C#自定义特性(Attribute)详解

    C#自定义特性(Attribute)详解

    本文详细讲解了C#的自定义特性(Attribute),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • c# 二分查找算法

    c# 二分查找算法

    折半搜索,也称二分查找算法、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法
    2013-10-10
  • C# SimpleJSON字典反序列化实战教程

    C# SimpleJSON字典反序列化实战教程

    C# 解析JSON道路千万条,其中最流行的还是由Newtonsoft出品的Json.NET,只需要将Json的结构做成C#的class,即可实现完美的序列化和反序列化,这篇文章主要介绍了C# SimpleJSON字典反序列化实战教程,需要的朋友可以参考下
    2024-03-03
  • C#如何动态设置屏幕分辨率

    C#如何动态设置屏幕分辨率

    这篇文章主要为大家详细介绍了C#动态设置屏幕分辨率的方法,我们可以使用Screen类设置屏幕分辨率,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • C#使用CefSharp实现内嵌网页详解

    C#使用CefSharp实现内嵌网页详解

    这篇文章主要介绍了C# WPF里怎么使用CefSharp嵌入一个网页,并给出一个简单示例演示C#和网页(JS)的交互实现,感兴趣的小伙伴可以了解一下
    2023-04-04
  • C#泛型方法在lua中表示的一种设计详解

    C#泛型方法在lua中表示的一种设计详解

    这篇文章主要给大家介绍了关于C#泛型方法在lua中表示的一种设计的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • C# Socket连接请求超时机制实现代码分享

    C# Socket连接请求超时机制实现代码分享

    这篇文章主要介绍了C# Socket连接请求超时机制实现,下面提供代码分享,大家可以参考使用
    2013-12-12
  • 支持多类型数据库的c#数据库模型示例

    支持多类型数据库的c#数据库模型示例

    本文为大家提供一个c#数据库访问模型,支持多类型数据库,简单抽取数据库访问函数,大家参考使用吧
    2014-01-01
  • C# 递归算法详解

    C# 递归算法详解

    什么是递归函数/方法?任何一个方法既可以调用其他方法也可以调用自己,而当这个方法调用自己时,我们就叫它递归函数或递归算法,接下来详细介绍需要了解的朋友可以参考下
    2021-11-11
  • C#使用 NAudio 实现音频可视化的方法

    C#使用 NAudio 实现音频可视化的方法

    这篇文章主要介绍了[C#] 使用 NAudio 实现音频可视化的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05

最新评论