himorogiの日記

主にプログラミングに関することなど。少々ハード(電子工作)についても。

PowerShell から ExcelWorkBook を テキストとして保存

PowerShell から Excel.Application オブジェクトを開き、WorkBook を Unicode テキストとして保存する

SQLite のデフォルトエンコーディングは UTF8 なので、以下のように

PRAGMA encoding = "UFT-16le"

エンコーディングUnicode(LittelEndian)に変更(ATTACH DATABASE する前でのみ可能)し、区切り文字も

.saparetor "\t"

に変更すれば、ExcelUnicode テキスト(*.txt)出力をそのままSQLiteから .import により読み込める[はず※未検証]。

# Excel の機能を参照 :: Excel File を参照するための御膳立て
$oXl = New-Object -ComObject Excel.Application
# File 選択 Dialog で選択されたワークブックを開く
$oBk = $oXl.Workbooks.Open( $xlsW )
# 単一ワークシートの場合
$oSh = $oBk.sheets.item(1)
# SaveAs で確認Dialog が開かないようにする
$oXl.displayAlerts = $false
#Unicodeテキストとして保存(xlUnicodeText : 42 / xlCSV : 6)
$oBk.SaveAs( $xlsU, 42 )
$oBk.Close()
$oXl.quit()
[System.Runtime.InteropServices.Marshal]::FinalReleaseComObject($oXl) | Out-Null