要导出数据到文本文件我已经实现了,没问题,格式也正确,但是接收方说他们需要的是DOS格式的,在xp上用记事本打开格式也是乱的,请问各位谁了解的告诉下,麻烦了。
代码:
                        StreamWriter SW = new StreamWriter(global.sysdirectory + "\\RZ" + "\\RZDZ0013" + global.systdt + ".txt");
                        SW.Write("NAME:商业银行\n");
                        SW.Write("CODE:0013\n");
                        SW.Write("DATE:" + global.systdt.Substring(0, 4) + "-" + global.systdt.Substring(4, 2) + "-" +
                            global.systdt.Substring(6, 2) + "\n");
                        decimal DMoney = 0;
                        for (int i = 0; i < DS.Tables[0].Rows.Count; i++)
                        {
                            DMoney += Convert.ToDecimal(DS.Tables[0].Rows[i][7]);
                        }
                        SW.Write("MONEY:" + DMoney.ToString("F2").PadLeft(14, ' ') + "\n");
                        for (int i = 0; i < DS.Tables[0].Rows.Count; i++)
                        {
                            SW.Write("\n" + DS.Tables[0].Rows[i][1].ToString() + " ");
                            SW.Write(DS.Tables[0].Rows[i][5].ToString() + " ");
                            SW.Write(Convert.ToDecimal(DS.Tables[0].Rows[i][7]).ToString("F2").PadLeft(10, ' '));
                        }
                        SW.Flush();
                        SW.Close();

解决方案 »

  1.   

     StreamWriter SW = new StreamWriter(global.sysdirectory + "\\RZ" + "\\RZDZ0013" + global.systdt + ".txt",Encoding.GetEncoding("utf-8")); 可能是编码问题
      

  2.   

    文本文件打开或许是编码问题,参考楼上的楼上
    不行的话 你可以用 default看看另外,通过你上面的数据看到,是银行的东西
    多数银行还是使用的 dos 操作界面的 (不好意思的是 ,没接触过)
      

  3.   

    以前专门做银行的这些数据,基本都是文本的,文本的也分为很多编码格式,一般用default编码就可以啦
    在一个就是回车换行的问题
    有的是 \r\n
    有的是 单个的\r 或 \n你问一下银行的到底是什么的(估计他们也不知道)
    你叫他给你一个他们的文本
    你看看就知道啦推荐你个文本工具UltraEdit
    很强大的
      

  4.   

    应该是编码的问题。。一般用default可以解决哈
      

  5.   

    搞定了,用编码还是不行,必须用writeline回行就没问题,不知道为什么啊,不过用没问题了,谢谢大家了。