.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. C#
  5. C#でのCSVファイルの出力とは?方法をご紹介!

C#でのCSVファイルの出力とは?方法をご紹介!

  • C#
  • プログラミング言語
公開日時:   更新日時:
C#でのCSVファイルの出力とは?方法をご紹介!
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>
    システム
    エンジニア
    CSVファイルの出力の方法ってどんな方法ですか?
    プロジェクト
    マネージャー
    "",""(カンマ)でデータとデータを区切った形式で出力する方法です。この記事では、出力方法をご紹介していきます。

    C#でのCSVファイルの出力


    C#では、CSV形式でファイルの入出力を行うことができます。ここでは、C#でのCSV形式でのファイル出力方法について説明します。

    CSV形式で出力することで、他のアプリケーションなどに取り込むこともできます。実際のC#のコードを掲載しているので、照らし合わせてみてください。

    CSV形式とは

    CSV形式とは、”,”(カンマ)でデータとデータを区切った形式のことで、エクセルでそのまま開くことができます。

    また、テキスト形式ですのでメモ帳などのテキストエディタでも開くことができます。

    CSV形式は、単語帳を例にすると、以下のようなものです。

    このように、CSV形式のファイルでは、1行で1データを表現しています。
    ※この記事では、CSV形式のファイルのことを「CSVファイル」と記載します。

    CSVファイルは、アプリケーション間のデータやり取りなどで使用されます。
    例えば、「単語帳アプリでAさんが作成した単語データを、Bさんの単語帳アプリに取り込む。」などのやり取りを、CSVファイルを介して行うことができます。

    CSVファイルの出力

    C#のコンソールアプリでCSVファイルを出力するプログラムを作ってみます。

    CSVファイルを作成するためには、コードの先頭に

    を付与するのを忘れないでください。
    Systemは、コンソールにメッセージを出力するため、System.IOは、StreamWriterクラスを使うため、System.Textは、Encoding.UTF8の定数を使うために必要です。

    また、プログラムの実行前に「C:\test」フォルダを作成しておいてください。作成していないとCSVファイルが出力されません。

    以下が前述した単語帳のCSVファイルを作成するサンプルです。

    プログラムを実行すると、C:\testフォルダにtest.csvが出力されていることが分かります。
    C#ではこのようにしてCSVファイルを作成します。

    ファイル出力モード(上書き/追記)

    ここでは、ファイルを開く際に使用したC#のStreamWriterクラスの出力モードについて見ていきましょう。

    先ほどのサンプルでは、以下のように記述しました。
    第1引数はファイルの出力先、第2引数はファイル出力モード、第3引数はエンコーディングです。

    ファイル出力モードをfalseにすることで、毎回上書きでCSVファイルを作成します。

    それを確認するために、もう一度先ほどのプログラムを実行してみてください。
    何度実行しても以下のファイルが出力されます。

    では、StreamWriterクラスの第2引数をtrueに変更して実行するとどうなるでしょうか。

    以下のように、既存のtest.csvに追記されて保存されていることが分かります。

    ファイルが存在しない場合に、上書きモードに設定してもファイルは作成されます。

    出力モードは、省略することもできます。

    こうした場合、自動的に上書きモードになります。

    用途に応じて、出力モードを記載してください。

    エンコーディング

    ここでは、C#のStreamWriterクラスのエンコーディングについて見ていきましょう。
    StreamWriterクラスの第3引数を以下のように変更してください。

    こうすることでUnicodeのファイルを出力することができます。

    また、以下のようにエンコーディングを省略することもできます。

    エンコーディングを省略した場合、デフォルトのエンコーディングが適用されます。
    用途に応じてエンコードを指定するようにしてください。

    CSVヘッダ

    CSVファイルはヘッダ部とデータ部に分かれていることが一般的です。

    前述のサンプルでいうところの、

    はデータ部になります。このファイルはデータ部のみのCSVファイルということになります。

    ヘッダ部とは、カンマで区切った何個目のフィールドが何の情報なのか?を記述したものです。
    単語帳の例でいうと、ヘッダ部は

    などとするとよいでしょう。

    プログラムで書くと、以下のようになります。

    こうすることで、ヘッダ部とデータ部のCSVファイルが出力されます。

    ヘッダ部を記載することで、カンマで区切られたデータ部の1列目が日本語で、2列目が英語であることが分かりやすくなります。

    また、CSVファイルの取り込みを考えた場合、「jpの列だけ取り込む」などもできるようになりますので、拡張性が増します。

    CSVファイルに出力する場合、データ部だけでも問題ありませんが、ヘッダ部も含めて出力するとよいでしょう。

    システム
    エンジニア
    出力するデータによって、方法が違うのですね。
    プロジェクト
    マネージャー
    CSVファイルの出力必要な手法なので、覚えておくと良いでしょう。

    CSVファイルの出力方法を試してみよう

    アプリケーション間のデータやり取りに、CSVファイルを使うことがあります。C#では、StreamWriterクラスを使用することで、CSVファイルの出力先、出力モード、エンコーディングを指定して出力することができます。出力モード、エンコーディングは省略することも可能です。また、CSVファイルはヘッダ部とデータ部含めて出力するようにしましょう。

    C#では、CSVファイルの出力だけでなく入力もできますので、ぜひご自身でコーディングして確かめてみてください。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    C#新着案件New Job