public string CreateAdvExcel(IList<DocAdvInfo> lt)
{
StringBuilder builder = new StringBuilder();
Random rn = new Random();
string name = rn.Next(9999) + ".xls";
string path = Server.MapPath("\Document\" + name);
System.Reflection.PropertyInfo[] myPropertyInfo = lt.First().GetType().GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
int i = 0, j;
for (i = 0, j = myPropertyInfo.Length; i < j; i++)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
string headname = pi.Name;//单元格头部
builder.Append(headname);
builder.Append(" ");
}
builder.Append("
");
foreach (DocAdvInfo t in lt)
{
if (lt == null)
{
continue;
}
for (i = 0, j = myPropertyInfo.Length; i < j; i++)
{
System.Reflection.PropertyInfo pi = myPropertyInfo[i];
string str = string.Format("{0}", pi.GetValue(t, null)).Replace("
", "");
if (str == "")
{
builder.Append(" ");
}
else
{
builder.Append(str + " ");//横向跳到另一个单元格
}
}
builder.Append("
");//换行
}
StreamWriter sw = new StreamWriter(path, false, System.Text.Encoding.GetEncoding("GB2312"));
sw.Write(builder.ToString());//输出
sw.Flush();
sw.Close();