首页 新闻 赞助 找找看

读取excel绑定到GridView时有几个单元格的数据为什么不显示?

0
悬赏园豆:10 [待解决问题]

上图是excel截图,红色框框内的“q”不显示,页面上的效果如下图

代码是这样的:

    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            GridView1.DataSource = importExcelToDataSet(AppDomain.CurrentDomain.BaseDirectory + "test/活动配置表.xlsx", "活动时间表");
            GridView1.DataBind();
        }

        public static System.Data.DataTable importExcelToDataSet(string FilePath, string TableName, string HDR = "YES")
        {
            string strConn;
            strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Extended Properties='Excel 12.0;HDR=" + HDR + ";IMEX=1';";
            OleDbConnection OleDbConn = new OleDbConnection(strConn);
            OleDbConn.Open();
            OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [" + TableName + "$]", OleDbConn);
            DataSet myDataSet = new DataSet();
            try
            {
                myCommand.Fill(myDataSet);
            }
            catch (Exception ex)
            {
                throw new Exception("该Excel文件的工作表的名字不正确," + ex.Message);
            }
            OleDbConn.Close();
            return myDataSet.Tables[0];
        }
    }

设置一下单元格格式可以正常显示,但是我想在不设置的情况下能正常显示
拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:37
提问于:2015-03-26 10:33
< >
分享
所有回答(2)
0

npoi

羽商宫 | 园豆:2490 (老鸟四级) | 2015-03-26 12:33
0

你读取的Excel的单元格是数据类型有可能不是正确的数据类型,打个比方说吧。你excel里的一个单元格里的值是12345677889182  ,那么对于你接收的对象来说,这个是int类型呢?还是string类型呢。当它无法确认类型的时候它只能不显示出来了。当作没看到。没一列的数据类型应该是一样的。

大楚打码人 | 园豆:4313 (老鸟四级) | 2015-03-26 13:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册