zoukankan      html  css  js  c++  java
  • 将Excel表格数据转换成Datatable

    /// <summary>
    /// 将Excel表格数据转换成Datatable
    /// </summary>
    /// <param name="fileUrl">文件地址</param>
    /// <param name="table">table命名</param>
    /// <returns></returns>

    public DataTable GetExcelDatatable(string fileUrl, string table)
    {
    //office2007之前 仅支持.xls
    //const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1';";
    //支持.xls和.xlsx,即包括office2010等版本的 HDR=Yes代表第一行是标题,不是数据;
    string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";

    System.Data.DataTable dt = null;
    //建立连接
    OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));
    try
    {
    //打开连接
    if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)
    {
    conn.Open();
    }


    System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
    string sqlstr = string.Empty;
    foreach (DataRow item in schemaTable.Rows)
    {
    //获取Excel的第一个Sheet名称
    string sheetName = item["TABLE_NAME"].ToString().Trim();
    //查询sheet中的数据
    string strSql = "select * from [" + sheetName + "]";
    OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
    DataSet ds = new DataSet();
    try
    {
    da.Fill(ds, table);
    }
    catch (Exception)
    {

    throw;
    }

    dt = ds.Tables[0];
    }
    return dt;
    }
    catch (Exception exc)
    {
    throw exc;
    }
    finally
    {
    conn.Close();
    conn.Dispose();
    }
    }

  • 相关阅读:
    1. MySQL的安装与配置
    18. SQL优化
    19. 优化数据库对象
    20. 锁问题
    21. 优化MySQL Server
    整合SSM基本配置
    第七周实验报告(五)&周总结
    Java作业-实验四
    Java实验三
    在IDEA中创建maven工程添加webapp
  • 原文地址:https://www.cnblogs.com/AbelAngelo/p/10909800.html
Copyright © 2011-2022 走看看