• 締切済み

C# csvをexcelシートのように表記したい

VS2017でC#を勉強しています。 複数のcsvファイルをexcelのシートのように表示できますか? ネットで検索すると、excelファイルのシートを表示するサンプルはありますが、 複数csvファイルをシート別に表示させるサンプルがわかりませんでした。 そのような表(ツール)はありますか? 複数ある場合、csvファイルを表示させたいのでdatagridviewのようにカラムが分かれているものを教えてください。 サンプルプログラムを書いていただけますと助かります。 よろしくお願いいたします。

みんなの回答

  • kteds
  • ベストアンサー率42% (1876/4424)
回答No.1

私ならシートはTabControl , 表示はListView を使います。 実際の結果は添付画像参照。(Visual Studio 2017 C#で作成) --- TabControl や ListView のサンプルは自分でWeb検索してみてください。 すぐに見つかることでしょう。

maw7884t
質問者

お礼

ありがとうございます。 質問に補足を追加しましたので、それについてのコードの書き方を教えていただけますでしょうか。 よろしくお願いします。

maw7884t
質問者

補足

昨晩、自力でTabControl +datagridviewでできるのでは?と思い、 フォームデザインでツールボックスよりTabControl を置き、その中にdatagridviewを挿入(親コンテナーにドッキングするを選択)し、 プログラム内でデータ挿入をすることはできましたが、 プログラム内で tabControl.TabPages.Add("TabPage"); した後、 その中にdatagridviewを挿入する方法がわかりません。 タブページを追加した後datagridviewを作成すると、タブページ内ではなく フォーム内に表が作成されてしまいます。 大変申し訳ありませんが、フォームデザインで選択した「親コンテナードッキングする」にあたる構文を教えていただけますか? 無理な場合、その方法が乗っているwebページのURLを張り付けていただけますか? よろしくお願いします。

関連するQ&A

  • CSVファイルをエクセルに取込むには

    VisualBasicで作成したCSVファイルをエクセルに取込み、ファイルの値を表示したいと考えています。 このとき、エクセルには既に枠(?表といった方がいいでしょうか?)が表示されており、CSVファイルのこの値は、表のこのカラムに表示すると言ったことがしたいのですが、どんな風に進めたら良いのか、全然イメージ出来ません。 こんな項目で調べたら?とか、こんな風に進めたら?とか、何かアドバイスをお願いします。

  • Excelのシートをcsv形式に変換するには。

    Excelのシートをcsv形式に変換するには。 こんにちは。 複数のシートがあるエクセルファイルを、一度にcsv形式に変換したいのですが、 なにかいい方法または、フリーソフトはありますでしょうか? よろしくお願いいたします。

  • 複数CSVファイルからEXCELへ取り込み

     複数のCSVファイルを読み込んでEXCELのシートにまとめるやり方は,以前にOKWaveのページでmerlionXXさんがbatwithさんの質問に答えているのがあって,参考にさせていただきました。  そこでそのアレンジとして次の様に変更したいのですが,教えていただけないでしょうか?  複数CSVファイルからのデータ読み出しは同じですが,読み出し時にCSVファイルの指定範囲のデータを足したり,平均とったり,最大値・最小値を検索したりして,その結果のみをEXCELに追記していきたいのです。つまりCSVファイルからデータそのものをEXCELに転記してから計算や検索をすれば目的は達成出来ますが,データそのものをEXCELに転記する必要はないため,計算や検索の結果のみを転記してEXCEL表を小さくしたいのです。  ちなみにCSVファイルは毎日1個できる同じフォーマットのファイル。EXCELファイルは日付ごとに1行のデータ集計結果が追記される表です。  どなたかよろしくお願いいたします。

  • エクセルの任意のシートをcsv出力するVBScript

    c:\a01.xls という名前のエクセルファイルがあり、sheet1、sheet2、sheet3 というシートの構成とします。それぞれのシートには何件かの入力があるとします。 この エクセルファイルから Sheet2 の シートのデータを c:\csv01.csv にCSV出力するには どのような test.vbs を作成したらよいのでしょうか? 教えてください。

  • C# datagridview csv 読込

    datagridviewにcsvファイルを読み込んでいるのですが,csvファイル内の行列数分のみ列数・行数をdatagridviewに生成したいのですが,どうも必要以上の列数・行数を生成してしまいます. 下記にそのプログラムを記載いたします. どなたか,必要分のみするにはどうすればよろしいかご教授願えないでしょうか? private void button1_Click(object sender, EventArgs e) { string strName = "xxx.csv"; // 仮のファイル名 string strPath = "c:/csv/"; // 仮のディレクトリ名 OpenFileDialog sfd = new OpenFileDialog(); sfd.InitialDirectory = strPath; sfd.FileName = strName; sfd.Filter = "CSVファイル(*.csv)|*.csv|xlsファイル(*.xls)|*.xls|xlsxファイル(*.xlsx)|*.xlsx|テキスト(*.txt)|*.txt"; sfd.Title = "開くファイルを選択してください"; sfd.RestoreDirectory = true; sfd.CheckFileExists = false; if (sfd.ShowDialog() == DialogResult.OK) { // CSVファイルオープン System.IO.StreamReader sw = new System.IO.StreamReader(sfd.FileName); // CSVファイルの各セルをDataGridViewに表示 int r = 0; String lin = ""; do { lin = sw.ReadLine(); if (lin != null) { dataGridView1.Columns.Add("clmName1", "日付"); this.dataGridView1.Columns.Add("Time","データ"); this.dataGridView1.Rows.Add(); String[] csv = lin.Split(','); for (int c = 0; c <= csv.GetLength(0) - 1; c++) { if (c < this.dataGridView1.Columns.Count) { this.dataGridView1.Rows[r].Cells[c].Value = csv[c]; } } r += 1; } } while (lin != null); // CSVファイルクローズ sw.Close(); }

  • C# csvをexcelシートのように No.2

    VS2017でC#を独学しています。 https://okwave.jp/qa/q9340465.html 上記で質問したように、Tabcontrolの中にタブページごとにdatagridview表を挿入し、 そこにCSVファイルを表示させたいと思っています。 今、このような形で動きますが、あってますでしょうか? 下記コードの回りくどい部分や、おかしい部分など教えていただけるとうれしいです。 よろしくお願いします。 private System.Windows.Forms.DataGridView dg; private TabPage tabPage9; private void button3_Click(object sender, EventArgs e) { tabPage9 = new TabPage(); tabPage9.Text = "Tab" + i; tabControl1.TabPages.Add(tabPage9); // 追加したタブページにdatagridviewを追加する。 this.dg = new System.Windows.Forms.DataGridView(); this.dg.Name = "dg"; tabPage9.Controls.Add(dg); this.dg.Dock = DockStyle.Fill; this.dg.Columns.Add("", "No"); this.dg.Columns.Add("", "Name"); this.dg.Rows.Add(3); this.dg[0, 0].Value = "aaa"; this.dg[0, 1].Value = "bbb"; i++; }

  • エクセルの複数シートをCSVファイルに変換したい

    エクセルの複数シートをCSVファイルに変換したい

  • エクセルの複数シートをCSVファイルに変換したい

    エクセルの複数シートをCSVファイルに変換したい

  • CSVからエクセルへの取り込み

    エクセル・マクロ初心者です。 CSVファイルの一部分を、エクセルで読み込みたいのですが、 マクロでの作成は可能でしょうか。 (例) ・CSVファイル(読み込み側)  ABCDE 1 2 3 4 5 ・EXCELファイル(書き込み側)  ABCDE 1 2 3 4 5 ・CSV側は、複数のファイルがあります。 ・EXCEL側は、1つのシートにCSVのデータを書き込みます。 ・CSVファイルAの1B、2B、3B、4B、5Bを読み込み、EXCELファイルの、1A、1B、1C、1D、1Eに書き込みます。 ・CSVファイルBの1B、2B、3B、4B、5Bを読み込み、EXCELファイルの、2A、2B、2C、2D、2Eに書き込みます。 ・CSVファイルCの1B、2B、3B、4B、5Bを読み込み、EXCELファイルの、3A、3B、3C、3D、3Eに書き込みます。 というような事をやりたいのです。 どなたか、ご指導のほどよろしくお願いします。

  • WSHで、EXCELにワークシートをCSVから読み込んで追加したい。

    WSHを使って、EXCELを起動して、既存のCSVファイルからデータを読み込みたいのですが、複数のCSVから読み込むなどして、同じワークブックの新しいシートにCSVから読み込んだデータを追加していきたいのですが、どうやればよいのかわかりません。 下のソースのようにしたのですが、そうすると、別のワークブックとして開いてしまうので、わからなくなってしまいました。お願いします。 set Exl=CreateObject("Excel.Application") Exl.Visible=True Exl.workbooks.add Exl.workbooks.OpenText "c:\data.csv"

専門家に質問してみよう