Javascript 将json转换为JS/C#/MVC4中的csv文件并填充AccessDB

Javascript 将json转换为JS/C#/MVC4中的csv文件并填充AccessDB,javascript,c#,asp.net-mvc,json,csv,Javascript,C#,Asp.net Mvc,Json,Csv,我的网站有问题。 我目前有一份申请表,提交了申请表,并发送了一封电子邮件。 我希望我能创建一个csv文件来发送表单。其次,通过这个CSV文件自动填充我的数据库访问 我的ASP表单: <div class="submit"> <div class="left"> <div class="field"><input id="inputFirstname" type="text" value="First name *" class="

我的网站有问题。 我目前有一份申请表,提交了申请表,并发送了一封电子邮件。 我希望我能创建一个csv文件来发送表单。其次,通过这个CSV文件自动填充我的数据库访问

我的ASP表单:

<div class="submit">
    <div class="left">
        <div class="field"><input id="inputFirstname" type="text" value="First name *" class="watermark" name="firstname"/></div>
        <div class="field"><input id="inputLastname" type="text" value="Last name *" class="watermark" name="lastname"/></div>
        <div class="field"><input id="inputEmail" type="text" value="E-mail *" class="watermark" name="email"/></div>
        <div class="fieldradio" style="margin-bottom:10px;">
                <label class="watermark" style="display:inline">Gender *</label>
                    <input id="inputGenderM"  class="watermark"  style="display:inline;width: 10px" name="gender" type="radio"  />
                <label class="watermark"  style="display:inline">M</label>
                    <input id="inputGenderF"  class="watermark"  style="display:inline;width: 10px"  name="gender" type="radio" />
                <label class="watermark"  style="display:inline">F</label>
        </div>
 </div>
 <div class="right">
    <div class="textarea"><textarea id="inputMessage" name="message" class="watermark">Add your message here</textarea></div>                               
    <div style="float:left;width:100%; margin-top:30px;">
    <div id="captchadiv"><input id="captchaInput" type="text" value="Enter validation text *" name="captchaInput" class="watermark" style="margin-top:10px;"/></div>
   </div>
   <div class="clear"></div>
   <div class="submit_container" id="submitArea">
       <a onclick="javascript:submitCV();" class="btn orange height_19 submit"><span>
        SEND FORM</span></a>
   </div>
</div>

性别*
M
F
在此处添加您的消息
发送表格
我的函数JS“submitCV()”:

