如何使用JavaScript将HTML用户input数据存储到excel中

我需要用JavaScript创buildHTML页面,可以将用户信息直接存储到Excel中。 信息可以包含用户input字段,如:

  1. 名字(数据types:文本)
  2. 姓氏(数据types:文本)

我已经尝试下面的代码存储到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将HTMLinput数据写入Excel”

非常感谢你提前。

您可以在您的javascript代码中使用ActiveXObject()创build自动化对象(在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(); 

你可以用你的数据生成一个以分号分隔的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而不是一个分号分隔的文本。

这一个使用ActiveX对象来写入您的PC上的文件。 它只能在IE上运行。 浏览器默认禁止这样做。

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

  1. 获取表单数据(JavaScript)
  2. 使用数据(JavaScript)向服务器发出AJAX请求
  3. 服务器应该有一些逻辑来获取数据并将其写入文件(Excel文件)(JavaScript,PHP,Java,C#,1000多…)

如果你想在任何地方工作,你也应该努力创造一些服务器。 您可以在本地计算机上启动服务器,以便在本地保存文件