如图,最近做一个导出的功能,客户觉得导出后信息详情太过于拥挤,看得不舒服,需要分开点,由于此处不考虑用多列存放信息,仅限一列的这种特使情况以作为例子。
最后实现后的效果。
数据结构是这样的, string details="姓名:东方|电话:13088772372|邀约人:小宝儿";
string newstr=string.Empty; string[] sbarry = details.Split('|'); for (int i = 0; i < sbarry.Length; i++) { newstr += AutoStr(30,sbarry[i]); }
/// <summary> /// 字符串自适应长度 /// </summary> /// <param name="length">长度为Byte数组长</param> /// <param name="str">需要补齐的字符串</param> /// <returns></returns> public static string AutoStr(int length, string str) { string result = ""; byte[] bytearray = System.Text.Encoding.Default.GetBytes(str); byte[] newbyte = new byte[length]; for (int z = 0; z < bytearray.Length; z++) { newbyte[z] = bytearray[z]; } for (int l = 0; l < newbyte.Length; l++) { if (newbyte[l] == 0) { newbyte[l] = 161;//半角空格填充 } } result += System.Text.Encoding.Default.GetString(newbyte); if (result.Substring(result.Length - 1) == "?") { result = result.Substring(0, result.Length - 1) + " ";//补齐一个字符的差距 } return result; }