如何将csv上传到JSP页面并将其中的数据发送到MySQL数据库?

pokerface0958:

我有一个JSP,用户可以在其中使用来上传csv input type="file"我希望该csv中的内容进入数据库。我搜索了几个小时,只为此在php中找到了方法,但是我对php的经验为零,因此对java的任何帮助都表示赞赏。

我的JSP:

<span>Upload CSV : <input type="file"></span>

<table style="margin-left: 20px">
                            <tr>
                                <th class="table-custom">Employee Name</th>
                                <th class="table-custom">In Time</th>
                                <th class="table-custom">Out Time</th>

                            </tr>
</table>
Hisham Bawa:

试试这个代码

document.getElementById("upload").addEventListener("change", upload, false);
var out = "";

function upload(e) {
  document.getElementById('csvForm').innerHTML = "";

  var data = null;
  var file = e.target.files[0];

  var reader = new FileReader();
  reader.readAsText(file);
  reader.onload = function(event) {
    var csvData = event.target.result;
    var parsedCSV = d3.csv.parseRows(csvData);

    parsedCSV.forEach(function(d, i) {
      if (i == 0) return true; // skip the header
      if (d.constructor === Array) {
        createForm(d);
      }
    });

  }
}

function createForm(csv) {

  out += '<input value="' + csv[0] + '" name="date" type="hidden">';
  out += '<input value="' + csv[1] + '" name="name" type="hidden">';
  out += '<input value="' + csv[2] + '" name="in-time" type="hidden">';
  out += '<input value="' + csv[3] + '" name="out-time" type="hidden">';

  document.getElementById('csvForm').innerHTML = out;
  document.getElementById('csvForm').setAttribute("formmethod", "post");
  document.getElementById('csvForm').setAttribute("formaction", "testBrain.jsp");
  out += '<br>';
}
<input id="upload" type="file">

<form id="csvForm"></form>
<input type="submit" value="submit" form="csvForm" formmethod="post" formaction="testBrain.jsp">

<script src="https://d3js.org/d3.v3.js"></script>

testBrain.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="java.sql.*,java.util.*"%>

<html>
<head>
    <meta http-equiv="Refresh" content="5;url=test.jsp">
</head>
</html>
<%
    String[] date=request.getParameterValues("date");
    String[] name=request.getParameterValues("name");
    String[] inTime=request.getParameterValues("in-time");
    String[] outTime=request.getParameterValues("out-time");

    try
    {
        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testDb", "root", "1234");
        Statement st=conn.createStatement();

        for(int x=0; x<name.length;x++) {
            int i = st.executeUpdate("insert into csv(date,name,`in`,`out`)values('" + date[x] + "','" + name[x] + "','" + inTime[x] + "','" + outTime[x] + "')");
        }
        out.println("Data is successfully inserted! Redirecting.. Please wait");

       // String redirectURL = "test.jsp";
       // response.sendRedirect(redirectURL);

    }
    catch(Exception e)
    {
        System.out.print(e);
        e.printStackTrace();
        out.println("Error");
    }
%>

我使用了这个问题,并对其进行了一些更改。您可以通过"type = hidden"在createForm JS中删除来查看内容,然后再提交

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何自动导出csv并将其发送到数据库或文本文件

如何将图像上传到Firebase存储并将其添加到数据库?

如何使用JavaScript将多个图像上传到cloudinary并将URL发送到另一个数据库

AngularJS上传文件并将其发送到数据库

如何将数据从AWS IoT发送到Mysql数据库?

如何将一个jsp页面的数据库检索值发送到另一个jsp页面

如何将数据库报告作为csv表发送到电子邮件?

如何将正确的日期格式从 dateTimePicker 发送到 MySQL 数据库?

如何获取图像路径(URI)并将其发送到数据库?

如何将csv格式的数据从内存发送到数据库而不将csv保存到磁盘?

将XML数据发送到MySQL数据库

将json数据发送到mysql数据库?

JAVA:将数据(从数据库)导出到excel并将其发送到客户端

如何将数据从Google Pub / Sub发送到Firebase实时数据库

如何将数据从用户注册表单发送到Firebase数据库

如何将数据从我的数据库发送到 Laravel 中的 google chart api

如何将抓取的数据发送到 postgresql 数据库

如何将加密数据发送到数据库?

从数据库中获取大数据集并将其发送到Kafka

从html表中选择数据并将其发送到数据库

如何将文件上传到 django 数据库

如何将图像从ViewModel上传到数据库

将数据发送到新页面并将其包含在索引页面中

ule子:如何将数组参数发送到数据库更新

如何将Firebase数据库中的Google登录信息发送到导航抽屉?

如何将特定的数据库记录发送到其他文件

如何将tcpdump输出发送到数据库?

如何将多个复选框值发送到laravel中的数据库?

如何将数据库表内容发送到API?