对于asp.net 的Excel导出,有多种方法,到目前,个人认为,利用myxls导出Excel还是比较好用的,可以很好的设置Excel的格式。。。
使用很方便,下载org.in2bits.MyXls.dll,引入命名空间即可
下面是一个使用代码示例:
private void ExcelExport(IList< LineLossInfo > lossListExcel)
{
XlsDocument xls = new XlsDocument();
xls.FileName = "LineLossMonthDetail.xls";//指定文件名
Worksheet sheet = xls.Workbook.Worksheets.Add("LineLossMonthDetail");
#region 设置各数据列的大小
ColumnInfo colInfo1 = new ColumnInfo(xls, sheet);
colInfo1.ColumnIndexStart = 0;
colInfo1.ColumnIndexEnd = 1;
colInfo1.Width = 15 * 256;
sheet.AddColumnInfo(colInfo1);
  ......
在利用开源MyXls导出Excel时,对于安装着迅雷的客户端,导出时会关联迅雷,如果用迅雷下载,下载的是这个页面即aspx文件,而非想要的的报表
为了解决这个问题费尽心思,bd,Google,没找到答案,后来自己看看源码,细细研究了一下解决了
迅雷下载时重定位了资源,所以下载得到的是网页的。这样我们可以每次点击导出时转到另一个新的页面,在新页面的page_load中处理
导出,导出时用迅雷就会得到需要的报表而不是aspx文件。但是还有问题,就是用迅雷下载的报表可能打不开或出问题,这样又费了些力气,在
代码中加入了两行代码,才得以解决。即:先把要导出的报表在服务器保存一份,再send()
下面是一代码示例:
private
void ExcelExport(IList< LineLossInfo > lossListExcel)
{
XlsDocument xls = new XlsDocument();
xls.FileName = "LineLossMonthDetail.xls";//指定文件名
Worksheet sheet = xls.Workbook.Worksheets.Add("LineLossMonthDetail");
#region 设置各数据列的大小
ColumnInfo colInfo1 = new ColumnInfo(xls, sheet);
co ......
一、伪静态的用处
有些用户觉得,伪静态和真静态实际被收录量会相差很大,其实不然,从你个人角度,你去判断一下一个帖子到底是真静态还是伪静态?估计很难看得出,因为所谓静态的意思,就是地址中不带问号,不带问号的就是静态,管他是真的还是伪的?搜索引擎看得出吗?所以说,其实不论是真的还是伪的,其实对于搜索引擎来说都是一样的,搜索引擎没有说,你这个是伪的,我不收录你。
追根究底来说,为什么搜索引擎会不收录带问号的网址?因为搜索引擎怕由于问号而进入死循环,称为“搜索机器人陷阱(Spidertraps)”(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的地址搜索引擎是不会进去的,伪静态对于搜索引擎来说,其实就是静态,因为地址中没有带问号,所以没有真静态比伪静态收录得多的说法。
二、为什么选择伪静态?
有很多用户说:真静态不好吗?为什么不用真静态?访问起来不是更快吗?负载不是更好吗?等等等等。。。。。。
在这里,其实只用一个问题来回答:为什么选择MYSQL?很多用户大概不明白为什么那么多大型论坛都选择了MYSQL数据库作为储存机制,大概大部分都是想:“因为DZ用了MYSQL,所以就是MYSQL&rdq ......
在软件业里从程序员出身的,千万不要把你自己的本行丢掉。我说的本行是技术。虽然在中国,死钻研技术没有出路,话虽这么说,但技术出身的管理者,绝对牛于纯粹搞管理的纸上谈兵(当然排除余世维这样的人,牛叉叉的MBA博士)。博客园里有很多“程序员->架构师->管理者”的榜样。
最近很久没来园子里写博客了。其实写博客也让我收获不少,因为有大家的各方面的讨论,让我开阔视野。最近微软推出MVC2的Beta版,我才发现自己好久没玩技术了。
在微软还没有推出MVC架构前,我已研究过MVC了,当初来自Java的架构思路,微软的集成一向是砸饭碗的,如先前的DataGrid, AJAX,之前没有的时候,我们那会儿靠自己定义出来,现在微软都给集成了,当然也是好事,微软一向做得漂亮,效率高了,拖拖放放就可以了,比如ORM的ADO.NET Entity Framework也让人称赞。最后,千万不要去发明轮子,既然有更先进的就拿来用。
写了很多废话,最主要是宣布一下ASP.NET MVC 2 的Beta版的新Feature: (下面是摘抄过来的,我还没时间去研究,有资深MVC架构者,不妨讨论下出了哪些实用的新亮点)
RenderAction (and Action)AsyncControllerExpression Based Helpers (TextBoxFor, TextAreaF ......
一、前言
打开工具箱的Ajax extensions可以看到五个ajax控件,在vs2008中它们已经集成到了.net framerwork3.5中,如果是之前版本的vs则需要自己去下载文件来安装。这五个控件在ajax中是非常常用的,所以微软才将他们集成到vs中来,下面将简单的介绍着五个控件及它们的重要属性。
二、重中之重——ScriptManager
看名字就知道,着家伙肯定是个领导,如果你真的这么想,那你就太聪明了,如果要使用asp.net ajax的话,每个页面都必须“有且只有一个”ScriptManager,因为它是用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service。你说它重要不重要,没有它其它都白扯。下面介绍下它的主要属性:
1) <Services>属性,可以通过其下的<asp:ServiceReference Path="xx.asmx" />来关联web服务
2) AsyncPostBackTimeout异步回传时的超时限制,默认为90秒,如果设为0则表示无限制
3) 其它的属性还有很多,随便看看吧,需要用时能想起就好了
三、狐假虎威 ......
一、前言
打开工具箱的Ajax extensions可以看到五个ajax控件,在vs2008中它们已经集成到了.net framerwork3.5中,如果是之前版本的vs则需要自己去下载文件来安装。这五个控件在ajax中是非常常用的,所以微软才将他们集成到vs中来,下面将简单的介绍着五个控件及它们的重要属性。
二、重中之重——ScriptManager
看名字就知道,着家伙肯定是个领导,如果你真的这么想,那你就太聪明了,如果要使用asp.net ajax的话,每个页面都必须“有且只有一个”ScriptManager,因为它是用来处理页面上的所有组件以及页面局部更新,生成相关的客户端代理脚本以便能够在JavaScript中访问Web Service。你说它重要不重要,没有它其它都白扯。下面介绍下它的主要属性:
1) <Services>属性,可以通过其下的<asp:ServiceReference Path="xx.asmx" />来关联web服务
2) AsyncPostBackTimeout异步回传时的超时限制,默认为90秒,如果设为0则表示无限制
3) 其它的属性还有很多,随便看看吧,需要用时能想起就好了
三、狐假虎威 ......
AdRotator Web 服务器控件可用于显示链接到其他页的图形。要显示的图形列表和关联的目标链接将保留在数据源中,如 XML 文件或数据库。
1、方案
AdRotator Web 服务器控件提供一种在 ASP.NET 网页上显示广告的方法。该控件可显示您提供的 .gif 文件或其他图形图像。当用户单击广告时,系统会将他们重定向到指定的目标 URL。该控件会从您使用数据源(通常是 XML 文件或数据库表)提供的广告列表中自动读取广告信息,如图形文件名和目标 URL。
AdRotator 控件会随机选择广告,每次刷新页面时都将更改显示的广告。广告可以加权以控制广告条的优先级别,这可以使某些广告的显示频率比其他广告高。也能编写在广告间循环的自定义逻辑。
2、背景
AdRotator Web 服务器控件可用于显示广告图形,如 .gif 或类似图像。然后可以将用户重定向到目标 URL。图形和目标 URL 可从数据源提供,如 XML 文件。
广告信息可来自各种源,如下所示:
·XML 文件。可以将广告信息存储在 XML 文件中,此文件包含对广告横幅及其关联属性的引用。
·任何数据源控件,如 SqlDataSource 或 ObjectDataSource 控件。例如,可以将广告 ......