BI实战案例第4季:Excel还是html?

问题背景:

有一次遇到客户提出的一个奇葩要求,需要将17张报表导出后的excel汇总成一张分成17个sheet的汇总excel,因为这17张报表的数据量都不是很大,这个需求也不能因为说会因为数据量太大,会导致excel写不进去的原因给打回去,大家应该知道excel最大生成行好像是2W多行。就因为这个需求我们项目组召开了紧急会议,因为这17张报表都是提供给银行高层查看的,还必须要做。

项目框架以及解决思路:

cognos是8.3的版本(版本比较老,请见谅!POI是阿帕奇(Apache)提供给Java程序对Microsoft Office格式档案读和写的功能。)
简单介绍一下项目背景,因为这个报表平台是利用iframe嵌套在一个java web应用里面,客户因为美观什么的不允许使用cognos自带的导出按钮,所以cognos报表本身上方的导出工具给屏蔽掉了。后来,利用java调用cognos的SDK方法做的报表导出功能,如果问题到这里就能解决就好了,客户要求使用POI实现将excel汇总,本身以为这件事情会很容易,因为做过java的大神都知道POI有个HSSFWorkbook wb=new HSSFWorkbook (in)这个对象,可以获取excel的整个sheet,而cognos SDK生成的excel都是一个sheet的,所以POI只需要获取到那17个单个excel的sheet,然后将17个sheet写入同一个excel文件就大功告成了,但是这里遇到一个非常严重的问题,cognos sdk生成的excel竟然是html格式的excel,而不是标准的excel。利用poi读取不了(附件里面有html格式的excel),这时候整个人都慌了。因为思路都有了,且跟客户保证了一天半开发完这个功能,开会什么杂事就用了半天,POI写入的功能都已经实现了,但是就卡在这个地方,也不准换另一种读取excel的方法(就是不用POI读取,利用其他形式)。冷静下来后,想了想以前不是有种利用js调用cognos的导出。(POI读取HTML格式的excel会报错!)js调用cognos导出代码:
运行
pdf下载
excel2003下载
excel2007下载
excel单一工作表下载
但是逆天了,用这个代码导出来的excel竟然还是HTML格式的excel。



这就是html的excel,标准的excel用editplus这种软件打开会是乱码形式的!





这个是cognosSDK导出的代码(仅供参考,因为cognos版本不同,用SDK导出的写法也不一样,这里只是提供一个样本)


那么现在问题来了,我该怎么样才能导出标准的excel,而不是html格式的excel?
首先回帖答对问题有奖励(帖子不能是编辑过的状态,发现自己想错了,可以另外再回帖)。回答问题请回答得尽量详细,如果回答过于粗略,将不考虑正确与否!

本期奖品设置:绿色折叠背包(礼品由Cognos商业智能社区提供并负责快递)

参与19

13同行回答

伍猫子伍猫子软件开发工程师保密
终于可以结贴了,也是是我的问题描述得过于复杂,导致都偏向于使用SDK或者javascript去解决该问题,其实我用了一个小小的参数就解决了这个问题。就是在访问报表的URL后面加上run.outputFormat=XLS,这样导出的报表文件就是标准的Excel,而不是HTML格式的excel了!   &nbs...显示全部
终于可以结贴了,也是是我的问题描述得过于复杂,导致都偏向于使用SDK或者javascript去解决该问题,其实我用了一个小小的参数就解决了这个问题。就是在访问报表的URL后面加上run.outputFormat=XLS,这样导出的报表文件就是标准的Excel,而不是HTML格式的excel了!
      感谢奥利弗大哥提供的办法,我试了一下,的确可以,但是需要把原来已经做成的17张报表都废掉,然后重新开发一张新的报表。下次如果再遇到这样的需求我就可以用这种办法做了!收起
