在tiptop上利用Perl 脚本,实现按自定义格式导出Excel模板数据,支持多页签

实现方式,先将Perl脚本放到服务器,赋予正确权限,程序先将数据按指定格式写入TXT文档,最后,利用Perl脚本将TXT文档转换为Excel文档并下载出来!

4GL实例

FUNCTION p010_txt()
DEFINE l_count    LIKE type_file.num5
DEFINE l_mac      LIKE type_file.chr100
DEFINE l_mac1     LIKE type_file.chr100
DEFINE l_mac2     LIKE type_file.chr100
DEFINE l_sn       LIKE type_file.chr100
DEFINE l_passwd   LIKE type_file.chr100
DEFINE l_xml      LIKE type_file.chr100DEFINE l_hash     LIKE type_file.chr100
DEFINE l_pin      LIKE type_file.chr100
DEFINE l_model    LIKE type_file.chr100
DEFINE l_po       LIKE type_file.chr100
DEFINE l_chr      STRING
DEFINE l_title    STRING
DEFINE l_title1    STRING
DEFINE l_sql      STRING
DEFINE  l_bb      LIKE type_file.chr100
DEFINE  l_num     LIKE type_file.chr100
DEFINE  l_box     LIKE type_file.chr100
DEFINE  l_ssidpasswd   LIKE type_file.num10
DEFINE  l_tc_box01     LIKE tc_box_file.tc_box01
DEFINE  l_tc_box05     LIKE tc_box_file.tc_box05 #TXT文件标题
LET l_title='TXT文档.txt'
LET l_title1='EXCEL文档.xls'
LET l_chr=''
LET l_mac=''
LET l_sn=''
LET l_passwd=''
LET l_xml=''
LET l_hash=''
LET l_pin=''
LET l_model=''
LET l_box=''
LET l_ssidpasswd=''RUN "rm -rf /u1/out/"||l_title||" "
RUN "echo '标题栏栏位1,标题栏栏位2,标题栏栏位3' >/u1/out/"||l_title||" "
RUN "chmod 777 /u1/out/"||l_title||" "
LET l_chr = '抓取的数据组合起来'RUN "echo '"||l_chr||"' >>/u1/out/"||l_title||" " RUN "/u1/mail/script/txt2xlszqcao.pl /u1/out/"||l_title||" /u1/out/"||l_title1||" "  #转换xls
IF cl_sure(0,0)  THEN
CALL  p010_downloadtxt(l_title1)   #下载数据
END IF
END FUNCTION FUNCTION p010_downloadtxt(l_title)
DEFINE l_title       STRING
DEFINE ls_url        STRING
DEFINE li_status     STRING
DEFINE gs_fglasip    STRING
LET gs_fglasip = FGL_GETENV("FGLASIP")
LET ls_url = gs_fglasip, "/tiptop/out/",l_title
LET li_status = cl_open_url(ls_url)
IF NOT li_status THEN
CALL cl_err(NULL, "lib-205", 1)
END IF
END FUNCTION

perl脚本代码

