Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript更改Excel数据_Javascript_Windows_Excel_Internet Explorer - Fatal编程技术网

使用JavaScript更改Excel数据

使用JavaScript更改Excel数据,javascript,windows,excel,internet-explorer,Javascript,Windows,Excel,Internet Explorer,我正在开发一个工具,在这个工具中,我使用JavaScript控制Excel工作表 这里有一个要求,我需要更改Excel单元格数据。 我是这样做的: 1。以以下方式打开Excel: excel = new ActiveXObject("Excel.Application"); excel.Visible = false; excel.DisplayAlerts = false; workBook = excel.WorkBooks.open("c:\\excel.xls"); workShe

我正在开发一个工具,在这个工具中,我使用JavaScript控制Excel工作表

这里有一个要求,我需要更改Excel单元格数据。 我是这样做的:

1。以以下方式打开Excel:

excel = new ActiveXObject("Excel.Application");

excel.Visible = false;
excel.DisplayAlerts = false;

workBook = excel.WorkBooks.open("c:\\excel.xls");

workSheet = workBook.Worksheets("Work_sheet_1");
WorkSheet.Cells(10,20).value = "10";
console.log("Value stored in excel is: "+WorkSheet.Cells(10,20).value);
excelWorkbook.save(); 
excelWorkbook.Close(true, "c:\\excel.xls").    
workBook.Close(false);
    excel.application.quit();
    excel = null;
2。更改为:

excel = new ActiveXObject("Excel.Application");

excel.Visible = false;
excel.DisplayAlerts = false;

workBook = excel.WorkBooks.open("c:\\excel.xls");

workSheet = workBook.Worksheets("Work_sheet_1");
WorkSheet.Cells(10,20).value = "10";
console.log("Value stored in excel is: "+WorkSheet.Cells(10,20).value);
excelWorkbook.save(); 
excelWorkbook.Close(true, "c:\\excel.xls").    
workBook.Close(false);
    excel.application.quit();
    excel = null;
3。关闭为:

excel = new ActiveXObject("Excel.Application");

excel.Visible = false;
excel.DisplayAlerts = false;

workBook = excel.WorkBooks.open("c:\\excel.xls");

workSheet = workBook.Worksheets("Work_sheet_1");
WorkSheet.Cells(10,20).value = "10";
console.log("Value stored in excel is: "+WorkSheet.Cells(10,20).value);
excelWorkbook.save(); 
excelWorkbook.Close(true, "c:\\excel.xls").    
workBook.Close(false);
    excel.application.quit();
    excel = null;
我在浏览器中运行它,得到的日志为:

Value stored in excel is: 10
现在,每当我通过JavaScript在Excel中进行任何更改时,我总是可以看到正确的日志报告,但在Excel中,这些更改不是以延迟2-3分钟的方式保存,就是从不保存任何更改。这似乎有点奇怪。在此基础上,当尝试从文件夹手动打开excel工作表时,它会弹出编辑模式锁定


有人能告诉我哪里出错了吗?

更改
工作簿。关闭(false)
工作簿。关闭(true)保存中的更改workbook@simoco不,伙计!从来没用过。就我所知,JavaScript是区分大小写的,所以既然您定义了
workSheet=workBook.Worksheets(“Work_sheet_1”)(从
w
开始,但不从
w
)同时使用
工作表。单元格(10,20)。value=“10”而不是
工作表.单元格(10,20).value=“10”并保存更改:
工作簿。关闭(true):)只是为了纠正你一点。true表示保存弹出窗口,false表示直接保存。顺便说一句,did
workSheet.Cells(10,20)。value=“10”解决您的问题?