FileStream fileStream;
/// <summary>
/// 目前只能从2行转换为2列。
/// 思路为将值存为 "1 2 3 $ 4 5 6"
/// 以$的坐标为开始,向下分别输出
/// ps:文本文档中的空行为:\r
/// </summary>
void ConvertText()
{
string filePath=Server.MapPath("Text1.txt");
   
byte[] bRead;
fileStream=File.OpenRead(filePath);
int length=(int)fileStream.Length;
bRead=new byte[length];
fileStream.Read( bRead,0,length);

string strRead;
strRead=Encoding.Default.GetString(bRead);
//将空行转换为$
string strNewWord=strRead.Replace("\r","$ ");
//分隔字符串,存入数组中
string[] strSplitWord=strNewWord.Split(' ');
int bIndex=0;
int aIndex=0;
for(int i=0;i<strSplitWord.Length;i++)
{
//得到一半的索引值
if(strSplitWord[i].Equals("$"))
{
bIndex=i+1;
break;
}

}
while(aIndex<strSplitWord.Length && bIndex<strSplitWord.Length)
{
if(strSplitWord[aIndex]!=null && strSplitWord[bIndex]!=null)
{
    //输出时去掉$ 
if(strSplitWord[aIndex].Equals("$"))
strSplitWord[aIndex]="";
if(strSplitWord[bIndex].Equals("$"))
strSplitWord[bIndex]="";
//输出
Response.Write("<br>"+strSplitWord[aIndex]+" "+strSplitWord[bIndex]+"<br>");
}
aIndex++;
bIndex++;
}
    }程序不是很好,不支持多行转多列。
如果以后有兴趣了,再写吧~~~