1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C# 读取EXCEL数据丢失 6万行数据只能读取13866行

C# 读取EXCEL数据丢失 6万行数据只能读取13866行

时间:2023-04-07 03:34:52

相关推荐

C# 读取EXCEL数据丢失 6万行数据只能读取13866行

文章目录

问题描述解决过程解决方案总结

问题描述

这两天使用C#开发一个通过EXCEL将数据导入数据库的程序时遇到一个问题,EXCEL里面有6万行+的数据,使用开发的电脑导入是没有问题,从EXCEL里面读取出来的数据也是6万行。但是同样的程序放到服务器上,每次只能从EXCEL中读取出13866行。

上网百度,也一直没有找到问题点。连这个问题相关的提问也只有一个,还没有解决的。

这个dt出来的行数就只有13866

string strExcel = "Excel 12.0";string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strFilePath + strFileName + ";Extended Properties=\"" + strExcel + ";HDR=Yes;IMEX=1''\" ";OleDbConnection conn = new OleDbConnection(strConn);string sql = "SELECT * FROM [Sheet0$]";OleDbDataAdapter adapter = new OleDbDataAdapter(sql, conn);DataSet ds = new DataSet();adapter.Fill(ds, "Sheet0");DataTable dt = ds.Tables[0];

解决过程

在看了网上说的修改注册表TypeGuessRows的值,IIS里面的【启用32位应用程序】,都不行

解决方案

后来仔细对比了两台电脑的注册表和IIS的设置,发现了两个电脑的差异点,调整之后就解决了这个问题。

应用程序池里面的标识不能选择ApplicationPoolIdentity,将其改成LocalSystem就可以了。

总结

因为自己在网上找这个问题的时候找不到解决方案,为了这个问题,从查程序到对照注册表到对照IIS,前后一共花费了5个多小时去解决这个问题。所以想这记录下来,也许有人遇到同样的问题可以能给到帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。