ASP读取EXCEL有某一列的数据读取不到,显示为空?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP读取EXCEL有某一列的数据读取不到,显示为空?相关的知识,希望对你有一定的参考价值。

ASP读取EXCEL有某一列的数据读取不到,为了易于查看,我简化了代码。
<% '以下实例中excel文件名为:Book1.xls,工作表名为:sheet1Set xls_Rs = Server.CreateObject("ADODB.Recordset")xlsSql="select * from [sheet1$] order by 序 asc" xls_Rs.Open xlsSql,xlsConn,1,1%> <tr><% for i=0 to xls_Rs.Fields.Count-1
%> <td width="1" bgcolor="#CCCCCC"></td> <td height="28" width="80px" bgcolor="#ece9d8"><div align="center"><% =xls_Rs(i).Name %></div></td><% next%> <td width="1" bgcolor="#CCCCCC"></td> </tr>
<%do while Not xls_Rs.EOF%> <tr height="28"><% for i=0 to xls_Rs.Fields.Count-1%> <td width="1" bgcolor="#CCCCCC"></td> <td valign="bottom"><% =xls_Rs(i) %></td><% next%>
<td width="1" bgcolor="#CCCCCC"></td> </tr><% xls_Rs.MoveNextLoopxls_Rs.close%>
<td width="1" bgcolor="#CCCCCC"></td> <td valign="bottom"><% =xls_Rs(i) %></td><%
next%> </tr><% xls_Rs.MoveNextLoop
%>

如图,画圈的地方本来应该有数据的,可以读取不到。

可能性有:
1、原来的单元格是由公式计算得出的,你可以查看原公式自行计算得出结果;
2、原始的数据就是空的;追问

所有数据都是系统导出来的,没有任何公式。

我上面不是说了吗“本应该有”。谢谢

追答

你把Excel文件上传一下,一看就知道咋回事了

参考技术A 是否有报错?对应的名称,位置是否都正确?还有就是excel文件必须是2003版本的,不然不识别的!

怎么读取DataTable某一列的值?然后用c#代码判断是不是有重复数据?linq还是怎么做呢?

public static void cs()
        
           
            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Rows.Add("");
            var quer = from tb in dt.AsEnumerable()
                                        group tb by tb.Field<string>("xx") into x
                                        select new 
                                            a=x.Key,
                                            b=x
                                        ;
            foreach(var c in quer)
            
                int i = 0;
                foreach(var d in c.b)
                
                    i++;
                
                if(i>1)
                
                    //有重复
                
            
            for (int i = 0; i < dt.Rows.Count;i++ )
            
                var qu = from tb in dt.AsEnumerable()
                         where tb.Field<string>("xx") == dt.Rows[i]["xx"].ToString()
                         select tb;
                if (qu.Count() > 1)
                
                    //有重复
                
            
        

两种方法 看你喜欢哪种

参考技术A

               

            

DataTable dt = new DataTable(); 
var q  = from item in dt.AsEnumerable()      
  select item.Field<string>("").Distinct();  
  if (q.Count() < dt.Rows.Count)        
                  
  //有重复             
  

                         

以上是关于ASP读取EXCEL有某一列的数据读取不到,显示为空?的主要内容,如果未能解决你的问题,请参考以下文章

用java代码实现读取Excel中每个sheet页的内容,并且要与其他的Excel中某一列的值进行

winform中怎么读取DataGridview中特定的某一列并赋值给一个数组?

Excel读取某一列的宏代码VBA代码源码及解说(详尽版)

利用Python读取CSV文件并计算某一列的均值和方差

pandas取列值转化为列表

Python如何读取csv文件某一列的每一行数据,并判断该数值是不是满足条件?