qq_26624753 2019-09-06 17:44 采纳率: 100%
浏览 606
已采纳

C#使用OLEDB读取Excel问题

Excel里有一列叫"No.",读取之后变成了No#,求大神

                        DataTable dt = new DataTable();
            string connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'", fileName);
            OleDbConnection conn = new OleDbConnection(connectionString);
            try
            {
                conn.Open();//打开数据库
                string sql = @"[" + sheetName + "$] where 1=1";
                OleDbCommand cmd = new OleDbCommand(sql, conn);
                OleDbDataAdapter apt = new OleDbDataAdapter(cmd);
                apt.Fill(dt);
                dt.TableName = "Report";

            }
            catch (Exception ex)
            {
                dt = new DataTable();
            }
            finally
            {
                conn.Close();
            }
            return dt;
        }

图片说明
图片说明

  • 写回答

3条回答 默认 最新

  • evianwu 2019-09-18 10:56
    关注

    不是你代码的问题,受限于解析的驱动之类,即使单个点号是标题,也换被转成#号,,,,可以换些别的解析excel的驱动试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?