我要读取的.csv文件内容是这样: 序号,名称,地址,区号代码
1,酒店,市江滨路,2012
2,餐厅,市江河路,2013
3,医院,市厦禾路,2014
点击按钮读取的代码如下:
OpenFileDialog file = new OpenFileDialog();
file.Filter = "文档(*.csv)|*.csv";
if (file.ShowDialog() == DialogResult.OK)
{
filepath.path = file.FileName;
DataTable dt = new DataTable();
dt.Columns.Add("状态", typeof(String));
dt.Columns.Add("匹配方法新", typeof(String));
dt.Columns.Add("匹配方法旧", typeof(String));
dt.Columns.Add("序号", typeof(String));
dt.Columns.Add("名称", typeof(String));
dt.Columns.Add("地址", typeof(String));
dt.Columns.Add("区划代码", typeof(String));
string[] lines = File.ReadAllLines(file.FileName, Encoding.Default);
for (int i = 1; i < lines.Length; i++)
{
string[] data = lines[i].Split(',');
DataRow dr = dt.NewRow();
dr[3] = data[0];
dr[4] = data[1];
dr[5] = data[2];
dr[6] = data[3];
dt.Rows.Add(dr);
}
this.dataGridView1.DataSource = dt;
}
如上面所示在显示的datagridview中,我增加了“状态”等三列,现在怎么把datagridview整个表的内容重新保存到原文件中。??求解??或者怎么用代码添加我增加的列,要增加到原来列的前面
1,酒店,市江滨路,2012
2,餐厅,市江河路,2013
3,医院,市厦禾路,2014
点击按钮读取的代码如下:
OpenFileDialog file = new OpenFileDialog();
file.Filter = "文档(*.csv)|*.csv";
if (file.ShowDialog() == DialogResult.OK)
{
filepath.path = file.FileName;
DataTable dt = new DataTable();
dt.Columns.Add("状态", typeof(String));
dt.Columns.Add("匹配方法新", typeof(String));
dt.Columns.Add("匹配方法旧", typeof(String));
dt.Columns.Add("序号", typeof(String));
dt.Columns.Add("名称", typeof(String));
dt.Columns.Add("地址", typeof(String));
dt.Columns.Add("区划代码", typeof(String));
string[] lines = File.ReadAllLines(file.FileName, Encoding.Default);
for (int i = 1; i < lines.Length; i++)
{
string[] data = lines[i].Split(',');
DataRow dr = dt.NewRow();
dr[3] = data[0];
dr[4] = data[1];
dr[5] = data[2];
dr[6] = data[3];
dt.Rows.Add(dr);
}
this.dataGridView1.DataSource = dt;
}
如上面所示在显示的datagridview中,我增加了“状态”等三列,现在怎么把datagridview整个表的内容重新保存到原文件中。??求解??或者怎么用代码添加我增加的列,要增加到原来列的前面
Overriding an existing file in C#
http://stackoverflow.com/questions/793589/overriding-an-existing-file-in-c-sharp
using (StreamWriter sw = new StreamWriter(filePath)) {
sw.WriteLine("标题1,标题2");
foreach (DataGridViewRow row in this.dataGridView1.Rows) {
sw.WriteLine("{0},{1}",
row.Cells[0].Value, row.Cells[1].Value);
}
}
[Code]
using (StreamWriter sw = new StreamWriter(filePath)) {
sw.WriteLine("标题1,标题2");
foreach (DataGridViewRow row in this.dataGridView1.Rows) {
sw.WriteLine("{0},{1}",
row.Cells[0].Value, row.Cells[1].Value);
}
}