日期:2014-05-17  浏览次数:21343 次

C#中如何将listview中的数据按格式保存到TXT文件中
字段名 最大值 最小值 平均值 总和 标准差 方差 

SMID 22 22 22 22 0 0  

SMUSERID 0 0 0 0 0 0  

默认符号 0 0 0 0 0 0  

符号大小 24 24 24 24 0 0  

默认线型 0 0 0 0 0 0  

线条颜色 0 0 0 0 0 0  

线条宽度 1 1 1 1 0 0  

默认填充 0 0 0 0 0 0  

填充前景色 12895428 12895428 12895428 12895428 0 0  

填充背景色 16777215 16777215 16777215 16777215 0 0  

可见 1 1 1 1 0 0  

可选 1 1 1 1 0 0  

最大显示比例 0 0 0 0 0 0  

最小显示比例 1000 1000 1000 1000 0 0

------解决方案--------------------
C# code
System.IO.StreamWriter sw = new System.IO.StreamWriter("a.txt", false, System.Text.Encoding.GetEncoding("gb2312"));
            try
            {
                int len = 0;
                string line = "";
                string temp = "";
                for (int i = 0; i < lv.Columns.Count; i++)
                {
                    temp = lv.Columns[i].Text;
                    len = 30 - Encoding.Default.GetByteCount(temp) + temp.Length; //考虑中英文的情况
                    temp = temp.PadRight( len, ' ');
                    line += temp;
                }
                sw.WriteLine(line);
                line = "";
                for (int i = 0; i < lv.Items.Count; i++)
                {
                    for (int j = 0; j < lv.Items[i].SubItems.Count; j++)
                    {
                        temp = lv.Items[i].SubItems[j].Text;
                        len = 30 - Encoding.Default.GetByteCount(temp) + temp.Length;
                        temp = temp.PadRight(len, ' ');
                        line += temp;
                    }
                    sw.WriteLine(line);
                    line = "";                  
                }
                sw.Flush();
            }
            finally
            {
                if (sw != null) sw.Close();
            }