oledbdataadapter.fill 读取的数据不全

问题描述

oledbdataadapter.fill 读取的数据不全

为什么我从exl 文件中读取 的时候 如果 某一个单元格的字数太多 那么dataset里的数据就不全 总是别截取掉 为什么呢

string connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";
OleDbConnection conn = new OleDbConnection(connstring);

    //得到sheet表名
    conn.Open();
    DataTable allSheet = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
    conn.Close();

    StringBuilder message = new StringBuilder();
    OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [下载简历列表$]", conn);
    DataSet userList = new DataSet();
    adapter.Fill(userList, "UserList");
    string name = (userList.Tables[0].Rows[0][0]).ToString();
    if (!string.IsNullOrEmpty(name))
        name = name.Replace("/", "").Replace(",", "").Trim();
    string sheetName = string.Format("'{0}#{1}$'", new object[] { 1, name });
    adapter.SelectCommand = new OleDbCommand("SELECT * FROM [" + sheetName + "]", conn);
    DataSet ds = new DataSet();
    adapter.Fill(ds, "ds");

解决方案

OLEDB方式读取Excel丢失数据、字符串截断的原因和解决方法

有程序设计人员将以上代码OleDbConnection连接字符串中的Extended Properties一项作了如下改动,Extended Properties='Excel 8.0;HDR=NO;IMEX=1’,认为可以解决此问题。由于在开发“汽车产业链协同商务平台”中碰到过类似问题,作了大量的测试后发现,添加IMEX=1后并未实质上解决此问题。表现为:如果某字段前8条记录中全部为纯数字的话,那么在该字段随后的记录中含有字母或汉字的项将仍然变为空,但是如果该字段前8条记录中有一条不为纯数字,将能得到预期想要的结果。

解决方案二:

上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

时间: 2024-10-04 12:32:13

oledbdataadapter.fill 读取的数据不全的相关文章

一款C#读取excel数据存入dataset

一款c#读取excel数据存入dataset */ /// <summary>     /// 读取数据源     /// </summary>     /// <param name="filenameurl"></param>     /// <param name="table"></param>     /// <returns></returns>     pu

asp.net C# 读取Excel数据代码

asp教程.net  c# 读取excel数据代码 public dataset exceltods(string path)     {        string con = "provider=microsoft.jet.oledb.4.0;data source="+"e:\collegemis\upexcel\" + fileupload1.filename+";extended properties='excel 8.0;imex=1'&quo

asp.net 读取Excel数据,填充DataSet 与GridView代码

asp教程.net 读取excel数据,填充dataset 与gridview代码 // 连接字符串 string ph = string.format("upload\{0}", name); string xlspath = server.mappath(ph); string connstr = "provider=microsoft.jet.oledb.4.0;" + "extended properties="excel 8.0;hdr

简单的SQL Server数据库数据读取与数据操作

server|数据|数据库   简单实用的数据读取,数据操作方法,贴到程序里面直接调用 读取方法: public DataSet Query(string SQLText)  {   SqlConnection myConnection=new SqlConnection(ConfigurationSettings.AppSettings["conn"]);    DataSet ds = new DataSet();   SqlDataAdapter myCommand = new

sql-ASP读取SQL数据表 生成多记录JSON 具体代码如何写 求教大神

问题描述 ASP读取SQL数据表 生成多记录JSON 具体代码如何写 求教大神 数据表是user 主键是m_Name <%response.ContentType=""text/json"" response.write request(""jsoncallback"")%>([{""m_Name"":""*依旧""n_Name&quo

SqlDataReader读取分页数据,pageCount你是肿么了?

自己在折腾代码的时候发现,SqlDataReader读取分页数据,存储过程中的输出参数总页数pageCount获取不准确. 我已经问过百度,技术群等..... 都说SqlDataReader用过后关闭,但是每次读取一定条数的数据,总数据并没有读完,总页数就不能获取到么? 下面把关键的代码贴出来,我相信很多小伙伴跟我遇到相同的问题,希望大牛帮忙看一下,最好能深入的讲一下,万分感谢...... 存储过程: 1 CREATE PROC Paged 2 @pageIndex INT, 3 @pageCo

ASP读取XML数据文件的方法

xml|数据 分别保存下面两段代码,一个保存为readxml.asp另一个保存为test.xml,放在同一个目录下面,调试程序即可,在程序里面我已经做了解释,读取代码可以做成一个readxml的函数,通过使用输入的参数而读取xml不同数据记录的不同的值.这段程序的改编来自互联网,有什么出入请见谅. readxml.asp以下是引用片段:<% dim xml,objNode,objAtr,nCntChd,nCntAtr Set xml=Server.CreateObject("Microso

实现jsp页面二级下拉框联动,实时读取数据库数据

在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常有用,只需要修改很小的地方就可以使用.设计的文件,serch.jsp,main.js,bytetostr.js, 先讲一下main.js,这是javascript,其中注意修改jsp页面名称. 以下为引用的内容: function findObject(fName,initValue)...{   var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   xmlht

用php读取xml数据

xml|数据 今天工作上碰到一个问题 由于我们的项目数据太少 所以需要从web search那边借调数据,他们只给我们提供了一个xml的接口.因此,我们需要把xml的数据转化成html呈现给大家.由于项目是基于php的,所以就摒弃了用js来读取xml选择了继续使用php.不过,我以前从来没有做过此类的尝试 所以找了很多网上资料同时参照了php的工作手册,发现在php4的环境下 用parser函数是一个比较好的选择(当然也可以用dom 但是需要对服务器重新进行配置 php5对dom支持得比较好).