PowerShellからExcelが出力したUnicodeテキストをUFT8 BOM無し '|' 区切りに変換
SQLiteデフォルト設定のインポートテキスト形式として保存する方法
SQLite のエンコーディングと区切り文字をデフォルトから変更しない場合は、ExcelからUnicodeテキストとして保存されたファイルを、さらにUTF8 BOM無し'|' 区切りに変更する必要がある。
UTF8 BOM無しの定数が無いので、エンコーディング指定のパラメータは以下のようにして渡す。
$( New-Object System.Text.UTF8Encoding($False) )
エンコーディングの変更と同時に、区切り文字の置換を行う必要があるので、StreamWiriteを使って書き出す。
$sw = New-Object System.IO.StreamWriter $sqlitePath, $( New-Object System.Text.UTF8Encoding($False) ) gc $xlsPath -encoding Unicode | % { $sw.WriteLine( $_.replace( "`t","|" ) ) } $sw.close()