Hi,How are you doing?

我是职场编码(CodeVoc)。

在E000中,我们介绍了Node.js、Ruby、Electron等工具下载安装。

这期,给你演示一下由Electron联合Ruby制作的小工具。

借助Electron官方Demo,我们很容易制作一个工具展示平台。

点击“View Demo”会弹出我们的工具界面。

一、项目需求

这个工具的主要目的是为了把Excel数据批量写入Word生成工资字条。

它除了可以选择源文件,还可以选择目标文件。

点击“写入”按钮,完美执行写入操作。

二、界面设计

【html】

生成表单容器:<form></form>

生成布局标签:<div></div>

生成行内标签:<span></span>

生成单行输入框:<input id="source_line"><input id="goal_line">

生成文件选择按钮:

<input type="file" id="goal_file">
<input type="file" id="source_file">

生成普通按钮:<input type="button" id="execute">

【css】

关注四点前白后绿气泡某杺平台,搜索“职场编码”查看源码。

【javascript】

根据ID,选中source_file按钮

var source_line=document.getElementById('source_line')

给source_file按钮,添加"change"事件

source_line.value=document.getElementById('source_file').files[0].path

根据ID,选中goal_file按钮,

var goal_line=document.getElementById('goal_line')

给goal_file按钮,添加"change"事件

goal_file.value=document.getElementById('goal_file').files[0].path

execute按钮添加单击事件

execute.addEventListener("click",function(){获取参数1,获取参数2,调用})

获取参数1

var source_line=document.getElementById('source_line').value

获取参数2

var goal_line=document.getElementById('goal_line').value

调用Ruby脚本

const { spawn } = require('child_process')
const ls = spawn('ruby', ['Ruby脚本完整路径',参数1,参数2])

三、逻辑梳理

=> 基础语法

引用Ruby标准库

require "win32ole"

创建双参数入口方法

def Excel_to_table(pth_source,pth_goal)

接收控制台传双参

Excel_to_table(ARGV[0],ARGV[1])

设置条件判断

if 条件表达式
elsif 条件表达式
else
end

设置双循环

s=2;s.step(20,2) do |s|(1..11).each do |j|end
end    

=> 对象模型

创建可视化Excel、Word应用

@eap=WIN32OLE::new("excel.application");@eap.visible=true
@wap=WIN32OLE::new("word.application");@wap.visible=true

打开Excel工作簿、Word文档

ebk=@eap.workbooks.open(pth_source)
wdc=@wap.documents.open(pth_goal)

确定表格行数、创建表格

max=@eap.Worksheets(1).usedrange.currentregion.rows.count-1
wdc.tables.add(wdc.paragraphs(1).range,max*2,11);  

表格格式化

@wtb=wdc.tables(1)
@wtb.borders.insidelinestyle=1            #内实线
@wtb.borders.outsidelinestyle=1           #外实线
@wtb.range.paragraphformat.alignment=1    #居中
@wtb.cell(s,j).range.font.name="黑体"    

执行Excel数据写入Word操作、日期格式化为“年-月”

@wtb.cell(s,j).range.text=@eap.worksheets(1).cells(i,j).value.strftime("%Y-%m")

关注四点前白后绿气泡某杺平台,搜索“职场编码”查看源码。

