yiyangchen
欲洋先逸
2021-02-10 18:29
采纳率: 0%
浏览 18

动态网页如何实现上传一个文件即可批量导入数据的功能?

本人初学动态网页, 目前正在做一个练习, 要求在后台管理页面能够让管理员通过上传数据文件 (excel, access 之类的),就可以批量添加数据到网站的数据库, 或者直接覆盖原文件。

请问要用到什么代码 (python, JavaScript)?, 思路是什么? PHP 或 ASP 均可。

有什么工具或小程序可以使用的吗?

能 po 一段代码/经验贴的网址/ 参考书籍就更好啦

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • azmcn
    榕树下的泥土 2021-02-10 20:06

    这个是C#的代码,希望能对你有用。  只要能循环读到excel,insert到目标数据库调用接口改一下就行了。

    string xlspath = @"d:\test\test.xls";
      test_Product pd = new test_Product();
      string conn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Extended Properties=Excel 8.0;" + "data source=" + xlspath;
      OleDbConnection Oleconn = new OleDbConnection(conn);
      Oleconn.Open();
      try
      {
          int t = 0, n = 0;
          OleDbCommand Olecommd = new OleDbCommand("select * from [Sheet1$]", Oleconn);
          OleDbDataReader reader = Olecommd.ExecuteReader();
          while (reader.Read() && reader.HasRows)
          {
              if (!DBFactory.Exists(test_ShopTable.ShopID.Equal(reader["ShopID"])))
              {
                  break;
              }
              if (!DBFactory.Exists(test_ProductTable.ProductName.Equal(reader["ProductName"])))
              {
                  pd.ProductName = reader["ProductName"].ToString();
                  pd.ProductCode = reader["ProductCode"].ToString();
                  pd.CategoryID = Convert.ToInt32(reader["CategoryID"]);
                  pd.ProductNum = Convert.ToInt32(reader["ProductNum"]);
                 
                  try
                  {
                      DBFactory.Add(pd);
                  }
                  catch (System.Data.SqlClient.SqlException ex)
                  {
                      throw new Exception(ex.Message);
                  }
                  t++;
              }
              else
              {
                  n++;
              }
          }
          MessageBox.Show("导入成功" + t + "条,失败" + n + "条!");
      }
      catch (System.Data.OleDb.OleDbException ex)
      {
          MessageBox.Show(ex.Message);
      }
      finally
      {
          Oleconn.Close();
          Thread.CurrentThread.Abort();
      }

    点赞 评论

相关推荐