导出Excel问题,能使DataGrid导出的Excel比较美观?

风之银翼 2006-03-10 06:37:28
我参考了几种导出Excel的方法:
1、DataGrid导出Excel
用此种方法导出的Excel,打开后有内容的能很好的显示,没内容就是白白一片,有什么好方法能使导出的excel美观,即有带线的Excel
2、调用Excel的COM组件
此种方法,速度慢了点,同时又有杀Excel进程的问题
3、还有其他的方法,我没试过,不懂效果怎么样

有办法是用第一种方法导出的Excel更加美观吗??

...全文
327 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
风之银翼 2006-03-13
  • 打赏
  • 举报
回复
to jianyi0115(随意):
没错是调用服务端控件的RenderControl()方法,对服务端的控件,比如DataGrid可以设置相关的样式,但是在DataGrid之外的区域,输出的就是白茫茫的一片了,覆盖掉的Excel的样式了。
to cat_hsfz(http://cathsfz.sitesled.com):
用Com的方法确实会变得很慢,而且会有杀Excel进程的麻烦,用<table>方法也会产生我上述说的问题,好像只要调用控件输出的Excel,控件区域的内容可以很好显示,但控件之外的区域就是白色的一片了。
to blackhero(黑侠客)
FarPoint 控件是免费的吗?
风之银翼 2006-03-13
  • 打赏
  • 举报
回复
我现在换了一种方法,用datatable 导出数据,有什么办法可以设置导出的Excel字体的大小、颜色???
代码如下:
private void OutputExcelThree(DataTable dt)
{
HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strName, System.Text.Encoding.UTF8) + "(" + HttpUtility.UrlEncode(QDateText, System.Text.Encoding.UTF8) + ")" + ".xls");
string colHeaders= "", ls_item="";
int i=0;


DataRow[] myRow=dt.Select("");



//取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
for(i=0;i<dt.Columns.Count;i++)

colHeaders+=dt.Columns[i].Caption.ToString()+"\t";
//colHeaders +=dt.Columns[i].Caption.ToString() +"\n";
colHeaders += "\n";

////向HTTP输出流中写入取得的数据信息
resp.Write(colHeaders);
//逐行处理数据
foreach(DataRow row in myRow)
{
//在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for (i = 0; i < dt.Columns.Count; i++)

ls_item += row[i].ToString() + "\t";
//ls_item += row[i].ToString() + "\n";
ls_item += "\n";

//当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item="";

}
resp.End();
}
风之银翼 2006-03-13
  • 打赏
  • 举报
回复
没人回答吗?自己顶一下
cat_hsfz 2006-03-11
  • 打赏
  • 举报
回复
com的话仅仅是管理员用,一次两次还没问题,如果普通用户谁都能点“导出”,并且数据又常常变动难以长期Cache,那效率就成问题了。

如果你觉得DataGrid不好,可以自己写<table>的生成代码,自己控制表格有关的一切样式。
jinseyd 2006-03-11
  • 打赏
  • 举报
回复
http://blog.csdn.net/deadshot123/archive/2006/02/22/606126.aspx
chenxi6713 2006-03-11
  • 打赏
  • 举报
回复
ljhkim6(龙成啊少)说的对,用摸板EXCEL,那样你想怎么花哨就怎么花哨。
Jianyi 2006-03-10
  • 打赏
  • 举报
回复
1、DataGrid导出Excel

是不是调用DataGrid的RenderControl方法?

先要设置好DataGrid的样式,Border , GridLine ...
ljhkim6 2006-03-10
  • 打赏
  • 举报
回复
使用摸板EXCEL就可以啊
morality 2006-03-10
  • 打赏
  • 举报
回复
我是用的 com 组件,速度感觉还可以!
李洪喜 2006-03-10
  • 打赏
  • 举报
回复
我用的是com导出的方式,慢死了。
blackhero 2006-03-10
  • 打赏
  • 举报
回复
第三方控件FarPoint

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