Asp.net(C#)操作Excel的问题

原创 2011年04月12日 16:07:00

     1.使用ADO.NET访问Excel?

答:

   首先代码如下。

           //指定链接的数据源
            string source = "F://XXX//XXX//showpic//showpic//商品销售.xls";
            string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + source + ";extended properties='Excel 8.0;HDR=YES;IMEX=1;'";
            //设定select语句
            string query = "select * from [商品销售$]";
            OleDbConnection oleConnection = new OleDbConnection(sConnectionString);
            oleConnection.Open();
            OleDbCommand oleCommand = new OleDbCommand(query,oleConnection);
            OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
            DataSet ds = new DataSet();
            //填充适配器中的数据集
            oleAdapter.Fill(ds,"[商品销售$]");

            //绑定GridView的数据源
            GridView1.DataSource = ds;
            GridView1.DataMember = "[商品销售$]";
            //绑定数据源到GridView
            if (!this.IsPostBack)
            {
                GridView1.DataBind();
            }
            if (!this.IsPostBack)
            {
               //清空下拉列表框
                DropDownList1.Items.Clear();
                //用数据库的数据设置下拉列表框中的选项
                for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                {
                    DropDownList1.Items.Add(ds.Tables[0].Columns[i].ToString());
                }
                //关闭数据连接
                oleConnection.Close();
            }

 

   上面过程中有几个方面值得我们注意:

第一,注意链接数据源代码,

string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + source + ";extended properties='Excel 8.0;HDR=YES;IMEX=1;'";

  其中,extended properties=Excel 8.0,而不是12.0 ,其次,如果读Excel出来的数据为空或者出错,则是因为没有添加HDR=YES;IMEX=1; 最后,如果你读出来的数据有“F1”“F2”等的说明,入伏哦想取消的话,就需要设置HDR参数为YES

二、数据处理     
现在,我们来看看到底怎样具体对数据进行操作。     
1、Select语句     
Select语句是所有数据操作里面最常见最常用的,现在,我们首先看最简单的取得一个数据表(WorkSheet)的所有数据,假设这个数据表(WorkSheet)名为“First”,可以这样取得所有数据:SELECT   *   FROM   [First$]。这里,我们要注意两点:一是数据表名必须用方括符;二是数据表名字一定要加一个“$”符号来表示这是一个数据表。我们还可以限制检索数据的范围,比如我们要检索A1到D20的所有数据,可以这样检索:SELECT   *   FROM   [SampleSheet$A1:D20],这里,使用A1:D20来限制检索范围。如果数据表第一行已经定义数据列的名字,我们可以选择需要显示的数据列来检索:SELECT   姓名   FROM   [First$A1:B2]。     
    我们在具体使用中一定要注意几点:(1)针对每一列数据,定义数据的名字或者类型;比如我们在人事表中,可以定义“姓名”、“性别”等列,当然,这里的定义就是设置列的第一行值为需要定义的值。(2)注意Excel数据结构和Access的不同;在处理数据的过程中严格区别两者的差异,不要将Access数据处理SQL语句直接移植来操作Excel。   

  
2、Insert语句     
Insert语句在Excel中可能使用起来比较麻烦,因为Excel中,怎样来区分每一列数据呢?Access中每列数据有数据段名,Excel中没有这一项设置。看看刚才我们使用的Select语句,我们用数据列的第一行作为数据列名来检索数据,现在,我们也用第一行来区分数据列,比如可以这样插入数据:INSERT   INTO   [first$]   (姓名,性别,年龄)   valueS   ( '章三 ',   '男 ',   '23 ')。     
    
3、Update语句     
Update语句和Insert语句差不多,比如我们可以这样修改更新数据:UPDATE   SampleSheet$   SET   Age   =   '24 '   WHERE   FirstName   =   'John '   AND   LastName   =   'Albert '     
    
4、建立数据表(WorkSheet)     
和操作Access一样,我们直接听过代码来建立新的数据表:     
CREATE   TABLE   NewSheet   (   Position   char(255),   Department   char(255),   DeptEmail   char(255))   

 

 

 

 

asp.net(C#)套用模板操作Excel

当需要输出带大量公式的Excel文档的时候,在代码里写公式就太累了。   用设计好的Excel模板,复制一下,往里面添加数据比较省事。   模板 大气象   using Sys...

Asp.net/c#+OleDb操作excel文件(二),数据传输使用Parameters

Asp.net/c#+OleDb操作excel文件(二),数据传输使用Parameters
  • dz45693
  • dz45693
  • 2011年01月12日 16:35
  • 2589

asp.net(C#)之NPOI"操作Excel

1.首先到网上下载"NPOI.DLL",引用。 2.新建一个操作类“ExcelHelper.cs”: using System.Collections.Generic; using System....

ASP.NET(C#) 读取EXCEL问题汇总

使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可。 一 在D盘创建excel文件test.xls:    二 将工作表Sheet1的内容读取到DataSet ...

C# asp.net 操作Excel

  • 2011年12月27日 08:16
  • 3KB
  • 下载

C#数据库数据导入导出系列之一 ASP.NET Excel导入Sql Server数据库

C#数据库数据导入导出系列之一 ASP.NET Excel导入Sql Server数据库 在日常的项目中,Excel,Word,txt等格式的数据导入到数据库中是很常见的,我在这里做一下总结 这里...
  • cpcpc
  • cpcpc
  • 2011年12月01日 09:11
  • 16220

C#数据库数据导入导出系列之一 ASP.NET Excel导入Sql Server数据库

C#数据库数据导入导出系列之一 ASP.NET Excel导入Sql Server数据库 在日常的项目中,Excel,Word,txt等格式的数据导入到数据库中是很常见的,我在这里做一下总结 ...

ExcelHelper(Excel和C#、asp.net导入导出,通用类)

/// /// 插列(在指定WorkSheet指定列右边插入指定数量列) /// /// /// /// public void InsertColumn...

ExcelHelper(Excel和C#、asp.net导入导出,通用类)(一)

http://blog.163.com/it_software/blog/static/1238582962010518113421381/ using System; using...
  • plean
  • plean
  • 2011年08月17日 16:54
  • 1689

ExcelHelper(Excel和C#、asp.net导入导出,通用类)(三)

http://blog.163.com/it_software/blog/static/1238582962010518113524723/ ///   /// 隐藏指定索引的工...
  • plean
  • plean
  • 2011年08月17日 16:55
  • 690
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Asp.net(C#)操作Excel的问题
举报原因:
原因补充:

(最多只允许输入30个字)