IE11 で Excel のブックにアクセスする / JavaScript を使用して Excel のブックのセルにデータをセットして更新

⭕ まず、信頼するサイトlocalhost( またはイントラネットのサーバ ) を登録します。



⭕ レベルのカスタマイズで『スクリプトを実行しても安全だとマークされていないActiveX コントロール』を『有効』にします。



▼ 以下の .reg ファイルをエクスプローラからダブルクリックしてインポートする事もできます
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2]
"1201"=dword:00000000

▼ .reg ファイルをダウンロード
その上で以下のコードを localhost で実行が可能です。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-type" content="text/html; charset=shift_jis">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>

// *************************************
// IE 用オブジェクト作成関数
// *************************************
function newObject( className ) {

	var obj;

	try {
		obj = new ActiveXObject( className );
	}
	catch (e) {
		obj = null;
	}

	return obj;

}

// *************************************
// Excel 用オブジェクト 格納変数
// *************************************
var excelApp = null;
var myBook = null;

// *************************************
// Exce ブックを読み込んで更新して終了
// *************************************
function excelTest() {

	// Excel オブジェクト作成
	if ( excelApp == null ) {
		 excelApp = newObject("Excel.Application");
	}

	// Excel ブックの読み込み
	myBook = excelApp.Workbooks.Open("C:\\Users\\lightbox\\Documents\\Book1.xlsx");

	// アクティブなウィンドウを最大化
	excelApp.ActiveWindow.WindowState = 2;
	// 表示時様態にする
	excelApp.Visible = true;

	// jQuery でオブジェクトの一覧を取得して Excel のセルに情報をセットする
	var row = 0;
	$.each( window.navigator, function( key, value ){

		row++;
		// シートのセルに書き込み
		myBook.Sheets("Sheet1").Cells(row, 1) = key;
		myBook.Sheets("Sheet1").Cells(row, 2) = typeof value;
		myBook.Sheets("Sheet1").Cells(row, 3) = value;

	});

	// 保存
	myBook.Save();

	// Excel の終了
	if ( excelApp != null ) {
		excelApp.Quit();
		excelApp = null;
	}

}

</script>
</head>
<body>
<input id="export" type="button" value="Excel のテスト" onclick="excelTest();">
</body>
</html>