C#如何读取Excel表格数据并显示到GridView控件

原创 2007年12月25日 22:51:00

近日,有个项目,需要用Web形式将Excel表格中的数据导入到数据库中,为了简化问题的解决,现在先将表中数据导入到GridView控件上.

代码如下:

protected void Button1_Click(object sender, EventArgs e)
    
...{
        
string filepath=FileUpload1.PostedFile.FileName;
        ReadExcel(filepath, gdBom);
    }

    
public void ReadExcel(string sExcelFile,GridView dgBom)
    
...{
        DataTable ExcelTable;
        DataSet ds 
= new DataSet();
        
//Excel的连接
        OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile + ";" + "Extended Properties=Excel 8.0;");
        objConn.Open();
        DataTable schemaTable 
= objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
        
string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取Excel的表名,默认值是sheet1
        string strSql = "select * from [" + tableName + "]";
        OleDbCommand objCmd 
= new OleDbCommand(strSql, objConn);
        OleDbDataAdapter myData 
= new OleDbDataAdapter(strSql, objConn);
        myData.Fill(ds, tableName);
//填充数据

        dgBom.DataSource 
=ds;
        dgBom.DataBind();
        objConn.Close();
       
        ExcelTable 
= ds.Tables[tableName];
        
int iColums = ExcelTable.Columns.Count;//列数
        int iRows = ExcelTable.Rows.Count;//行数

        
//定义二维数组存储Excel表中读取的数据
        string[,] storedata = new string[iRows, iColums];
     
        
for(int i=0;i<ExcelTable.Rows.Count;i++)
            
for (int j = 0; j < ExcelTable.Columns.Count; j++)
            
...{
                
//将Excel表中的数据存储到数组
                storedata[i, j] = ExcelTable.Rows[i][j].ToString();
 
            }

        
int excelBom = 0;//记录表中有用信息的行数,有用信息是指除去表的标题和表的栏目,本例中表的用用信息是从第三行开始
        
//确定有用的行数
        for (int k = 2; k < ExcelTable.Rows.Count; k++)
            
if (storedata[k, 1!= "")
                excelBom
++;
        
if (excelBom == 0)
        
...{
            Response.Write(
"<script language=javascript>alert('您导入的表格不合格式!')</script>");
        }

        
else
        
...{
            
//LoadDataToDataBase(storedata,excelBom)//该函数主要负责将storedata中有用的数据写入到数据库中,在此不是问题的关键省略 
        }


    }

 运行效果如下图:选择BOM表的路径,点确定后

如下图

 

C#如何读取Excel表格数据并显示到GridView控件

  • 2014年08月18日 16:10
  • 73KB
  • 下载

asp.net 将本地excel表导入网页 并在gridview中显示

思路:用asp:FileUpload控件将excel文件上传到服务器,然后根据服务器的物理地址将该文件绑定到gridview,最后再将该文件删除 string strFile = Server.Ma...
  • sck0088
  • sck0088
  • 2015年06月03日 11:35
  • 249

使用GridView将数据导入或导出Excel中

using System; using System.Collections; using System.Configuration; using System.Data; using Sys...
  • lin_lujian
  • lin_lujian
  • 2011年10月26日 09:11
  • 409

将Excel文件中的数据导入GridView

在Asp.net中怎样将Excel文件中的数据导入到GridView中呢?下面我来为大家说说这个详细的过程。Excel文件就是一张数据表,当然我们可以把它看作一个数据源了。 首先我们将这张表...
  • xudepeng0813
  • xudepeng0813
  • 2012年02月15日 20:36
  • 2174

C#读取excel数据

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...
  • weixin_36602742
  • weixin_36602742
  • 2017年03月10日 15:22
  • 839

C# 保存表格数据到Excel

方法1这种方法需要在本机安装了Office,然后在程序中调用Windows Office的组件。 首先需要包含的空间:using Excel = Microsoft.Office.Interop.E...
  • m_buddy
  • m_buddy
  • 2017年05月18日 16:51
  • 1191

C#2005 Excel导入数据到GridView的类

    public class DataUtil    {        public DataUtil()        {        }        #region 导入数据到GridVi...
  • pkerboy
  • pkerboy
  • 2007年06月22日 15:39
  • 3259

C#把excel表格中的数据读入到数组

  • 2009年12月10日 23:37
  • 1KB
  • 下载

asp.net中利用NPOI导出数据到excel中

asp.net中利用NPOI实现导出DataSet到Excel中,首先下载对应的dll,下载地址:将其添加到项目引用中。下面给出一个方法NPOIHelper.cs,代码如下:using System;...
  • taomanman
  • taomanman
  • 2015年07月03日 15:15
  • 4050

C#将Excel数据表导入SQL数据库的两种方法

方法一: 实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data....
  • ryong1267
  • ryong1267
  • 2016年04月04日 21:33
  • 764
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#如何读取Excel表格数据并显示到GridView控件
举报原因:
原因补充:

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