一、需求说明

    读取T_USER表中数据输出到excel文件中,excel文件采用指定格式,并且对excel文件设置保护工作表,如果需要修改文件中内容需要输入密码。

 

kettle如何批量抽mysql表数据 kettle抽取excel数据_数据

    数据输入模板如上所示,红色框中输入用户信息,并且设置保护单元格形式,这样如果不知道密码的话就无法更改单元格中数据,对数据起到保护作用。

二、模板准备

根据需求按照上面格式设置excel模板

三、创建转换(oracle数据到excel文件)

打开 kettle,点击 文件->新建->转换。

kettle如何批量抽mysql表数据 kettle抽取excel数据_表名_02

在左侧找到表输入(核心对象->输入->表输入),拖到右方。

kettle如何批量抽mysql表数据 kettle抽取excel数据_数据_03

双击右侧表输入,进行配置,选择数据源,并输入 SQL。可以点击预览进行预览数据。

kettle如何批量抽mysql表数据 kettle抽取excel数据_公众号_04

在左侧找到“Microsoft Excel文件输出”(输出->Microsoft Excel文件输出),拖到右方。按住 Shift 键,把源表和Excel文件输出用线连接起来。双击Excel文件输出进行配置。在文件页签可以输入文件名称,扩展名可以是xls也可以是xlsx;针对“如果文件存在”可以选择是否覆盖源文件。

kettle如何批量抽mysql表数据 kettle抽取excel数据_数据_05

在工作表部分可以设置工作表名称;针对“如果输出文件中已存在工作表”可以选择是否覆盖原有工作表;针对保护工作表目前只针对xls格式的,在下方输入密码即可,用户名貌似没有用,如下所示:

kettle如何批量抽mysql表数据 kettle抽取excel数据_kettle如何批量抽mysql表数据_06

在模板部分,可以设置“使用模板创建新文件”,上传模板文件;勾选“使用模板创建新工作表”,填入模板工作表名称,勾选“隐藏模板工作表”,如果想显示模板工作表也可以不勾选,如下所示:

kettle如何批量抽mysql表数据 kettle抽取excel数据_kettle如何批量抽mysql表数据_07

在内容页签,可以设置“开始输出自单元格”,这里需要根据模板文件来,看看数据是从哪里开始输出;当输出记录时,可以选择覆盖也可以选择下移;还可以设置强制公式计算,和保持单元格格式;输出字段可根据实际情况进行选择,如下所示:

kettle如何批量抽mysql表数据 kettle抽取excel数据_数据_08

至此,该转换创建完成,点击运行,完成后到指定目录发现生成了相应的文件。

kettle如何批量抽mysql表数据 kettle抽取excel数据_公众号_09

双击表格对数据进行修改,会弹出保护单元格提示,需要输入密码才可进行修改

kettle如何批量抽mysql表数据 kettle抽取excel数据_数据_10

按照提示在“审阅”》“撤销工作表保护”,可对数据进行修改。