#region 读取Excel数据到Gridview

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);

objConn.Close();

ExcelTable = ds.Tables[tableName];
        int iColums = ExcelTable.Columns.Count;//列数
        int iRows = ExcelTable.Rows.Count;//行数

//定义二维数组存储 Excel 表中读取的数据
        string[,] storedata = new string[iRows, iColums];

ArrayList list = new ArrayList();

for (int i = 0; i < ExcelTable.Rows.Count; i++)
        {
            SupermarketVO vo = new SupermarketVO();

for (int j = 1; j < ExcelTable.Columns.Count; j++)
            {
                //将Excel表中的数据存储到数组
                storedata[i, j] = ExcelTable.Rows[i][j].ToString();

if (j == 1)
                {
                    vo.Sup_nm = ExcelTable.Rows[i][j].ToString();
                }
                else if (j == 2)
                {
                    vo.Sup_linker = ExcelTable.Rows[i][j].ToString();
                }
                else if (j == 3)
                {
                    vo.Phone = ExcelTable.Rows[i][j].ToString();
                }
            }

//如果名称、联系人、电话都为空,则忽略该记录
            if (vo.Sup_nm.Trim() == "" && vo.Sup_linker.Trim() == "" && vo.Phone.Trim() == "")
            {
                continue;
            }
            else
            {
                list.Add(vo);
            }
        }

//判断记录数,以便于处理空记录时的显示
        if (list.Count < 1)
        {
            SupermarketVO vo = new SupermarketVO();
            list.Add(vo);

//设置空记录时的显示(包含表头显示)和绑定记录
            GridviewControl.GridViewDataBind(dgBom, list);
        }
        else
        {
            dgBom.DataSource = list;
            dgBom.DataBind();
        }

LblErrorInfo.Text = "导入操作已经完成。";
    }

#endregion

最新文章

  1. [deviceone开发]-do_Camera的简单示例
  2. linux线程同步(5)-屏障
  3. Bootstrap3.0学习第七轮(按钮)
  4. Watering the Fields(irrigation)
  5. TYVJ P1069 cowtour 看不懂题意
  6. Quartz Scheduler(2.2.1) - Usage of CronTriggers
  7. 【Java基础】Java异常的一些总结
  8. Windows Media Player Plus
  9. NSThread 、NSRunLoop 和 Dispatch Queue
  10. json概述及python处理json等数据类型
  11. 第六十三节,html表格元素
  12. Sasha and Array
  13. anaconda下安装新包一直报错(‘parse() got an unexpected keyword argument &#39;transport_encoding&#39;’)
  14. [Leetcode]112. Path Sum -David_Lin
  15. JVM垃圾回收机制之对象回收算法
  16. 安装mysql后,sql语句中表名区分大小写的问题
  17. 【转】安装ambari的时候遇到的ambari和hadoop问题集
  18. 一个小误区 JS中的contains
  19. 记一次免费让网站启用HTTPS的过程
  20. 未能加载或程序集“XXXX,Version=0.0.0.0,Culter=neutral,PublicKeyToken=null”或它的某一个依赖项。试图加载格式不正确的程序。

热门文章

  1. thrift例子:python客户端/java服务端
  2. RN 常见问题
  3. linux安装禅道的步骤
  4. CSS之 absoulte 属性
  5. log4j2配置文件解读
  6. spring容器启动原理分析1
  7. Android基础知识02—安卓日志工具LogCat的五种方法
  8. JPA + SpringData 操作数据库原来可以这么简单 ---- 深入了解 JPA - 3
  9. Java限流策略
  10. 自学LinkedBlockingQueue源码