文章目录

  • js 文件 (todo 标注的需要修改)
  • kettle 操作
    • 1. 生成记录
    • 2.增加序列
    • 3. 使 js 文件中的变量名跟序列的变量名对应上,并修改url
    • 4.测试脚本文件并预览
    • 5.获取需要的字段
    • 6.使用excel输出 指定输出路径
    • 7. 使用excel输出 指定输出字段
    • 8. 执行 excel 文件内容如下(用的是19年的数据)
  • 最后

js 文件 (todo 标注的需要修改)

//Script here
//todo : 初始化日期 需要进行修改
var initDate = "2019-01-01";//使用SimpleDateFormat对字符串类型的日期进行转化
var dateFormat = java.text.SimpleDateFormat("yyyy-MM-dd");
//指定开始时间 从哪一天开始
var startDate = dateFormat.parse(initDate);
//创建日历对象
var calendar = java.util.Calendar.getInstance();
//设置开始时间
calendar.setTime(startDate);
//累加日期
calendar.add(java.util.Calendar.DAY_OF_MONTH, rowNumber);
//请求的url
var url = null;
//建立的http链接
var httpConn = null;
//输入流的缓冲
var sb = null;
//获取当前时间的字符串
var date_value = dateFormat.format(calendar.getTime());
//获取代理键 20190101
var surrogateKey = date_value.replace("-", "");
//获取一年中的第几天
var dayOfYear = calendar.get(java.util.Calendar.DAY_OF_YEAR) + "";
//获取当月中的第几天
var dayOfMonth = calendar.get(java.util.Calendar.DAY_OF_MONTH) + "";
//判断是否为月的第一天
var isFirstOfMonth = dayOfMonth == 1;
//判断是否为月的最后一天
var isLastOfMonth = calendar.get(java.util.Calendar.DAY_OF_MONTH) == calendar.getActualMaximum(java.util.Calendar.DAY_OF_MONTH);//获取月的第几个星期
var weekOfMonth = calendar.get(java.util.Calendar.WEEK_OF_MONTH) + "";//获取月份
var month = calendar.get(java.util.Calendar.MONTH) + 1 + "";
//获取year
var year = calendar.get(java.util.Calendar.YEAR) + "";
//获取季度
var quarter = "";
if (month >= 1 && month < 4) {quarter = "1";
} else if (month < 7) {quarter = "2";
} else if (month < 10) {quarter = "3";
} else if (month <= 12) {quarter = "4";
}for (var i = 0; i < 10; i++) {//创建一个stringBuffer用来保存jsonsb = java.lang.StringBuffer();//读取文件var ins = null;//todo: 修改为自己的url  创建url,修改为自己的key//注册路径 可试用5000次// https://www.tianapi.com/signup.html?source=1210847019//下面两个API 可能失效//http://wow.kamisamak.com/api.php?date=2020-05-04(不一定能适用)//http://timor.tech/api/holiday/info/2018-03-02var urlStr = "http://api.tianapi.com/txapi/jiejiari/index?key=Youkey&date=" + date_value;url = java.net.URL(urlStr);var str = null;try {//调用APIins = java.io.BufferedReader(java.io.InputStreamReader(url.openStream(), "UTF-8"));//一行一行进行读入while ((str = ins.readLine()) != null) {sb.append(str);}break;} catch (err) {} finally {if (ins != null) {ins.close(); //关闭流}}
}var result = sb.toString();
var obj = JSON.parse(result);
var list = obj.newslist[0];
//获取周几
var week = list.weekday + "";
//是否为周一
var isMonday = week == 1;
//是否休息日
var is_dayoff = list.info == "双休日";
//是否是工作日
var is_work = list.info == "工作日";
//是否为节假日
var is_holiday = list.info == "节假日";
//日期类型
var date_type = "";
if (list.daycode == "0") {date_type = list.info
} else if (list.daycode == "1") {date_type = "节假日"
} else if (list.daycode == "2") {date_type = "双休日"
} else if (list.daycode == "3") {date_type = "调休日"
}
//季度名称
var quarter_name = "Q" + quarter;
//年份 - 名称季度
var year_quarter = year + "-Q" + quarter;
//年份 - 月份
var year_month = date_value.substring(0,7);

kettle 操作

1. 生成记录

2.增加序列

3. 使 js 文件中的变量名跟序列的变量名对应上,并修改url

4.测试脚本文件并预览

5.获取需要的字段

6.使用excel输出 指定输出路径

7. 使用excel输出 指定输出字段

8. 执行 excel 文件内容如下(用的是19年的数据)

