第1个回答 推荐于2017-12-15
List<string> liststr = new List<string>();
DataTable table = new DataTable();
DataColumn column = null;
// 把列假如到table中
column = new DataColumn("A");
table.Columns.Add(column);
column = new DataColumn("B");
table.Columns.Add(column);
column = new DataColumn("C");
table.Columns.Add(column);
column = new DataColumn("D");
table.Columns.Add(column);
column = new DataColumn("E");
table.Columns.Add(column);
column = new DataColumn("F");
table.Columns.Add(column);
DataRow row;
StreamReader sysr = null;
foreach (string path in liststr)
{
string conten;
int currentLine = 0;
//判断txt文件是否存在
if (File.Exists(path) == true)
{
sysr = new StreamReader(path, UnicodeEncoding.GetEncoding("GBK"));
StringBuilder sb = new StringBuilder();
//读取txt文件,不读第一行数据
while (sysr.Peek() > -1)
{
if (currentLine == 0)
{
sysr.ReadLine();
}
else
{
conten = sysr.ReadLine();
sb.AppendLine(conten);
// 把数据以,号分隔
string[] values = conten.Split(',');
row = table.NewRow();
row["A"] = values[0];
row["B"] = values[1];
row["C"] = values[2];
row["D"] = values[3];
row["E"] = values[4];
row["F"] = values[5];
table.Rows.Add(row);
}
currentLine++;
}
}
continue;
}
if (sysr != null)
{
sysr.Close();
}本回答被提问者采纳
第2个回答 推荐于2016-03-10
在页面拖一个saveFileDialog1控件;
private void btnJgbc_Click(object sender, EventArgs e)
{
try
{
DataTable myDT = new DataTable();
myDT = GvtoDT(ref myGV);
WriteTxt(myDT);
MessageBox.Show("保存成功!");
}
catch
{
MessageBox.Show("保存失败!");
}
}
private void WriteTxt(DataTable tb)
{
StreamWriter sr;
string report;
if (File.Exists(Application.StartupPath + "//MyFile3.txt")) //如果文件存在,则创建File.AppendText对象
{
sr = File.AppendText(Application.StartupPath + "//MyFile3.txt");
report = "appended";
}
else //如果文件不存在,则创建File.CreateText对象
{
sr = File.CreateText(Application.StartupPath + "//MyFile3.txt");
report = "created";
}
StringBuilder sb = new StringBuilder();
sr.WriteLine("注数/t红1/t红2/t红3/t红4/t红5/t红6/t蓝1/t蓝2/r/n");
foreach (DataRow dr in tb.Rows)
{
sr.WriteLine(dr[0].ToString() + "/t" + dr[1].ToString() + "/t" + dr[2].ToString() + "/t" + dr[3].ToString() + "/t" + dr[4].ToString() + "/t" + dr[5].ToString() + "/t" + dr[6].ToString() + "/t" + dr[7].ToString() + "/r/n");
}
sr.Close();
if( saveFileDialog1.ShowDialog()==DialogResult.OK)
{
File.Copy(Application.StartupPath + "//MyFile3.txt", saveFileDialog1.FileName, true);
File.Delete(Application.StartupPath + "//MyFile3.txt");
}
}
第3个回答 2019-09-12
List<string>
liststr
=
new
List<string>();
DataTable
table
=
new
DataTable();
DataColumn
column
=
null;
//
把列假如到table中
column
=
new
DataColumn("A");
table.Columns.Add(column);
column
=
new
DataColumn("B");
table.Columns.Add(column);
column
=
new
DataColumn("C");
table.Columns.Add(column);
column
=
new
DataColumn("D");
table.Columns.Add(column);
column
=
new
DataColumn("E");
table.Columns.Add(column);
column
=
new
DataColumn("F");
table.Columns.Add(column);
DataRow
row;
StreamReader
sysr
=
null;
foreach
(string
path
in
liststr)
{
string
conten;
int
currentLine
=
0;
//判断txt文件是否存在
if
(File.Exists(path)
==
true)
{
sysr
=
new
StreamReader(path,
UnicodeEncoding.GetEncoding("GBK"));
StringBuilder
sb
=
new
StringBuilder();
//读取txt文件,不读第一行数据
while
(sysr.Peek()
>
-1)
{
if
(currentLine
==
0)
{
sysr.ReadLine();
}
else
{
conten
=
sysr.ReadLine();
sb.AppendLine(conten);
//
把数据以,号分隔
string[]
values
=
conten.Split(',');
row
=
table.NewRow();
row["A"]
=
values[0];
row["B"]
=
values[1];
row["C"]
=
values[2];
row["D"]
=
values[3];
row["E"]
=
values[4];
row["F"]
=
values[5];
table.Rows.Add(row);
}
currentLine++;
}
}
continue;
}
if
(sysr
!=
null)
{
sysr.Close();
}