我在从EXCEL中读数据到DATAGRIDVIEW中时,它自动将我的一个数字变成了一个长小数据,我现在不想改变,想全部以文本方式安EXCEL原来的样子显示出来,怎么做?

解决方案 »

  1.   

    ToString()函数就是把你的数字转换为字符串。
    TOSting("f3");就是把你的数字转换成字符串,并且保留3位小数。
    你可以根据你原来的数据小数位数多少,原来的数据的数据类型自己更改双引号里的内容。
      

  2.   

           OleDbDataAdapter oledbDa = new OleDbDataAdapter(oledbStr, oledbconn);
                    DataSet ds = new DataSet();
                    dataGridView1.DataSource = null;                oledbconn.Open();
                    oledbDa.Fill(ds);
                    dataGridView1.DataSource = ds.Tables[0];
    写在什么地方?
      

  3.   

    你更改你的dataGridView1列属性。DefaultCellStyle就可以了。
      

  4.   

    点开编辑列,每个Columns 都有个DefaultCellStyle你设置这个就好了。
      

  5.   

    有的。自定义类型。
    要文本型首先你的保证你的EXCEL里的数据是文本型的。
      

  6.   

    就是因为我的EXCEL中产不是广本,所以我要在DATASET中进行文本类型转换啊,怎么才能转换呢?反正就是在EXCEL文件中的类型不变的情况下,能在DATAGRIDVIEW中将EXCEL中的内容一模一样显示出来.因为我的EXCEL的第一到4行是英文字符串,下面全是数字,可是在DATAGRIDVIEW中显示出来的就是只有数字没有英文了,要么就是显出的时间这一长串小数.所以我要以文本型显出来出,这样内容就不会变了.
      

  7.   

    实在不成就循环动态添加dataGridView1
    两个循环第一个循环添加Columns 也就是你的ds.Tables[0].Columns 
    第二循环添加内容,呵呵这个时候你想怎么控制就怎么控制了
    for (int i = 0; i < Table0.Columns.Count ; i++)
                {
                    this.dataGridView1.Columns.Add(Table0.Columns[i]);
                }
                for (int j = 0; j < Table0.Rows.Count ; j++)
                {
                    this.dataGridView1.Rows.Add(Table0.Rows[j][0].ToString("格式"),..., Table0.Rows[j][...].ToString("格式"));
                }
    呵呵,写的比较粗糙,给你思路。
      

  8.   

    Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';Data Source=" + excelFilePath以上为正解,HDR=Yes;IMEX=1,这里是关键.谢谢大家