E005 如何把Excel数据写入Word生成工资字条相关推荐

  1. php 导出excel删除空行,将Excel数据写入Word模板并删除多余的空行

    Private Sub CommandButton输出通知到Word文件_Click() Dim Word对象 As New Word.Application, 当前路径, 导出文件名, 导出路径文件 ...

  2. 如何将excel表格导入word_如何将Excel中的数据写入Word表?

    之前我们分享了一期小代码,内容是如何将word中表格的数据读入excel-- 之后有朋友表示知道了,又问如何将excel中的数据写入word-- 此时此刻,我再一次清醒的意识到,这世界上像我这样好的人 ...

  3. 实现一张A4纸上能够打印6个学员证,利用excel数据源和word(wps)的邮件合并功能实现批量打印

    实现一张A4纸上能够打印6个学员证,利用excel数据源和word(wps)的邮件合并功能实现批量打印 1.首先我们要准备好数据源,以本文为了,excel表中保存了学员信息. 2.打开word(wps ...

  4. python读取excel送到网页_python怎么读取excel!怎么用python将excel数据写入网页中

    怎么用python将excel数据写入网页中 # 装 xlrd-0.9.2 xlutils-1.7.1 这两个模 from xlwt import Workbook, Formula import x ...

  5. Java导出带格式的Excel数据到Word表格

    在Word中创建报告时,我们经常会遇到这样的情况:我们需要将数据从Excel中复制和粘贴到Word中,这样读者就可以直接在Word中浏览数据,而不用打开Excel文档.在本文中,您将学习如何使用Spi ...

  6. 如何通过Java导出带格式的 Excel 数据到 Word 表格

    在Word中制作报表时,我们经常需要将Excel中的数据复制粘贴到Word中,这样则可以直接在Word文档中查看数据而无需打开另一个Excel文件.但是如果表格比较长,内容就会存在一定程度的丢失,无法 ...

  7. python 网页上显示数据_怎么用python将excel数据写入网页中,python 网页上excel表格数据分析...

    用python读取excel,怎样显示要查找的数据? 感觉还是CSV格式的好一些,EXCEL的要装插件,以CSV为例,段代码 sqlserver char 对应c# import linecache ...

  8. C#实战028:OleDb操作-Excel数据写入

    前面写了C#实战021:OleDb操作-新增Excel中的sheet工作表,接下来我们就要在新增的表中添加数据了,在网上找了很多方法,都没有OleDb对excel表操作批量操作,后来通过对mysql的 ...

  9. 利用Pajek软件批量处理excel数据,批量生成网络关系图

    利用Pajek软件批量处理excel数据,批量生成网络关系图 Pajek软件大家想必都不陌生,但是我很陌生,因为我用它不是进行网络分析,而是用它来画关系图(类似网络图).但是Pajek软件手工操作时一 ...

最新文章

  1. PHP smarty缓存
  2. opencv Canny边缘检测用法
  3. c语言 枚举定义变量,C语言之枚举的定义以及测试
  4. collections模块之defaultdict
  5. ajax struts 返回html,Struts2+ajax 异步请求,向前段返回字符串
  6. 虚拟机下挂载CentOS 镜像并配置yum本地镜像源
  7. 吴恩达|机器学习作业5.0.偏差与方差
  8. 《计算机网络》学习笔记 ·001【概述】
  9. javaScript中简单数据类型和复杂数据类型赋值拷贝的理解
  10. 【读书笔记】iOS-Web应用程序的自动化测试
  11. tar: /usr/app: Not found in archive
  12. ee er_61对词根相同后缀分别是er和ee的单词要这样区别记忆它们
  13. 常用名词理解(APK,SDK,JDK,API,DLL)
  14. 邮箱发送html邮件,遇到的问题(如阿里邮箱如何发送html邮件、qq向阿里发送邮件样式丢失等)解决方法
  15. 日记app(1.0)进展报告
  16. 【云开发】全网最详细壁纸小程序教程+源码
  17. MATLAB 实现将彩色图像的R、G、B三个分量以彩色的形式显示
  18. 小程序源码:全网独家小程序版本独立微信社群人脉系统社群空间站最新源码开源+详细教程
  19. 【FPGA学习】Quartus II新建工程流程
  20. p720自带的磁带机备份aix系统

热门文章

  1. 学习思维导图15条常识
  2. Class yii\base\ModelEvent
  3. sound、noise、voice的区别
  4. 微型计算机测控系统课程设计报告,微机原理课程设计实验报告--步进电机控制.docx...
  5. 利用Open 3D建立三维模型
  6. 不小心格式化交换机Flash后的挽救
  7. 《西瓜书》阅读笔记——第一章
  8. 多电脑屏幕共享键盘鼠标之Synergy1.8.8稳定版Windows-Mac-Linux下载安装使用
  9. 5种比较常见的自动化测试框架
  10. PDF编辑器如何拆分PDF文件页面