我需要使用JavaScript创建HTML页面,它可以直接将用户信息存储到excel中。信息可以包含用户输入字段,如:
我已尝试使用以下代码将值存储到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”
提前非常感谢你。
答案 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。默认情况下,这在浏览器中是禁止的。
以下是“正常”用例以及如何在所有浏览器中完成此操作:
如果你想让它在任何地方都能运行,你也应该付出一些努力来创建一些服务器。您可以在本地计算机上启动服务器,这样您就可以在本地保存文件