如何使用javascript将HTML用户输入数据存储到excel中

时间:2015-07-22 13:35:55

标签: javascript html excel

我需要使用JavaScript创建HTML页面,它可以直接将用户信息存储到excel中。信息可以包含用户输入字段,如:

  1. 名字(数据类型:文字)
  2. 姓氏(数据类型:文字)
  3. 我已尝试使用以下代码将值存储到CSV中,但我不知道如何在Excel工作表中存储值。

    <hrml>
      <head>
         <script language="javascript">
            function WriteToFile(passForm) {
            var fso = new ActiveXObject("Scripting.FileSystemObject");
            var fileLoc = "D:\\sample.csv";
            var file  = fso.OpenTextFile(fileLoc, 8, true,0);
            file.writeline(passForm.FirstName.value + ',' +
                     passForm.LastName.value);
            file.Close();
            alert('File created successfully at location: ' + fileLoc);
          }
    
        </script>
     </head>
     <body>
     <p>create a csv file with following details -</p>
     <form>
        Type your first name: <input type="text" name="FirstName" size="20">
        Type your last name: <input type="text" name="LastName" size="20">
        <input type="button" value="submit" onclick="WriteToFile(this.form)">
     </form>
    </body>
    </html>
    

    请帮助我“如何使用JavaScript将HTML输入数据写入Excel”

    提前非常感谢你。

3 个答案:

答案 0 :(得分:1)

您可以在javascript代码中使用ActiveXObject()创建自动化对象(在Windows中)。例如:

var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet");
// a text is stored in the first cell  
ExcelSheet.ActiveSheet.Cells(1,1).Value = "Texto1";
// the sheet is saved
ExcelSheet.SaveAs("D:\\TEST.XLS");
// close Excel with the Quit() method of the Application object 
ExcelSheet.Application.Quit();

答案 1 :(得分:1)

您可以使用数据生成分号分隔的var并使用window.open函数,这是一个示例:

var data = '';
data += $('#Name').val() + ';'
data += $('#EmployeeID').val();
data += '\r\n';
window.open( "data:application/vnd.ms-excel;charset=utf-8," + encodeURIComponent(data));

您还可以生成格式化的html而不是分号分隔的文本。

答案 2 :(得分:0)

这个使用ActiveX对象写入PC上的文件。 它只适用于IE。默认情况下,这在浏览器中是禁止的。

以下是“正常”用例以及如何在所有浏览器中完成此操作:

  1. 获取表单数据(JavaScript)
  2. 使用数据(JavaScript)
  3. 向服务器发出AJAX请求
  4. 服务器应该有一些 获取数据并将其写入文件的逻辑(Excel文件)(JavaScript,PHP,Java, C#,1000多个....)
  5. 如果你想让它在任何地方都能运行,你也应该付出一些努力来创建一些服务器。您可以在本地计算机上启动服务器,这样您就可以在本地保存文件