加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C#导入Excel数据时出现“'Sheet1$' 不是一个有效名称”的错误

(2013-12-02 21:35:29)
标签:

excel

c

分类: ASP.NET(C#)技术

下面是一段执行Excel数据导入的程序,在下面的程序段中连接串strConn没有问题,但使用过程中出现“'Sheet1$' 不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。”的错误。这个错误是由于下面红色的一行代码引起的,Sheet1是Excel中默认的第一页的名称,但是如果你把你的Excel中的Sheet的名字改了,就不正确了。例如我的Excel中第一个页面名是“交费清单”,这时应把红色代码行改为:

 OleDbDataAdapter ExcelDA = new OleDbDataAdapter("select * from [交费清单$]", OleDB);

 

        /// <summary>
        /// 执行导入
        /// </summary>
        /// <param name="strFileName">文件名</param>
        /// <returns>DataSet</returns>

        public DataSet doImport(string strFileName)
        {
            if (strFileName == "")
                return null;
            else
            {
                strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = '" + strFileName + "';Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'"; //Excel数据库连接字符串
                OleDbConnection OleDB = new OleDbConnection(strConn);//打开数据源连接
                OleDbDataAdapter ExcelDA = new OleDbDataAdapter("select * from [Sheet1$]", OleDB);
                DataSet ExcelDs = new DataSet();
                try
                {
                    ExcelDA.Fill(ExcelDs,"ExcelInfo");   //填充数据集
                }
                catch (Exception err)
                {
                    System.Console.WriteLine(err.ToString());
                }
                return ExcelDs;
            }
        }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有