SmartFは、CSVファイルの取込/出力に対応しています。
CSVファイルを扱う上で注意すべき内容や、取り扱い方法をまとめています。
CSVファイルの文字コードを変換して保存する方法
CSVデータには複数の文字コードが存在します。
SmartFのCSV取込設定で指定した文字コードと取り込んだCSVデータの文字コードが異なると、正しく取り込むことができません。
※よく使用される文字コードは、UTF-8とShift_JIS(ANSI)の2種類です。UTF-8で作成されたCSVファイルをExcelで開こうとすると文字化けすることがあるため、Shift_JIS(ANSI)を推奨しております。
文字コードが異なる場合(文字化けが発生している場合)は、以下の手順で変更することができます。
- CSVデータをメモ帳アプリで開きます
※右クリック→プログラムから開く→メモ帳(メモ帳が表示されない場合は、別のプログラムを選択)
※メモ帳を先に開いておき、CSVデータをドラッグ&ドロップしても開くことができます。
- ファイル→名前を付けて保存を選択します
- エンコードを変更して、保存ボタンをクリックします
以下のリンクから動画をご確認ください。
https://drive.google.com/file/d/1O_43BST3T3ueOPlxwEaTxmlP54snVlHA/view?usp=drive_link
CSVファイル内で先頭の0が消えてしまう(0落ちする)場合の対処方法
CSVファイルをExcelで開くと、先頭の0が消えて表示されたり、「0001」と入力をすると「1」と表示されることがあります。これを「0(ゼロ)落ち」と言います。
0落ちしたままSmartFでCSVファイルを取り込むと、SmartFのマスタなどに登録されている値とCSVファイル内の値が一致せずに取込エラーが発生する恐れがあります。
そのため、0落ちしないようにCSVファイルを編集・保存する必要があります。
※SmartFから出力したCSVは、こうしたゼロ落ちを防ぐため、文字列データに必ずテキスト囲み文字(")を付加しています。CSVファイルを「メモ帳で編集」で開くとご確認いただけます。
0落ちしないようにCSVファイルを編集する方法
- セルの表示形式の数値を「文字列」に設定します
※右クリック→セルの書式設定→分類で文字列を選択→OKボタンをクリック でも設定できます
- 「文字列」に設定していると、「0001」と入力しても0落ちせずに表示されるようになります
0落ちしないようにCSVファイルを開く方法①
上述した手順で0落ちしないようにCSVファイルを編集しても、再度Excelで開くと0落ちしてしまいます。
0落ちしないようにExcelでCSVファイルを開くための設定方法は、次の通りです。
※Excelのバージョンによっては、設定できない場合があります。
※一度設定すれば、以降はその設定が保持されます。
- Excelを起動し、ファイル→オプションをクリックする
- Excelのオプションで「データ」をクリックする
- 自動データ変換の「先頭のゼロを削除して数値に変換する」のチェックを外して、OKボタンを押す
0落ちしないようにCSVファイルを開く方法②
上述したExcelのオプション設定ができない場合は、Excelで開き方を指定すれば0落ちさせずに開くことが可能です。
【例】取込ファイル 品番の先頭に0があります。
- Excelを開きます
- 「データ」→「テキストまたはCSVから」をクリックします
- 取り込みたいCSVを選択し「インポート」をクリックします
- 区切り記号は「コンマ」「データ型を検出しない」を選びます
- 「読み込み」ボタンをクリックします。
- 0落ちせずにファイルを開くことができます。
※1行目の「column○」という行は削除して問題ございません。
削除ができない場合は、テーブル内のセルを選択して [テーブルデザイン] - [範囲に変換] で削除できるようになります。
- ファイルを保存するときは、ファイルの種類を「CSV(コンマ区切り)(*.csv)」で保存します。
マクロを有効にしたままCSVファイルを編集する方法
SmartFの導入に当たって、ネクスタよりマクロを組み込んだCSVファイルを提供することがあります。
ただし、2022年9月からMicrosoft社がセキュリティ強化のため、インターネットなどからダウンロードした<VBA マクロ有効ブック>を、デフォルト(既定)でブロックする仕様へ変更されています。ダウンロード後に以下のような警告バーが表示された場合は、以下の手順でブロックを解除してください。
- CSVファイルを選択して右クリックします
- プロパティを選択します
- プロパティ画面で全般タブを開きます
- セキュリティを「許可する」にチェックを付けて、OKボタンを押します。
品番などの桁数が多くて指数表記(1.23E+10など)になってしまう場合
CSVファイル内の品番などのデータが12桁以上の場合、Excelなどの表計算ソフトで開くと自動的に指数表記に変換されることがあります。そのまま取り込んでしまうと、正しいデータが反映されません。
CSV取込時にデータが指数表記にならないようにするには、以下の手順でCSV取込設定を行ってください。
- MAIN MENU-設定-CSV取込設定を開き、CSV取込出力を行う種別・フォーマットを選択します。
- 12桁以上になるプロパティのフォーマットに、以下の計算式を設定します。
{IF({{COUNT({ItemCode}|)}{>}0},"{ItemCode}", )}
品番が1桁以上のとき(空欄ではないとき)、品番(ItemCode)を" "で囲む形で出力する設定です。プロパティは出力する項目に応じて変更してください。
CSV出力設定については以下のページを確認してください。