LoginSignup
0
1

More than 5 years have passed since last update.

Visual Studio / Windows Forms Application > DataGridView > XE4:SaveToFile()に相当するものの実装

Last updated at Posted at 2017-04-21
動作環境
Windows 7 Pro (32bit)
Microsoft Visual Studio 2017 Community (以下VS) > Windows Forms Application
Sublime Text 2

C++ Builder XE4ではTStringGridにてSaveToFile()をしてcsvファイル出力ができた。

VSではどうするか。

参考: http://stackoverflow.com/questions/9943787/exporting-datagridview-to-csv-file

実装してみた。

Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO; 

namespace _170421_helloWorld
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string outfile = "test170421a.csv";
            dataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
            dataGridView1.SelectAll();
            DataObject dataObject = dataGridView1.GetClipboardContent();
            File.WriteAllText(outfile, dataObject.GetText(TextDataFormat.CommaSeparatedValue));
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
        }

        private void Form1_Shown(object sender, EventArgs e)
        {
            string alist = "data1,data2,data3";
            string[] elem = alist.Split(',');
            for(int idx=0; idx<3; idx++)
            {
                dataGridView1.Rows.Add(elem);
            }
        }
    }
}

qiita.png

ボタンを押して以下のファイルがbin\Debug以下に作成された。

test170421a.csv
,Column1,Column2,Column3
,data1,data2,data3
,data1,data2,data3
,data1,data2,data3
,,,

クリップボードを書き換えてしまうのは要検討。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1