首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c# 读EXCELL 表格有关问题(有空值)

2012-01-15 
c# 读EXCELL 表格问题(有空值)我用C#读EXCELL表格时遇到下面问题:如果一列中有以下情况:1,2,3,41,2122表格

c# 读EXCELL 表格问题(有空值)
我用C#读EXCELL   表格时遇到下面问题:
      如果一列中有以下情况:
                            1,2,3,4
                            1,2
                            1
                            22
        表格属性都是   “常规”
      我用如下语句实现表格到数据集的转化:
  string   strConn   =   "Provider=Microsoft.Jet.OLEDB.4.0; "   +   "Data   Source= "   +   Path   +   "; "   +   "Extended   Properties=Excel   8.0; ";
                        OleDbConnection   conn   =   new   OleDbConnection(strConn);
                        conn.Open();
                        string   strExcel   =   " ";
                        OleDbDataAdapter   myCommand   =   null;
                        strExcel   =   "select   *   from   [sheet1$]   ";
                        myCommand   =   new   OleDbDataAdapter(strExcel,   strConn);
       
                        myCommand.Fill(dataSet1,   "[sheet1$] ");   //动作测试表填入
//动作测试数据集:dataSet1中


        但是读“1”和“22”所在的单元格的字符串时,得到该单元格的值是空的。不能取出其值。但是如果在“1”和“22 "前加” '“   单引号。则不会出现这种问题
      请高手指教。谢谢!!!!
       


[解决办法]
你直接读取DataSet的数据不就行了吗?至于有空的记录你可以用where筛选下..不明白你的意思.
[解决办法]
你所说的读是不是取你现在的dataSet1中的值 ?没试过,但我想也是要加上 " ' "这个的,因为一个DATATABLE中的一个COLUMU的类型是不会出现CHAR和NUMERIC吧。
[解决办法]


是因为读取时,dataset不能正确的分配列表的类型,在程序中不好写,可以在Excel里选择要传入的列,然后选择工具栏上的数据--> 分列,会有一个新窗口,几个下一步之后,会有一个转换类型的窗口,在里面选择转为文本,确定保存就可以了。
然后使用程序读取就可以读出来了

楼主记得多给些分啊
[解决办法]
将excel绑定到datagrid中,然后去判断哪个格子是空值就行拉。
[解决办法]
连接字符串改为
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties= 'Excel 8.0;HDR=Yes;IMEX=1; '
[解决办法]
直接读sheet表的 xl.usedRange.Rows.count 不行么?
[解决办法]
定义宏 将表格内容变成文本。
[解决办法]
livode是正解!
// "HDR=Yes; " indicates that the first row contains columnnames, not data
// "IMEX=1; " tells the driver to always read "intermixed " data columns as text


[解决办法]
理论上这种方法是可行的:
// "IMEX=1; " tells the driver to always read "intermixed " data columns as text

如果还会出现空,可以参考下面的处理空值的方法:
http://www.cnblogs.com/Roger52027/archive/2006/12/28/606016.aspx

热点排行