• excel导入 总结


            public static string GetConnectionString(string FileName)
            {
                if (FileName.ToLower().EndsWith("xls"))
                {
                    return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1;';Persist Security Info=False";//2003
                }
                else if (FileName.ToLower().EndsWith("xlsx"))
                {
                    return "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + ";Extended Properties='Excel 12.0;HDR=No;IMEX=1;';Persist Security Info=False";//2007
                }
                else
                    return "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Text;FMT=Delimited;HDR=YES;IMEX=1;'";//读取文本文档(.csv,.txr等) 此处filename是指文本文件所在路径,不包含文件名
            }
    
    /// <summary>
            /// 读取文件数据
            /// </summary>
            /// <param name="FileName">读取excel时,此参数是文件全路径(带文件名,eg:E:\data\abc.xls),读取文本文件时,此参数是文件路径(不带文件名 eg:E:\data)</param>
            /// <param name="SheetName">读取excel时,此参数是sheet名 eg:sheet1,读取文本文件时,此参数是文件名 eg:abc.cvs</param>
            /// <returns></returns>
            public static DataTable ToDataTable(string FileName, string SheetName)
            {
                OleDbDataAdapter adp = new OleDbDataAdapter("select * from [" + SheetName + "]",
                    GetConnectionString(FileName));
                DataTable dt = new DataTable();
                adp.Fill(dt);
                return dt;
            }
    

      以上是主要代码

    需要注意的地方:

    1,03和07的链接字符串不同,写错会报错:外部表不是预期的格式  

    2,cvs和txt的链接字符串和excel不同,它是指向目录的而不是文件,文件名需要在sql语句中作为sheet名给出

    3,导入 cvs或txt时,每列的数据格式必须相同,否则会丢失数据。最好将所有非字符串格式的数据加上双引号

    4,sheet名,必须在后边加上 $ 如:Sheet1$ 否则 :Microsoft Office Access 数据库引擎找不到对象“Sheet1”。请确定该对象存在,并正确拼写其名称和路径名。

  • 相关阅读:
    PAT《数据结构学习与实验指导》实验项目集 2-09 2-10 2-11 2-12 2-13
    codeblocks+Mingw 下配置开源c++单元测试工具 google test
    编程之美 1.16 24点游戏
    PAT 1065 1066 1067 1068
    多线程批量执行等待全部结果
    使用Git和远程代码库
    CentOS下Crontab安装使用详细说明(转)
    安装和测试Kafka(转)
    MapReduce任务参数调优(转)
    Maven构建应用程序常用配置(转)
  • 原文地址:https://www.cnblogs.com/yyjj/p/2383951.html
Copyright © 2020-2023  润新知