SQLの窓

2020年04月25日


JScript : Excel をインストールしていなくても、Excel を DB として作成する方法

Windows10 64ビットのお話です

古い .xls を作る場合は、SysWOW64 内の 32ビットバージョンを使用します
str = WScript.FullName;
if ( str.search(/syswow/i) == -1 ) {

	shell = new ActiveXObject("Shell.Application");
	folder = shell.Namespace( 0x29 );
	folderItem = folder.Self;
	target_path = folderItem.Path;

	str = WScript.ScriptFullName;
	WshShell =  new ActiveXObject("WScript.Shell");
	WshShell.Run( "cmd.exe /c " + target_path + "\\cscript.exe \"" + str + "\" & pause", 3 );
	WScript.Quit();
}
// ****************************
// オブジェクト作成
// ****************************
var cn = new ActiveXObject( "ADODB.Connection" )

// ****************************
// 接続用の文字列を準備
// ****************************
var file_path = "C:\\Temp\\syain.xls";
var connection_string = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file_path + ";Extended Properties=\"Excel 8.0;\"";

var query = "create table [社員マスタ] ([社員コード] VARCHAR,[氏名] VARCHAR,[フリガナ] VARCHAR,[所属] VARCHAR,[性別] NUMBER,[作成日] DATE,[更新日] DATE,[給与] NUMBER,[手当] NUMBER,[管理者] VARCHAR,[生年月日] DATE)";

WScript.Echo( query );

// ****************************
// 作成
// ****************************
cn.Open( connection_string );
cn.Execute( query );
cn.Close();

WScript.Echo( "処理が終了しました" );

最新の .xlsx を作成する場合は、Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント をダウンロードしてインストールします。( 64ビット )


// ****************************
// オブジェクト作成
// ****************************
var cn = new ActiveXObject( "ADODB.Connection" )

// ****************************
// 接続用の文字列を準備
// ****************************
var file_path = "C:\\Temp\\syain.xlsx";
var connection_string = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + file_path + ";Extended Properties=\"Excel 12.0 Xml;\"";

var query = "create table [社員マスタ] ([社員コード] VARCHAR,[氏名] VARCHAR,[フリガナ] VARCHAR,[所属] VARCHAR,[性別] NUMBER,[作成日] DATE,[更新日] DATE,[給与] NUMBER,[手当] NUMBER,[管理者] VARCHAR,[生年月日] DATE)";

WScript.Echo( query );

// ****************************
// 作成
// ****************************
cn.Open( connection_string );
cn.Execute( query );
cn.Close();

WScript.Echo( "処理が終了しました" );


内容を Excel として見るには Google ドライブにアップロードして Google スプレッドシートとして開きます。

しかし、.xls の場合 WORD とみなされてしまう事が多いので、先にスプレッドシートを開いておいてインポートするといいです。


もちろん、Microsoft のアカウントがあるのならば、OneDrive にアップロードして Excel として参照するといいでしょう
( しかし、Google Apps Script があるので、Google ドライブのほうがおすすめ )

【WSH( JScript )の最新記事】
posted by lightbox at 2020-04-25 20:28 | WSH( JScript ) | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり