最新评论

@爱网2008 这绝对不是什么最优方案,直接用Response.Write是不是要提高上万倍。
给个示例 谢谢 ! 呵呵!
正为这个问题烦恼呢,多谢楼主了。
不错,收藏,谢谢!~
修改了这个函数:在导出1k条数据时,估计速度提高上百倍,数据量越大越明显,原理很简单,StringBuilder的性能和“+”的性能的区别。
public static string ExportTable(DataSet ds)
{
StringBuilder sb = new StringBuilder();
//data = ds.DataSetName + "\n";
int count = 0;

foreach (DataTable tb in ds.Tables)
{
//data += tb.TableName + "\n";
sb.AppendLine("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">");
sb.AppendLine("<table cellspacing=\"0\" cellpadding=\"5\" rules=\"all\" border=\"1\">");
//写出列名
sb.AppendLine("<tr style=\"font-weight: bold; white-space: nowrap;\">");
foreach (DataColumn column in tb.Columns)
{
sb.AppendLine("<td>" + column.ColumnName + "</td>");
}
sb.AppendLine("</tr>");

//写出数据
foreach (DataRow row in tb.Rows)
{
sb.Append("<tr>");
foreach (DataColumn column in tb.Columns)
{
if (column.ColumnName.Equals("证件编号") || column.ColumnName.Equals("报名编号"))
sb.Append("<td style=\"vnd.ms-excel.numberformat:@\">" + row[column].ToString() + "</td>");
else
sb.Append("<td>" + row[column].ToString() + "</td>");
}
sb.AppendLine("</tr>");
count++;
}
sb.AppendLine("</table>");
}

return sb.ToString();
}

稍后会提供下载版。
@ 颜昌钢
02723456781 刘大鱼 天津市-和平区
027-23456781 刘大鱼二 天津市-和平区
看不出什么问题呀?
呵呵,02723456781 这样的数字呢?您哪个加了个-号...呵呵
@ 颜昌钢
电话号码可以保持原样,如下:
120111000001 027-23456781 刘大鱼二

暂时还没有找到Excel怎么支持打开多个Table时,自动显示在多个工作薄方法
对于电话号码的区号是怎么处理?
如:027
对应的style是什么?

同时,这样的导出方法,不能够满足多个工作薄的要求.

这个问题难了我很久,总算找到一种解决方法了
re: 阳历阴历计算和显示1900~2100 个人 2007-04-24 23:07  
看了MS的那个例子。。觉得还是不错的。。
PivotTableDemo.rar
是我参照某篇文章(好像是某老外写的)改进的示例程序。找了半天暂时没找到原出处,以后找到了会补上。
哪位如果知道,帮我标明好了,谢谢了。

导航

统计

公告