最后

如果需要节假日表excel文件可以在评论区留言!!! 本人看到会及时回复!!!
提供链接如下:

https://download.csdn.net/download/hongchenshijie/12382251

Kettle使用 js 文件生成节假日表文件 附带2019-2020节假日文件相关推荐

  1. SSH项目中根据Hibernate的映射文件生成数据库表的方案:

    1.首先在项目的根目录下配置:hibernate.cfg.xml文件:如下: <?xml version="1.0" encoding="UTF-8"?& ...

  2. Navicat可视化界面导入SQL文件生成数据库表

    首先登陆navicat,如图 鼠标放在localhost2上,鼠标右击选择"新建数据库",如图出现如下界面! 填写数据库名, 点确定,数据库创建完成, 后双击数据库启用数据库,后鼠 ...

  3. python读取log文件生成图形表_python提取log文件内容并画出图表

    之前在excel里面分析log数据,简直日了*了. 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用. 日志内容大致如下 2016-10-21 21:07:59 ...

  4. 您试图打开以前版本的Microsoft Office创建的文件。注册表策略设置已阻止此文件在该版本中打开的解决办法

    在安装了 Microsoft Office 2003 Service Pack 3 (SP3) 后,系统阻止了某些类型的文件,按以下办法解决: Excel 要使 Excel 2003 可以打开早期 E ...

  5. mex文件生成c语言,用C语言编写MEX文件.doc

    用C语言编写MEX文件用C语言编写MEX文件 用C语言编写MEX文件1.1 为什么要用C语言编写MEX文件MATLAB是矩阵语言,是为向量和矩阵操作设计的,一般来说,如果运算可以用向量或矩阵实现,其运 ...

  6. Vivado生成网表文件

    如何操作? 以之前写的采用有限状态机实现序列检测模块为例,现在写了个两路"101"序列检测器模块(就是把原来的例化两个),该模块的结构如下: module fsm_test_top ...

  7. java maven 读取 dbf 文件 生成 表结构 示例代码

    介绍 通过读取一个文件夹下所有dbf文件 然后生成sql 依赖 <dependency><groupId>com.github.albfernandez</groupId ...

  8. 命令编写注册表文件修改注册表项

    命令编写注册表文件修改注册表项 1.何谓REG文件 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中.利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的 ...

  9. mysql frm ibd 创建表_MySQL数据库实现从.frm文件和.ibd文件恢复数据表方法

    MySQL中.frm文件:保存了每个表的元数据,包括表结构的定义等,该文件与数据库引擎无关. MySQL中.ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_pe ...

  10. 编写注册表文件修改注册表项

    编写注册表文件修改注册表项 1.何谓REG文件 REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中.利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的操作 ...

最新文章

  1. 视频防抖 Opencv
  2. 深度强化学习实战:Tensorflow实现DDPG - PaperWeekly 第48期
  3. 速递|2021双11阿里云数据库技术快报
  4. SAP CRM webclient ui help link超链接的生成逻辑
  5. 作为一名程序员,我一直为中国的软件产业感到苦恼。
  6. 《ANTLR 4权威指南 》一导读
  7. 物联网将如何影响能源效率
  8. 休闲娱乐的计算机配置,入门APU主机配置 1199元双核APU家用娱乐电脑配置推荐
  9. TTL和CMOS区别RS232
  10. 基于STM32F405平台的多摩川协议编码器通讯过程(1)
  11. 密码领域专用语言 ZUC算法
  12. 正说:SAP HANA大裁员
  13. ipa在线安装搭建_五大在线苹果企业签名平台评测:微导流居然打败了蒲公英
  14. VS 2010 测试功能学习(七) - RnP与Coded UI自动化测试
  15. 【安全算法之SHA1】SHA1摘要运算的C语言源码实现
  16. 指针,指针,指针。。。
  17. 国企招聘属于事业单位吗
  18. 二三维一体化平台-FreeXGIS Studio
  19. 黑马全套Java教程(一)
  20. 如何应对高并发问题?

热门文章

  1. ps图标长投影如何做?
  2. Kodi Couldn't Connect to Network Server
  3. PS 抠图如何使用通道法处理头发
  4. oracle vm 安装win server 2012 错误0x000000C4
  5. 5 个关键点!优化你的 UI 原型设计
  6. bilinear函数c语言怎么实现,bilinear和bicubic的算法封装
  7. 网上的PS把图片变清晰的原理
  8. 高效上网教程---如何免费下载全网中英文论文
  9. ps中全选图层的方法
  10. VScode正则表达式