changwen313 2017-09-07 13:25 采纳率: 100%
浏览 1475
已采纳

.net excel导入到数据库本地测试正常,部署在网络里就不能成功。请大神指点

代码占这么多,大神应该可以看明白,现在是部署后,网络访问,本地文件已经拷贝到服务器上了,但是就是不往下走了,请指点。
if (fuload.FileName == "")
{
lbmsg.Text = "请选择文件";
return;
}

            if (this.RadioButtonList1.SelectedValue == "")
            {
                lbmsg.Text = "请选择人人员类型";
                return;
            }

            string fileExtenSion;
            fileExtenSion = Path.GetExtension(fuload.FileName);
            if (fileExtenSion.ToLower() != ".xls" && fileExtenSion.ToLower() != ".xlsx")
            {
                lbmsg.Text = "上传的文件格式不正确";
                return;
            }
            try
            {
                string FileName = "App_Data/" + Path.GetFileName(fuload.FileName);

                if (File.Exists(Server.MapPath(FileName)))
                {

                    File.Delete(Server.MapPath(FileName));

                }
                fuload.SaveAs(Server.MapPath(FileName));


                //HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
                string connstr2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
                string connstr2007 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
                OleDbConnection conn;
                if (fileExtenSion.ToLower() == ".xls")
                {
                    conn = new OleDbConnection(connstr2003);
                }
                else
                {
                    conn = new OleDbConnection(connstr2007);
                }
                conn.Open();
                string sql = "select * from [Sheet1$]";
                OleDbCommand cmd = new OleDbCommand(sql, conn);
                DataTable dt = new DataTable();
                OleDbDataReader sdr = cmd.ExecuteReader();
                dt.Load(sdr);
                sdr.Close();
                conn.Close();
                Label2.Text = "Excel里的数据内容:";
               // GridView1.DataSource = dt;
              // GridView1.DataBind();

       if (dt.Columns.Count != 14)
                {
                    lbmsg.Text = "请选择正确的数据表格1";
                    return;
                }
                if (dt.Rows.Count < 1)
                {
                    lbmsg.Text = "请选择正确的数据表格2";
                    return;
                }
                if (dt.Columns[0].ColumnName.ToString() != "核算单元代码" ||
                    dt.Columns[1].ColumnName.ToString() != "险种代码" ||
                    dt.Columns[2].ColumnName.ToString() != "财务代码" || 
                    dt.Columns[3].ColumnName.ToString() != "险种名称" || 
                    dt.Columns[4].ColumnName.ToString() != "渠道属性" || 
                    dt.Columns[5].ColumnName.ToString() != "人员属性" || 
                    dt.Columns[6].ColumnName.ToString() != "期交首年计佣保费" || 
                    dt.Columns[7].ColumnName.ToString() != "期交续年计佣保费" || 
                    dt.Columns[8].ColumnName.ToString() != "趸交计佣保费" || 
                    dt.Columns[9].ColumnName.ToString() != "期交首年直接佣金" || 
                    dt.Columns[10].ColumnName.ToString() != "期交续年直接佣金" || 
                    dt.Columns[11].ColumnName.ToString() != "趸交直接佣金" || 
                    dt.Columns[12].ColumnName.ToString() != "直接佣金合计" || 
                    dt.Columns[13].ColumnName.ToString() != "日期")
                {

                    lbmsg.Text = "请选择正确的数据表格3";
                    return;
                }
  • 写回答

3条回答 默认 最新

  • Go 旅城通票 2017-09-08 01:29
    关注

    是不是导入xlsx出错?而且报什么错误也没用说

    一般服务器是没有Microsoft.ACE.OLEDB.12.0这个驱动的,因为服务器不会安装office2007+,要下载后再服务器安装,而且注意64位系统程序池要启用32位应用程序

    Access2007/2010系统驱动程序下载地址
    window2012 未在本地计算机上注册“microsoft.ACE.oledb.12.0”

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

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算