我有一个文本文件,显示从sql数据库中检索到的信息。 有没有办法在将用作标题的数据顶部插入一行?
下面是文本文件部分的代码。
StringBuilder sb = new StringBuilder();
foreach (DataRow row in dataTable.Rows)
{
sb.AppendLine(row[0].ToString().PadRight(8, ' ') + "," + row[1].ToString().PadRight(4, ' ') + "," + row[2].ToString().PadRight(8, ' ') + "," + row[3].ToString().PadRight(1, ' ')
+ "," + row[4].ToString().PadRight(30, ' ') + "," + row[5].ToString().PadRight(15, ' ') + "," + row[6].ToString().PadRight(1, ' ') + "," + row[7].ToString().PadRight(4, ' ')
+ "," + row[8].ToString().PadRight(30, ' ') + "," + row[9].ToString().PadRight(6, ' ') + "," + row[10].ToString().PadRight(30, ' ') + "," + row[11].ToString().PadRight(30, ' ')
+ "," + row[12].ToString().PadRight(30, ' ') + "," + row[13].ToString().PadRight(30, ' ') + "," + row[14].ToString().PadRight(30, ' ') + "," + row[15].ToString().PadRight(13, ' ')
+ "," + row[16].ToString().PadRight(13, ' ') + "," + row[17].ToString().PadRight(13, ' ') + "," + row[18].ToString().PadRight(13, ' ') + "," + row[19].ToString().PadRight(7, ' ')
+ "," + row[20].ToString().PadRight(1, ' ') + "," + row[21].ToString().PadRight(11, ' ') + "," + row[22].ToString().PadRight(1, ' ') + "," + row[23].ToString().PadRight(13, ' ')
+ "," + row[24].ToString().PadRight(8, ' ') + "," + row[25].ToString().PadRight(39, ' '));
}
using (StreamWriter outFile = new StreamWriter(mypath + @"CCC.txt")) outFile.Write(sb.ToString());
myConnection.Close();
我不明白第一行的布尔值。为什么不直接在循环之前附加标头?
StringBuilder sb = new StringBuilder();
sb.AppendLine("Header Line");
foreach (DataRow row in dataTable.Rows)
{
ppendLine(row[0].ToString().PadRight(8, ' ') + "," + row[1].ToString().PadRight(4, ' ') + "," + row[2].ToString().PadRight(8, ' ') + "," + row[3].ToString().PadRight(1, ' ')
+ "," + row[4].ToString().PadRight(30, ' ') + "," + row[5].ToString().PadRight(15, ' ') + "," + row[6].ToString().PadRight(1, ' ') + "," + row[7].ToString().PadRight(4, ' ')
+ "," + row[8].ToString().PadRight(30, ' ') + "," + row[9].ToString().PadRight(6, ' ') + "," + row[10].ToString().PadRight(30, ' ') + "," + row[11].ToString().PadRight(30, ' ')
+ "," + row[12].ToString().PadRight(30, ' ') + "," + row[13].ToString().PadRight(30, ' ') + "," + row[14].ToString().PadRight(30, ' ') + "," + row[15].ToString().PadRight(13, ' ')
+ "," + row[16].ToString().PadRight(13, ' ') + "," + row[17].ToString().PadRight(13, ' ') + "," + row[18].ToString().PadRight(13, ' ') + "," + row[19].ToString().PadRight(7, ' ')
+ "," + row[20].ToString().PadRight(1, ' ') + "," + row[21].ToString().PadRight(11, ' ') + "," + row[22].ToString().PadRight(1, ' ') + "," + row[23].ToString().PadRight(13, ' ')
+ "," + row[24].ToString().PadRight(8, ' ') + "," + row[25].ToString().PadRight(39, ' ')) ;
}
using (StreamWriter outFile = new StreamWriter(mypath + @"CCC.txt")) outFile.Write(sb.ToString());
myConnection.Close();
只需添加标题行!!
bool firstline = true;
StringBuilder sb = new StringBuilder();
foreach (DataRow row in dataTable.Rows)
{
if(firstline)
{
sb.AppendLine("Header Line");
firstline = false;
}
sb.AppendLine(row[0].ToString().PadRight(8, ' ') + "," + row[1].ToString().PadRight(4, ' ') + "," + row[2].ToString().PadRight(8, ' ') + "," + row[3].ToString().PadRight(1, ' ')
+ "," + row[4].ToString().PadRight(30, ' ') + "," + row[5].ToString().PadRight(15, ' ') + "," + row[6].ToString().PadRight(1, ' ') + "," + row[7].ToString().PadRight(4, ' ')
+ "," + row[8].ToString().PadRight(30, ' ') + "," + row[9].ToString().PadRight(6, ' ') + "," + row[10].ToString().PadRight(30, ' ') + "," + row[11].ToString().PadRight(30, ' ')
+ "," + row[12].ToString().PadRight(30, ' ') + "," + row[13].ToString().PadRight(30, ' ') + "," + row[14].ToString().PadRight(30, ' ') + "," + row[15].ToString().PadRight(13, ' ')
+ "," + row[16].ToString().PadRight(13, ' ') + "," + row[17].ToString().PadRight(13, ' ') + "," + row[18].ToString().PadRight(13, ' ') + "," + row[19].ToString().PadRight(7, ' ')
+ "," + row[20].ToString().PadRight(1, ' ') + "," + row[21].ToString().PadRight(11, ' ') + "," + row[22].ToString().PadRight(1, ' ') + "," + row[23].ToString().PadRight(13, ' ')
+ "," + row[24].ToString().PadRight(8, ' ') + "," + row[25].ToString().PadRight(39, ' ')) ;
}
using (StreamWriter outFile = new StreamWriter(mypath + @"CCC.txt")) outFile.Write(sb.ToString());
myConnection.Close();
对于标题行,如果需要列
bool firstheader=true;
for (int i = 0 ; i < dataTable.Columns.Count; i++)
{
if (!firstheader)
sb.Append(",");
firstheader=false;
sb.Append(dataTable.Columns[i]);
}