- 浏览: 133554 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
housheng33:
你好,请教 JEECMS oralce问题
qq3319326 ...
JEECMS -
hanhongqiangwml:
public void contextDestroyed(S ...
ServletContextListener 使用 -
hanhongqiangwml:
...
ServletContextListener 使用 -
hanhongqiangwml:
tfgfghfghfgh
ServletContextListener 使用 -
赤道螞蟻:
太實用了 ,謝謝!
StringUtil 用法
在利用开源MyXls导出Excel时,对于安装着迅雷的客户端,导出时会关联迅雷,如果用迅雷下载,下载的是这个页面即aspx文件,而非想要的的报表
为了解决这个问题费尽心思,bd,Google,没找到答案,后来自己看看源码,细细研究了一下解决了
迅雷下载时重定位了资源,所以下载得到的是网页的。这样我们可以每次点击导出时转到另一个新的页面,在新页面的page_load中处理
导出,导出时用迅雷就会得到需要的报表而不是aspx文件。但是还有问题,就是用迅雷下载的报表可能打不开或出问题,这样又费了些力气,在
代码中加入了两行代码,才得以解决。即:先把要导出的报表在服务器保存一份,再send(),如下处理
string path = Server.MapPath("./");
xls.Save(path, true);
xls.Send();
System.IO.File.Delete(path + xls.FileName);
在转交新页面时,对于redirect直接转过去的,不会有问题,挺好,而对于window.open()打开的,如果在url参数中有中文,问题就又出
来了。迅雷下载会出毛病。经过一番实验,查找,得以解决。对于新页面用window.open()打开的,如果url参数中带有中文,则要传递时用escape(),
在新页面中接受时,要用Microsoft.JScript.GlobalObject.unescape(),这样,问题就都解决了。
下面是一导出代码示例:
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);
ColumnInfo colInfo2 = new ColumnInfo(xls, sheet);
colInfo2.ColumnIndexStart = 2;
colInfo2.ColumnIndexEnd = 2;
colInfo2.Width = 15 * 256;
sheet.AddColumnInfo(colInfo2);
ColumnInfo colInfo3 = new ColumnInfo(xls, sheet);
colInfo3.ColumnIndexStart = 3;
colInfo3.ColumnIndexEnd = 3;
colInfo3.Width = 15 * 256;
sheet.AddColumnInfo(colInfo3);
ColumnInfo colInfo4 = new ColumnInfo(xls, sheet);
colInfo4.ColumnIndexStart = 4;
colInfo4.ColumnIndexEnd = 4;
colInfo4.Width = 15 * 256;
sheet.AddColumnInfo(colInfo4);
ColumnInfo colInfo5 = new ColumnInfo(xls, sheet);
colInfo5.ColumnIndexStart = 5;
colInfo5.ColumnIndexEnd = 5;
colInfo5.Width = 32 * 256;
sheet.AddColumnInfo(colInfo5);
#endregion
Cells cells = sheet.Cells;
#region 合并单元格,得到报表标题
MergeArea maTitle = new MergeArea(1, 2, 1, 6);
sheet.AddMergeArea(maTitle);
XF xfTitle = xls.NewXF();
xfTitle.HorizontalAlignment = HorizontalAlignments.Centered;
xfTitle.VerticalAlignment = VerticalAlignments.Centered;
xfTitle.Font.FontName = "宋体";
xfTitle.Font.Height = 16 * 20;
xfTitle.Font.Bold = true;
cells.Add(1, 1, divDataHeader.InnerText, xfTitle);
#endregion
MergeArea maTime1 = new MergeArea(3, 3, 1, 6);
sheet.AddMergeArea(maTime1);
XF xfTopBar = xls.NewXF();
xfTopBar.Font.FontName = "宋体";
cells.Add(3, 1, divDataCondition.InnerText, xfTopBar);
#region 设置Excel数据列标题的格式
XF xfDataHead = xls.NewXF();
xfDataHead.HorizontalAlignment = HorizontalAlignments.Centered;
xfDataHead.VerticalAlignment = VerticalAlignments.Centered;
xfDataHead.Font.FontName = "宋体";
xfDataHead.Font.Bold = true;
xfDataHead.UseBorder = true;
xfDataHead.BottomLineStyle = 1;
xfDataHead.BottomLineColor = Colors.Black;
xfDataHead.TopLineStyle = 1;
xfDataHead.TopLineColor = Colors.Black;
xfDataHead.LeftLineStyle = 1;
xfDataHead.LeftLineColor = Colors.Black;
xfDataHead.RightLineStyle = 1;
xfDataHead.RightLineColor = Colors.Black;
#endregion
#region 添加列标题
cells.Add(4, 1, "日期", xfDataHead);
cells.Add(4, 2, "供电量", xfDataHead);
cells.Add(4, 3, "用电量", xfDataHead);
cells.Add(4, 4, "损失量", xfDataHead);
cells.Add(4, 5, "损失率", xfDataHead);
cells.Add(4, 6, "说明", xfDataHead);
#endregion
#region 设置各数据列的格式
XF xfData = xls.NewXF();
xfData.Font.FontName = "宋体";
xfData.UseBorder = true;
xfData.BottomLineStyle = 1;
xfData.BottomLineColor = Colors.Black;
xfData.TopLineStyle = 1;
xfData.TopLineColor = Colors.Black;
xfData.LeftLineStyle = 1;
xfData.LeftLineColor = Colors.Black;
xfData.RightLineStyle = 1;
xfData.RightLineColor = Colors.Black;
#endregion
#region 填充数据
int i = 5;//从第五行开始为数据行
double provideTotal = 0;
double useTotal = 0;
double lossTotal = 0;
foreach(LineLossInfo lossItem in lossListExcel)
{
cells.Add(i,1,lossItem.Date,xfData);
if (Double.IsNaN(lossItem.ProvideValue))
cells.Add(i, 2, "-", xfData);
else
{
cells.Add(i, 2, lossItem.ProvideValue, xfData);
provideTotal += lossItem.ProvideValue;
}
if (Double.IsNaN(lossItem.UseValue))
cells.Add(i, 3, "-", xfData);
else
{
cells.Add(i, 3, lossItem.UseValue, xfData);
useTotal += lossItem.UseValue;
}
if (Double.IsNaN(lossItem.LossValue))
cells.Add(i, 4, "-", xfData);
else
{
cells.Add(i, 4, lossItem.LossValue, xfData);
lossTotal += lossItem.LossValue;
}
if(Double.IsNaN(lossItem.LossRate))
cells.Add(i,5,"-",xfData);
else
cells.Add(i,5,lossItem.LossRate,xfData);
if(String.IsNullOrEmpty(lossItem.Info))
cells.Add(i,6,"-",xfData);
else
cells.Add(i,6,lossItem.Info,xfData);
i++;
}
//添加总计
cells.Add(i, 2, "总计:", xfData);
cells.Add(i, 3, provideTotal, xfData);
cells.Add(i, 4, useTotal, xfData);
cells.Add(i, 5, lossTotal, xfData);
#endregion
string path=
//发送到客户端
xls.Send();
}
发表评论
-
java正则表达式测试工具
2017-04-13 11:45 480import javax.swing.*; impor ... -
java中volatile关键字
2017-04-13 11:17 354java中volatile关键字的含 ... -
环境搭建网址汇总
2016-06-17 16:38 442文章出处:http://blog.csdn.net/u0131 ... -
一个很不错开源资源网站
2016-06-17 16:32 587一个很不错的开源资源网站,在此做个记录,有兴趣的朋友也可以去看 ... -
JAVA开源加密包使用
2016-04-05 15:34 431<div class="iteye-blog- ... -
H2数据库
2011-11-28 15:12 1178http://www.h2database.com/html/ ... -
JAVA操作EXCEL实现搜集
2011-09-18 18:17 779http://blog.csdn.net/liuyang116 ... -
Eclipse启动报错
2011-02-28 21:42 1032Errors: JVM terminated.Exit C ... -
java国际化支持
2011-01-16 19:52 1054java国际化,2个主要类:java.util.Locale ... -
C3P0POOL连接池
2010-09-30 14:53 971package com.sanxia.utils;import ... -
JCP 简介
2010-05-19 10:36 1498Java 技术是最初由 Sun Microsystems 公 ... -
serialVersionUID 的介绍
2010-05-18 14:56 865设置 serialVersionUID默认的生成方式: pr ... -
kaptcha 验证码组件使用简介
2010-05-18 14:26 2561使用方法: 1、到http://code.google.co ... -
在程序中设置hibernate configuration的Property
2010-05-18 10:41 1039在程序中设置hibernate configuration的P ... -
tomcat源码剖析
2010-03-20 17:10 1380Connector是Tomcat最核心的组件之一,负责处理一个 ... -
tomcat内存设置方法
2010-03-17 15:13 3241Tomcat内存设置方法 windows中大家都知道,JAV ... -
java timer 使用简单例子
2009-09-10 11:50 4613有时想要换一定的间隔时间执行重复的任务,java.util.T ... -
使用Java中的Timer和TimerTask
2009-09-10 11:44 1297有的时候我们需要每隔一段时间去执行某个任务,在Java中提供了 ... -
StringUtil 用法
2009-08-21 15:36 2058org.apache.commons.lang.Strin ... -
dozer 使用
2009-07-31 17:41 1401加载dozer组件工具: List mappingfil ...
相关推荐
这可以避免迅雷下载页面而不是文件的问题。 在ASP.NET MVC3中,生成静态页面可以使用多种方法,包括使用模板生成HTML静态页面、使用动态生成静态页面的方法等。这些方法提供了丰富的功能,可以生成各种格式的静态...
下面我将根据这些信息,详细阐述Excel 2003的基础知识点,尽量避免重复和漏缺。 1. Excel工作界面基础 - 工作簿与工作表:Excel2003通过工作簿来管理数据,每个工作簿可以包含多个工作表。工作表由单元格构成,...
2. **隔离运行环境**:使用虚拟机或沙盒环境,确保VC++6.0和Office 2007在各自的独立环境中运行,避免相互影响。 3. **手动替换DLL**:如果确定是特定DLL版本引起的冲突,可以尝试找到兼容的DLL版本进行替换。 4. ...
MATLAB2017b是一款强大的数学计算软件,由美国MathWorks公司开发,广泛应用于工程计算、数据分析、算法...通过迅雷下载链接获取MATLAB2017b,可以避免因百度云限速带来的困扰,更快地安装并开始使用这款强大的工具。
此外,需要注意的是,由于POI库对内存消耗较高,处理大量数据时,最好使用SXSSF以避免内存问题。 总之,Apache POI是一个强大的Java库,为开发者提供了处理Microsoft Office文件的强大工具,而POI 3.7则是针对早期...
打包合集的目的是提高招聘效率,避免逐一下载和查看独立的简历文件。 从标签中我们可以看出,这个文件的关键词集中在“2014毕业生”,“简历”,“打包”和“合集”上,强调了这是针对2014届毕业生的简历资料库,...
- **While Loop**:当不知道确切迭代次数时使用,通常与某个条件相关联。 - **Do While Loop**:与While Loop类似,但至少会执行一次循环体内的语句。 - **ForEach Loop**:用于遍历集合中的每个元素。 #### 3. ...
- **格式兼容性**:在与他人共享转换后的文件时,确认他们能打开和处理特定的文件格式,如Word或Excel。 了解以上知识点后,你就能更好地管理和操作PDF文件,无论是进行格式转换还是保护文档内容。熟练掌握这些...
8. **文件恢复注意事项**:在恢复文件时,应避免将文件恢复到原来的磁盘分区,以免覆盖原有数据。 9. **快捷键操作**:在360极速浏览器中,按“Ctrl+D”可以收藏当前网页;复制文件的快捷键是“Ctrl+C”,粘贴的...
注意,为了防止内存溢出,应尽量避免一次性加载大量数据到工作簿中。可以考虑分批处理数据或使用流式API。此外,你还可以自定义样式、公式和其他高级功能,以增强Excel文件的展示效果。 总之,SSM框架结合Apache ...
当用户尝试导出数据到Excel时,如果使用迅雷或其他下载工具,可能会导致错误。建议直接使用IE浏览器进行下载,以避免因第三方下载工具引发的问题。 2. 数据分析卡死: 如果在进行数据分析时系统出现卡死,可以...
2. **System3.0.exe.config**:这是.NET框架应用程序的配置文件,其中包含了运行时环境的设置,如数据库连接字符串、错误处理配置等。这个文件可能用于定制考试系统的运行参数。 3. **TmsFiles.db** 和 **ms_calc....
7. **下载工具**:迅雷是一种常见的下载工具软件。 8. **信息安全**:面对不明来源的获奖信息,正确的做法是不轻信并避免汇款。 9. **Word操作**:在Word中,删除表格使用的是“删除表格”按钮。 10. **文字对齐*...
5.4.3 选择资源进行分配时获取帮助 5.4.4 有关资源分配的一些技巧 5.4.5 删除或替换资源分配 5.5 处理非正常成本情况 5.5.1 查看项目的成本 5.5.2 分配固定成本 5.5.3 解决资源...
7. 下载工具:第七题中,迅雷是一个常见的下载工具软件。 8. 网络安全:第八题告诫不要轻易相信不明来源的信息,以避免诈骗。 9-12题涉及到Word的基本操作,包括删除文字、文字对齐、段落缩进和艺术字的使用。 13...
7. 下载工具:迅雷是一款常见的下载工具软件,用于提高文件下载速度和管理下载任务。 8. 信息安全意识:收到不明来源的中奖信息,正确的做法是不要轻易相信,并避免回复或提供个人信息。 9. 文字处理:在Word中,...
1. **Excel导出错误**:在尝试导出Excel时,如果使用了迅雷等下载工具可能导致错误。建议直接使用IE浏览器进行下载,避免这类问题的发生。 2. **数据分析卡死**:当数据分析过程中系统卡死,可以尝试卸载并重新安装...
7. 下载工具软件:迅雷是一款常用的下载工具,可以帮助用户快速下载网络资源;WPS是文字处理软件,i记事本是文本编辑器,WinRAR是压缩和解压工具。 8. 信息安全意识:面对未知来源的信息,尤其是涉及金钱交易,应该...
5. 安全性:处理手机号码这类敏感信息时,必须遵守相关法律法规,确保数据安全,避免侵犯用户隐私。 综上所述,这份“txt格式全国20192月份手机归属地数据”提供了丰富的手机号码归属地信息,适用于多种业务需求,...
12. 快速下载大文件:使用下载工具如迅雷,能提高下载速度,对应选项D。 13. 信息采集:电子警察拍照是信息采集过程,收集交通违法信息,对应选项B。 14. 文件管理:按学科归类存储文件属于文件管理方法,对应选项...