#!/usr/bin/perl -w
use strict;
use Spreadsheet::WriteExcel;
use Text::CSV::Encoded;
use Encode;
if (($#ARGV < 1) || ($#ARGV > 2)) {die("Usage: csv2xls txtfile.txt newfile.xls\n");
};# Open the Comma Separated Variable fileopen  CSVFILE, '<:utf8', $ARGV[0] or die "$ARGV[0]: $!";my $workbook  = Spreadsheet::WriteExcel->new($ARGV[1]);my $worksheet = $workbook->add_worksheet();my $row = 0;$worksheet->set_column(0,5,14);while (<CSVFILE>) {s/[\001-\037]//g;my @list = split /,/,$_;my $col = 0;foreach my $token (@list) {if  ($token=~/^0[^.]/) {$worksheet->write_string($row, $col, $token );}else{ $worksheet->write($row, $col, $token);}$col++;}$row++;}close(CSVFILE);
$workbook->close();

Perl脚本实现tiptop数据导出EXCEL模板相关推荐

  1. python数据导出excel模板中的脚本_Python实现将数据库一键导出为Excel表格的实例...

    数据库数据导出为excel表格,也可以说是一个很常用的功能了.毕竟不是任何人都懂数据库操作语句的. 下面先来看看完成的效果吧. 数据源 导出结果 依赖 由于是Python实现的,所以需要有Python ...

  2. 使用 EasyPOI 优雅导出Excel模板数据(含图片)

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 星悬月 来源 | blog.csdn.net/ ...

  3. bootstraptable导出excel独立使用_使用 EasyPOI 优雅导出Excel模板数据(含图片)

    EasyPOI功能如同名字Easy,主打的功能就是容易,让一个没接触过POI的人员可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出.通过简单的注解和模板语言(熟悉的表 ...

  4. .net 导出excel_使用 EasyPOI 优雅导出Excel模板数据(含图片)

    作者:星悬月 blog.csdn.net/u012441819/article/details/96828044 EasyPOI功能如同名字Easy,主打的功能就是容易,让一个没接触过POI的人员可以 ...

  5. 使用EasyPOI导出Excel模板数据(含图片)

    使用EasyPOI导出Excel模板数据(含图片) EasyPOI功能如同名字Easy,主打的功能就是容易,让一个没接触过POI的人员可以方便的写出Excel导出,Excel模板导出,Excel导入, ...

  6. java 实现导出excel模板

    java 实现指定内容导出execl模板 业务层 /**点击导出excel模板,触发的接口 */@PostMapping("exportData")@ResponseBodypub ...

  7. java使用POI的HSSFWorkbook导出excel模板添加各种校验

    java导出excel模板添加各种校验 添加值域(下拉列) /*** @description 设置某些列的值只能输入预制的数据,显示下拉框.* @param sheet 模板sheet页(需要设置下 ...

  8. JavaEasyPoi将数据导出Excel

    最近工作中有需求需要将数据导出到Excel中,这个功能以前做过的项目中几乎都有,但都是人家已经实现了的,这次自己做也折腾了不少的时间,特此记录方便以后自己查阅. 首先需要借助第三方jar包,如标题所言 ...

  9. 上传excel文件,导出excel模板实现

    此功能上商品导入,分别有导入组别,品类,属性(json字符串截取)等多功能多表实现. 导出功能,根据自定义需要的模板名称生成可配置模板 controller调用前段路径,然后导入/导出模板工具,ser ...

最新文章

  1. 网络天才网页中文版_LVMH 旗下奢侈品电商 24S 的中文版正式上线,还有带来“双 11”优惠...
  2. 零售业将成人工智能系统支出额最高的行业
  3. texturepacker 批量转换
  4. asp and asp.net trips
  5. 浏览器阻挡cookies_解决WordPress登录提示”Cookies被阻止或者您的浏览器不支持”...
  6. C++流操纵算子(格式控制)
  7. fastdfs redis java,大文件上传_断点续传_文件分片传输_fastdfs_前后端一站式解决方案...
  8. android+模拟器上gdb,使用gdb在Android Emulator中进行调试c程序
  9. SendMessage 函数
  10. 片假名翻译软件测试,怎么写软件测试用例
  11. linux simg2img,simg2img工具
  12. mac excel mysql数据库_macOS系统的Excel从MySQL数据库查询数据的设置方法
  13. 在读服务器端的备份说明文件错误,3dmax保存文件时出错,提示“无法创建备份文件”的原因和解决方法...
  14. UE4蓝图 绑定输入
  15. 2022江苏最新八大员之(安全员)模拟考试试题及答案
  16. docker提交比赛记录
  17. 多次办理这项公积金业务都涉及到查询信用报告,是否会影响将来申请贷款?
  18. 无盘服务器网线接法,无盘经验:解析网吧千兆网线的标准做法
  19. libuv文件服务器,libuv_UDP服务器搭建
  20. 孙正义万字访谈实录:AI是我现在唯一关注的事情,我是科技的绝对信徒

热门文章

  1. Pygame从0实战8(泡泡小游戏)
  2. android动画机制,动画机制-《Android群英传》
  3. 淘宝大秒杀系统设计详解
  4. linux服务器 usb 手机,在linux中配置usb连接(android手机调试)
  5. 爱奇艺html搜索栏代码,如何找到视频的通用代码?
  6. 如何在LibreOffice中使用所有者和用户密码保护文档和PDF文件
  7. MP4转MP3——python
  8. SaaS:光环难掩四大隐患 先驱者或成捐躯者
  9. ftp连接软件,六款值得你下载的ftp连接软件
  10. 串行 RapidIO接口介绍