• excel遇到的问题---外部表不是预期的格式。/csv 文件导入读取问题


     检查出了错误,Excel版本问题,Exce连接字符串版本是office2003的 ,更改为Excel2007版本则正常导入。 

     string strConn = 
     "Provider=Microsoft.Ace.OleDb.12.0;" + "data source
     =" + Server.MapPath("ExcelFiles/Mydata2007.xlsx") + ";
     Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; 
     //此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)

    使用OLEDB读取excel和csv文件

    /// <summary>
            /// 使用OLEDB读取excel和csv文件
            /// </summary>
            /// <param name="path">文件所在目录地址</param>
            /// <param name="name">文件名</param>
            /// <returns></returns>
            public static DataSet ReadFile(string path, string name)
            {
                if (string.IsNullOrWhiteSpace(path) || string.IsNullOrWhiteSpace(name) || !File.Exists(path+name))
                    return null;
                // 读取excel 
                string connstring = string.Empty;
                string strSql = string.Empty;
                if (name.EndsWith(".xls") || name.EndsWith(".xlsx"))
                {
                    connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + name + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
                    strSql = "select * from [sheet1$]";
                }
                // 读取csv文件
                else if (name.EndsWith(".csv"))
                {
                    connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='text;HDR=YES;FMT=Delimited';";
                    strSql = "select * from " + name;
                }
                else
                {
                    return null;
                }
                DataSet ds = null;
                OleDbConnection conn = null;
                try
                {
                    conn = new OleDbConnection(connstring);
                    conn.Open();
                    OleDbDataAdapter myCommand = null;
    
                    myCommand = new OleDbDataAdapter(strSql, connstring);
                    ds = new DataSet();
                    myCommand.Fill(ds, "table1");
                }
                catch (Exception e)
                {
                    throw e;
                }
                finally
                {
                    conn.Close();
                }
                return ds;
            }
  • 相关阅读:
    vim中实现php代码自动完成功能
    tt安装与配置
    GIT 常用命令
    Git命令行基本操作
    传统的分布式应用集成技术(网摘)
    离线安装IE 11
    Intellij IDEA破解激活
    Win7IE11 For x86&x64离线安装包
    Oracle Instant Client(即时客户端) 安装与配置
    转 [OpenCV]:Visual Studio 2012 搭建 OpenCV2.4.3
  • 原文地址:https://www.cnblogs.com/njccqx/p/9474226.html
Copyright © 2020-2023  润新知