软件开发 · 2015-04-27
浏览1460
kentkent软件开发工程师招银网络科技
特别说明这个“在调用excel” 是指“再调用java或者javascript调用excel”显示全部
特别说明这个“在调用excel” 是指“再调用java或者javascript调用excel”收起
互联网服务 · 2015-04-16
浏览1405
kentkent软件开发工程师招银网络科技
我来猜一个吧。。。 我之前也碰到类似的情况,我的方法是写了一个excel宏, 用excel宏打开这个html格式的EXCEL文件,然后在另存为excel..所以我猜楼主的方法也是一样,在调用excel打开这个文件,然后另存起来。。。 然后再把各个excle文件的内容合并起来。。。Bingo?...显示全部
我来猜一个吧。。。
我之前也碰到类似的情况,我的方法是写了一个excel宏, 用excel宏打开这个html格式的EXCEL文件,然后在另存为excel..
所以我猜楼主的方法也是一样,在调用excel打开这个文件,然后另存起来。。。
然后再把各个excle文件的内容合并起来。。。
Bingo?收起
互联网服务 · 2015-04-16
浏览1417
kentkent软件开发工程师招银网络科技
我来猜一个吧。。。我之前也碰到类似的情况,我的方法是写了一个excel宏, 用excel宏打开这个html格式的EXCEL文件,然后在另存为excel..所以我才楼主的方法也是一样,在调用excel打开这个文件,然后另存起来。。。然后再把各个excle文件的内容合并起来。。。Bingo?...显示全部
我来猜一个吧。。。
我之前也碰到类似的情况,我的方法是写了一个excel宏, 用excel宏打开这个html格式的EXCEL文件,然后在另存为excel..
所以我才楼主的方法也是一样,在调用excel打开这个文件,然后另存起来。。。
然后再把各个excle文件的内容合并起来。。。
Bingo?收起
互联网服务 · 2015-04-16
浏览1588
伍猫子伍猫子软件开发工程师保密
回复 8# uper    cognos8.3那个版本的时候cognos go office还没出生;P1;P1;P1显示全部
回复 8# uper


   cognos8.3那个版本的时候cognos go office还没出生;P1;P1;P1收起
软件开发 · 2015-04-14
浏览1567
uperuper软件开发工程师IBM
这个题目好。。。坐等答案!难道是用了cognos go office?显示全部
这个题目好。。。坐等答案!难道是用了cognos go office?收起
互联网服务 · 2015-04-14
浏览1632
伍猫子伍猫子软件开发工程师保密
回复 6# 思迈特Smartbi 大哥,别这么逗好么?如果是smart的话还用得着cognos?显示全部
回复 6# 思迈特Smartbi

大哥,别这么逗好么?如果是smart的话还用得着cognos?收起
软件开发 · 2015-04-14
浏览1628
思迈特Smartbi思迈特Smartbi产品经理广州思迈特软件有限公司
可以结合Smartbi的报表工具,与cognos集成。Smartbi报表工具直接使用Excel设计报表,报表可以快速导出为2007格式。欢迎下载试用。www.smartbi.com.cn/spreadsheet补充说明:Smartbi在银行业的知名度很高,不少大行在用,银行易于接受。...显示全部
可以结合Smartbi的报表工具,与cognos集成。
Smartbi报表工具直接使用Excel设计报表,报表可以快速导出为2007格式。欢迎下载试用。www.smartbi.com.cn/spreadsheet
补充说明:Smartbi在银行业的知名度很高,不少大行在用,银行易于接受。收起
软件开发 · 2015-04-14
浏览1684
伍猫子伍猫子软件开发工程师保密
回复 4# KingCesc    用excel2007导出报表还是HTML格式的,html格式的excel解析可以解析,但是不好写入。而且如果是html格式的excel导出来,如果报表设置了分页的话比如35行的一个普通列表报表,会导致excel里面出现每35行一个列表(表头和数据都在)。没猜中噢...显示全部
回复 4# KingCesc


   用excel2007导出报表还是HTML格式的,html格式的excel解析可以解析,但是不好写入。而且如果是html格式的excel导出来,如果报表设置了分页的话比如35行的一个普通列表报表,会导致excel里面出现每35行一个列表(表头和数据都在)。没猜中噢收起
软件开发 · 2015-04-14
浏览1644
KingCescKingCesc软件开发工程师lonton
不负责任瞎猜:1.下载格式使用excel2007?(没用过cognos8,不知道有没有2007格式)2.直接解析导出的excel文件,html格式的一般也好解析。PS:Cognos的excel2003格式实际上是一种XLWA的格式,体积很大,坑死人。...显示全部
不负责任瞎猜:
1.下载格式使用excel2007?(没用过cognos8,不知道有没有2007格式)
2.直接解析导出的excel文件,html格式的一般也好解析。

PS:Cognos的excel2003格式实际上是一种XLWA的格式,体积很大,坑死人。收起
互联网服务 · 2015-04-14
浏览1630

提问者

伍猫子
软件开发工程师保密
擅长领域: 大数据商业智能cognos

相关问题

相关资料

问题状态

  • 发布时间:2015-04-13
  • 关注会员:3 人
  • 问题浏览:12089
  • 最近回答:2015-04-27
  • X社区推广