最新评论
Re:asp.net导出Excel/Csv格式数据最优方案(C#) Mr.Xiao 2011-11-18 17:04
@爱网2008
这绝对不是什么最优方案,直接用Response.Write是不是要提高上万倍。
Re:Asp.Net客户端获取到asp:TreeView的value sen 2009-12-15 15:43
给个示例 谢谢 ! 呵呵!
Re:asp.net导出Excel/Csv格式数据最优方案(C#) John Liu 2009-12-14 09:57
正为这个问题烦恼呢,多谢楼主了。
re: asp.net导出Excel/Csv格式数据最优方案(C#) LinFIR 2008-11-01 09:24
不错,收藏,谢谢!~
re: asp.net导出Excel/Csv格式数据最优方案(C#) 爱网2008 2008-05-09 12:33
修改了这个函数:在导出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();
}
稍后会提供下载版。
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();
}
稍后会提供下载版。
re: asp.net导出Excel/Csv格式数据最优方案(C#) 爱网2008 2008-05-09 12:18
@ 颜昌钢
02723456781 刘大鱼 天津市-和平区
027-23456781 刘大鱼二 天津市-和平区
看不出什么问题呀?
02723456781 刘大鱼 天津市-和平区
027-23456781 刘大鱼二 天津市-和平区
看不出什么问题呀?
re: asp.net导出Excel/Csv格式数据最优方案(C#) 颜昌钢 2008-05-06 14:34
呵呵,02723456781 这样的数字呢?您哪个加了个-号...呵呵
re: asp.net导出Excel/Csv格式数据最优方案(C#) 爱网2008 2008-05-06 13:15
@ 颜昌钢
电话号码可以保持原样,如下:
120111000001 027-23456781 刘大鱼二
暂时还没有找到Excel怎么支持打开多个Table时,自动显示在多个工作薄方法
电话号码可以保持原样,如下:
120111000001 027-23456781 刘大鱼二
暂时还没有找到Excel怎么支持打开多个Table时,自动显示在多个工作薄方法
re: asp.net导出Excel/Csv格式数据最优方案(C#) 颜昌钢 2008-05-06 10:24
re: asp.net导出Excel/Csv格式数据最优方案(C#) 颜昌钢 2008-05-06 10:17
对于电话号码的区号是怎么处理?
如:027
对应的style是什么?
同时,这样的导出方法,不能够满足多个工作薄的要求.
如:027
对应的style是什么?
同时,这样的导出方法,不能够满足多个工作薄的要求.
re: asp.net导出Excel/Csv格式数据最优方案(C#) 李战 2008-05-06 08:29
re: 方根的手算法 爱网2008 2008-02-19 12:52
re: Asp.Net客户端获取到asp:TreeView的value jb9802 2007-10-12 23:08
这个问题难了我很久,总算找到一种解决方法了
re: 阳历阴历计算和显示1900~2100 个人 2007-04-24 23:07
号
re: 大家是否愿意讨论数据汇总报表的技术:数据汇总和GridView多表头的生成[未登录] Flykye 2007-04-09 00:31
看了MS的那个例子。。觉得还是不错的。。
re: 大家是否愿意讨论数据汇总报表的技术:数据汇总和GridView多表头的生成 爱网2008 2007-04-08 21:04
PivotTableDemo.rar
是我参照某篇文章(好像是某老外写的)改进的示例程序。找了半天暂时没找到原出处,以后找到了会补上。
哪位如果知道,帮我标明好了,谢谢了。
是我参照某篇文章(好像是某老外写的)改进的示例程序。找了半天暂时没找到原出处,以后找到了会补上。
哪位如果知道,帮我标明好了,谢谢了。
