从datagridview导出到* .txt文件只有前20个单元格的字母

时间:2016-03-07 07:23:01

标签: c#

我正在使用此代码从datagridview导出到* .txt文件

TextWriter sw = new StreamWriter(@"C:\fiscal.txt");       
int rowcount = dataGridView1.Rows.Count;
for (int i = 0; i < rowcount - 1; i++)
{
sw.Write("{0,-20}", dataGridView1.Rows[i].Cells[0].Value.ToString());       
}                
sw.Close();

但如果我的datagridview的单元格大于20 letters,我想删除其余的单元格。并且只导出我的前20个字母。

1 个答案:

答案 0 :(得分:4)

希望Substring()会以下列方式帮助您:将代码段包含在for

string tempString = dataGridView1.Rows[i].Cells[0].Value.ToString();
if(tempString.Length>20)
   tempString=tempString.Substring(0,20);
else
   {
     tempString = tempString.PadRight(20); //use this if you need space after the word
            tempString = tempString.PadLeft(20); //use this if you need space before the word
   }
sw.Write(tempString);

更新:根据op的评论:

您可以使用Padding将空字符串附加到您的实际字符串中。 C#提供了两个填充选项,例如右边填充和左边填充。

  

PadRight在字符串右侧添加空格。 PadLeft同时补充道   向左转。这些方法使文本更易于阅读。填充字符串   在开头或结尾添加空格或其他字符。任何   字符可以用于填充。