$(文档)。准备好了吗(
函数(){
$.getJSON('http://jsonip.appspot.com/?callback=?',
功能(数据){
clientIP=data.ip;
});
函数submitCV(){
if($(“#inputFirstname”).val()==false)
{
$('#inputFirstname').addClass('errorValidationSubmit');
警报(“请填写名字字段”);
返回;
}
if($(“#inputLastname”).val()==false)
{
$('#inputLastname').addClass('errorValidationSubmit');
警报(“请填写姓氏字段”);
返回;
}
var genderId=$('input[name=gender]:checked').attr('id');
if(typeof genderId==“未定义”)
{
$('.fieldradio').addClass('errorValidationSubmit');
警告(“请选择性别”);
返回;
}
if(validateEmail($(“#inputEmail”).val())==false)
{
$('#inputEmail').addClass('errorValidationSubmit');
警报(“无效的电子邮件地址”);
返回;
}       
if($(“.submit.dropdown dt a”).attr('href')==“#”){
$('.submit.dropdown').addClass('errorValidationSubmit');
警报(“请选择一个空缺职位”);
返回;
}           
if($(“#captchaInput”).val()==false | |$(“#captchaInput”).val().length!=5)
{
$('#captchaInput').addClass('errorValidationSubmit');
$('.realperson text').addClass('errorValidationSubmit');
警报('请用验证码(5个字符)填写验证文本字段');
返回;
}
变量路径=$(位置).attr('href');
var capchallenge=cleanJSONString($(“.realperson hash”).val();
//retaptcha.get_challenge();
var capresponse=cleanJSONString($(“#captchaInput”).val();
//retaptcha.get_response();
试一试{
变量参数='{“url”:“'+转义(路径)+
“,“clientip”:“+clientip”+
“,“firstname”:“+cleanJSONString($(“#inputFirstname”).val())+
“,“lastname”:“+cleanJSONString($(“#inputLastname”).val())+
“,“性别”:“+cleanJSONString(genderId)+
“,“email”:“+cleanJSONString($(“#inputeemail”).val())+
“,”消息“:“+cleanJSONString($(“#inputMessage”).val())+
“,”位置“:“+cleanJSONString($(“.submit_cv.dropdown dt a”).attr('href'))+
“,“captchachallenge”:“+capchallenge+
“,“CaptCharResponse”:“+capresponse+”}”;
contentSubmit=$(“#submitArea”).html();
$(“#submitArea”).empty().html(“”);
jQuery.ajax({
类型:“POST”,
url:“\u vti\u bin/json/monservice.svc/submit”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
数据:参数,
成功:功能(msg){
提交成功(msg);
$(“#submitArea”).empty().html(contentSubmit);
resetRealPersonCaptcha();
警报(参数);
},
错误:提交失败
});
}
捕获(e){
警报(“调用服务时出错”+e);
clearUploadPart();
}
//Recaptcha.reload();
}   
功能提交成功(结果){
警报(结果。提交结果);
如果(!result.submitResult.contains(“验证码验证不起作用,请重试”)){
clearUploadPart();
} 
}
函数提交失败(错误){
警报('发生错误');
//clearUploadPart();
resetRealPersonCaptcha();
$(“#submitArea”).empty().html(contentSubmit);
}
是否有一个相对快速的机会创建一个CSV文件存储在一个地方? 你推荐什么

另一方面,我希望每个新的CSV文件都可以填充Access数据库。
如果我的CSV文件位于FTP文件夹中,您可以使用Unix脚本或简单的VB?

如果您能够从表单中获取JSON数据,请使用以下方法JSONTOCSVConverter:

function JSONToCSVConvertor(JSONData, ReportName, ShowLabel) {

       //If JSONData is not an object then JSON.parse will parse the JSON string in an Object
       var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;

       var CSV = '';
       if (ShowLabel) {
           var row = "";
           //This loop will extract the label from 1st index of on array
          for (var index in arrData[0]) {
              //Now convert each value to string and comma-seprated
               row += index + ',';
          }
           row = row.slice(0, -1);

           //append Label row with line break
           CSV += row + '\r\n';
       }
       //1st loop is to extract each row
       for (var i = 0; i < arrData.length; i++) {
           var row = "";
           //2nd loop will extract each column and convert it in string comma-seprated
           for (var index in arrData[i]) {
               row += '"' + arrData[i][index] + '",';
           }
           row.slice(0, row.length - 1);
           //add a line break after each row
           CSV += row + '\r\n';
       }
       if (CSV == '') {
           alert('No data available');
           return;
       }
       //this will remove the blank-spaces from the title and replace it with an underscore
       var fileName = ReportName.replace(/ /g, "_");

       //Initialize file format you want csv or xls
       var uri = 'data:text/csv;charset=utf-8,' + escape(CSV);

       //this trick will generate a temp <a /> tag
       var link = document.createElement("a");
       link.href = uri;

       //set the visibility hidden so it will not effect on your web-layout
       link.style = "visibility:hidden";
       link.download = fileName + ".csv";

       //this part will append the anchor tag and remove it after automatic click
       document.body.appendChild(link);
       link.click();
       document.body.removeChild(link);
   }
函数JSONTCSVCONVERTOR(JSONData、ReportName、ShowLabel){ //如果JSONData不是对象,那么JSON.parse将解析对象中的JSON字符串 var arrData=typeof JSONData!=“object”?JSON.parse(JSONData):JSONData; var CSV=“”; 如果(显示标签){ var行=”; //此循环将从数组的第一个索引中提取标签 对于(arrData[0]中的var索引){ //现在将每个值转换为字符串和逗号分隔符 行+=索引+','; } row=row.slice(0,-1); //用换行符追加标签行 CSV+=行+'\r\n'; } //第一个循环是提取每一行 对于(变量i=0;ifunction JSONToCSVConvertor(JSONData, ReportName, ShowLabel) { //If JSONData is not an object then JSON.parse will parse the JSON string in an Object var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData; var CSV = ''; if (ShowLabel) { var row = ""; //This loop will extract the label from 1st index of on array for (var index in arrData[0]) { //Now convert each value to string and comma-seprated row += index + ','; } row = row.slice(0, -1); //append Label row with line break CSV += row + '\r\n'; } //1st loop is to extract each row for (var i = 0; i < arrData.length; i++) { var row = ""; //2nd loop will extract each column and convert it in string comma-seprated for (var index in arrData[i]) { row += '"' + arrData[i][index] + '",'; } row.slice(0, row.length - 1); //add a line break after each row CSV += row + '\r\n'; } if (CSV == '') { alert('No data available'); return; } //this will remove the blank-spaces from the title and replace it with an underscore var fileName = ReportName.replace(/ /g, "_"); //Initialize file format you want csv or xls var uri = 'data:text/csv;charset=utf-8,' + escape(CSV); //this trick will generate a temp <a /> tag var link = document.createElement("a"); link.href = uri; //set the visibility hidden so it will not effect on your web-layout link.style = "visibility:hidden"; link.download = fileName + ".csv"; //this part will append the anchor tag and remove it after automatic click document.body.appendChild(link); link.click(); document.body.removeChild(link); }
<div class="submit_container" id="submitArea">
    <a onclick="javascript:submit();" class="btn orange height_19 submit"><span>
        SEND FORM</span></a>
</div>
    $(function() {
    $('form').submit(function() {
        $('#result').text(JSON.stringify($('form').serializeObject()));
        return false;
    });
});