问题描述
如标题,如果Excel里面有1000个列,但是OleDbConnection每次只能读取255个列,是客户需要做的,不可能去改客户服务器上的注册表,求指导!
解决方案
解决方案二:
这个还有限制吗?能贴代码看看嘛?
解决方案三:
我靠,居然有这种限制。
解决方案四:
引用1楼yb871201的回复:
这个还有限制吗?能贴代码看看嘛?
引用2楼winner2050的回复:
我靠,居然有这种限制。
OleDbConnectioncnnxls=newOleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+filePath+";ExtendedProperties="Excel12.0;HDR=NO;IMEX=1"");//HDR设置为NO则不把第一行作为列名DataSetdsReturn=newDataSet();DataSetdsAdd=newDataSet();//把数据存入新表里面try{newOleDbDataAdapter("select*from[Sheet1$]",cnnxls).Fill(dsAdd,"M_PriceByAreaS");intcolumnsint=dsAdd.Tables["M_PriceByAreaS"].Columns.Count;introwsint=dsAdd.Tables["M_PriceByAreaS"].Rows.Count;columnsint应该为395的,但是读取的只有255;哎!
解决方案五:
难道就没人遇到过类似的问题吗?
解决方案六:
帮顶
解决方案七:
不可以分两次去读取吗?就像分页那样去读取,然后在程序里处理,最好自己在拼接成一块,显示出来!
解决方案八:
使用OfficeCOM组件作为桥梁来访问Excel。不要用什么ADO。
解决方案九:
不要用什么ADO-->不要用什么ADO.NET调用OLEDB。通过OLEDB方式,其实你只能读取简单得不能再简单的单一工作表的工作簿数据,稍微复杂一点的就歇菜了。
解决方案十:
解决方案十一:
引用8楼sp1234的回复:
不要用什么ADO-->不要用什么ADO.NET调用OLEDB。通过OLEDB方式,其实你只能读取简单得不能再简单的单一工作表的工作簿数据,稍微复杂一点的就歇菜了。
虽然我已经解决了问题,但是还是想听听你得看法!求指导
解决方案十二:
你好,我也遇到了这个问题,你能告诉我你是怎么解决的吗?
解决方案十三:
请问怎么解决的,谢谢
解决方案十四:
请求指教啊,今天也遇到了!QQ:416689755
解决方案十五:
恳求赐教,我也遇到了同样的问题,几天无法解决了!
解决方案:
你好。请问如何解决?是否是用第三方组件,或者Com组件的方式读取Excel?请楼主分享,谢谢啊
解决方案:
引用15楼GEXIAO1992的回复:
你好。请问如何解决?是否是用第三方组件,或者Com组件的方式读取Excel?请楼主分享,谢谢啊
NPIO
解决方案:
NOPI试过么这个应该没有限制吧
解决方案:
npoi。。。打错了
解决方案:
引用
sp1234
就只会嘴上说说,具体点或者到代码就不会,基本所有帖子都这样,说话貌似很专业,看的就烦,关键不能解决实际问题
解决方案:
NPOI可以读取xls,xlsx
解决方案:
只说要点,具体实现需要你查资料,这是一个学习的过程,你今后不可能只处理这一个问题吧你可以这样:表的主键+250列,读取出添加到datatable,4次完事