數據卡片_E015 如何批量匯總工作簿數據,形成獨立工作簿信息卡片

30ad19d86187520b6c3067de1491e796.png

6613681dcfd31e1dfc1589173cfd7ad4.png

Hi,How are you doing?

我是職場編碼(CodeVoc)。

在E000中,我們介紹了Node.js、Ruby、Electron等工具下載安裝。

這期,給你演示一下由Electron聯合Ruby制作的小工具。

知乎視頻?www.zhihu.com

借助Electron官方Demo,我們很容易制作一個工具展示平臺。

5c853a1c27fbf3c7f7708256309b2e03.png

點擊“View Demo”會彈出我們的工具界面。

486387654f1d1ba9deba4cf6ef35e4cd.png

一、項目需求

這個工具的主要目的是為了批量匯總工作簿數據,形成獨立工作簿信息卡片。

它除了可以選擇源文件,還可以選擇目標文件。

3dbece00974abc5037584bb62bf9b798.png

點擊“執行”按鈕,就可以批量匯總工作簿數據,形成獨立工作簿信息卡片。

17059095c65f35456a8a35e46be8cead.png

二、界面設計

【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_tabulate_isolate(pth_source,pth_goal)

接收控制臺傳雙參

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

單元格已用區域行數計數、創建二維數組

m=ebk.worksheets(1).usedrange.rows.count-1
arr=Array
arr=ebk.worksheets(1).usedrange.value

設置循環

m.times{
}
(1..m).each{|i|
}

=> 對象模型

創建可視化Excel應用

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

打開、關閉Excel工作簿

ebk=@eap.workbooks.open(pth_source)
ebk=@eap.workbooks.open(pth_goal)
ebk.close

操作Worksheets、Workbooks對象(復制、保存)

ebk.worksheets(1).copy(nil,ebk.worksheets(1)) 
@eap.workbooks(2).saveas(File.dirname(pth_source)+''+ebk.worksheets(i+1).name+'.xls',56)

執行數組寫入Excel單元格區域操作

ebk.worksheets(i+1).range("b2").value=arr[i][1]
ebk.worksheets(i+1).range("b3").value=arr[i][2]
ebk.worksheets(i+1).range("b4").value=arr[i][3]
ebk.worksheets(i+1).range("b5").value=arr[i][4]
ebk.worksheets(i+1).range("d2").value=arr[i][5]
ebk.worksheets(i+1).range("d3").value=arr[i][6]
ebk.worksheets(i+1).range("d4").value=arr[i][7]
ebk.worksheets(i+1).range("d5").value=arr[i][8]
ebk.worksheets(i+1).name=arr[i][1]

關注四點前白后綠氣泡某杺平臺,搜索“職場編碼”查看源碼。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533395.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533395.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533395.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux 編譯3g驅動_linux重新編譯內核

1.內容簡介linux內核簡介linux內核版本號linux為什么重新編譯內核linux內核編譯模式linux內核功能劃分linux內核編譯步驟2linux內核簡介內核&#xff0c;是一個操作系統的核心。它負責管理系統的進程、內存、設備驅動、文件和網絡系統&#xff0c;決定著系統的性能和穩定性。3.…

r語言平均值顯著性檢驗_R語言:常用統計檢驗方法

轉自http://blog.sciencenet.cn/home.php?modspace&uid255662&doblog&id240107正態總體均值的假設檢驗t檢驗單個總體例一某種元件的壽命X(小時)&#xff0c;服從正態分布&#xff0c;N(mu,sigma^2)&#xff0c;其中mu,sigma^2均未知&#xff0c;16只元件的壽命如下…

redis哨兵模式沒有切換主機_Redis哨兵(Sentinel)模式

Redis哨兵(Sentinel)模式在這里插入圖片描述一、主從復制高可用當我們使用主從復制出現的問題手動故障轉移寫能力和存儲能力受限主從復制 -master 宕機故障處理主從切換技術的方法是&#xff1a;當主服務器宕機后&#xff0c;需要手動把一臺從服務器切換為主服務器&#xff0c;…

mysql rpm 安裝6_linux6.5 RPM方式安裝 mysql5.6

步驟一、檢查下linux是不是已經安裝了MySQL# rpm -qa|grep mysqlmysql-libs-5.1.71-1.el6.x86_64# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 //卸載# find / -name mysql//有mysql文件夾的話&#xff0c;把mysql的文件夾刪掉步驟二、下載需要的安裝包&#xff0c;下載地…

php mysql 索引_MySQL索引

mysql 如何創建索引&#xff1f;1.添加PRIMARY KEY(主鍵索引)mysql>ALTER TABLE table_name ADD PRIMARY KEY ( column )2.添加UNIQUE(唯一索引)mysql>ALTER TABLE table_name ADD UNIQUE (column)3.添加INDEX(普通索引)mysql>ALTER TABLE table_name ADD INDEX index…

linux ftp mysql_linux下ftp和ftps以及ftp基于mysql虛擬用戶認證服務器的搭建

命令連接&#xff0c;控制連接&#xff1a;21/tcp數據連接: 主動模式,運行在20/tcp端口 和 被動模式,運行在隨機端口數據傳輸模式(自動模式)&#xff1a;有二進制(mp3,jpg等)和文本(html)兩種傳輸模式ftp服務器端程序&#xff1a;wu-ftpd&#xff1a;vsftpd pureftpd Filezilla…

阿里云rds for mysql平臺介紹_阿里云RDS for MySQL 快速入門——筆記

1初始化配置1.1設置白名單創建RDS實例后&#xff0c;需要設置RDS實例的白名單&#xff0c;以允許外部設備訪問該RDS實例。默認的白名單只包含默認IP地址127.0.0.1&#xff0c;表示任何設備均無法訪問該RDS實例。設置白名單包括兩種操作&#xff1a;設置IP白名單&#xff1a;添加…

mysql數據庫下載壓縮包_mysql 8.0.22 zip壓縮包版(免安裝)下載、安裝配置步驟詳解...

大家好&#xff0c;今天我在學習 MySQL 8.0.22安裝及配置遇到了一些問題&#xff0c;特地將我整個安裝過程分享出來希望可以幫助不會安裝的小伙伴&#x1f61c;。參考鏈接第一步 MySQL的下載進入MySQL官網下載&#xff0c;按下圖所示步驟操作&#xff0c;耐心等待下載完成就可以…

mysql 5.5 主從同步問題_MySQL 5.5 主從復制異步、半同步以及注意事項詳解

大綱一、前言二、Mysql 基礎知識三、Mysql 復制(Replication)四、Mysql 復制(Replication)類型五、Mysql 主從復制基本步驟六、Mysql 主從復制(異步)七、Mysql 主從復制(半同步)八、Mysql 復制工具九、Mysql 復制注意事項十、Mysql 復制過濾一、前言從這一篇博客開始我們就來學…

開源內容管理系統 php mysql_十大免費PHP+MySql平臺內容管理系統推薦

最近&#xff0c;朋友要建站讓我幫著推薦個好的CMS(內容管理系統)&#xff0c;個人認為其實選擇哪個CMS并不重要&#xff0c;除了對搜索引擎的親好外&#xff0c;個人的使用操作習慣和對所選CMS系統的熟悉程度有很大關系。這里為需要建站但又徘徊的朋友介紹10個免費PHPMySql平臺…

mysql導入xml 工具下載_XML導入Mysql工具下載|XmlToMysql 最新版v2.1 下載_當游網

XmlToMysql是一款十分不錯的XML導入Mysql工具&#xff0c;它可以幫助用戶們將XML中的數據快速的導入到MySQL數據庫中&#xff0c;可以直接跳過解析環節&#xff0c;因此可以有效的提升程序員傳輸數據的效率&#xff0c;讓程序員可以擁有更多的時間去處理其他環節的事宜。所以喜…

mysql忽略表名大小寫_Mysql 表名忽略大小寫-連接字符集隨筆記錄

1.參數說明&#xff1a;lower_case_table_names0表名存儲為給定的大小和比較是區分大小寫的lower_case_table_names 1表名存儲在磁盤是小寫的&#xff0c;但是比較的時候是不區分大小寫lower_case_table_names2表名存儲為給定的大小寫但是比較的時候是小寫的unix,linux下lower_…

mysql與orancl_清晰講解SQL語句中的外連接,通用于Mysql和Oracle,全是干貨哦

清晰講解SQL語句中的外連接&#xff0c;通用于Mysql和Oracle&#xff0c;全是干貨哦直入主題&#xff1a;我們做一個操作&#xff0c;將員工SCOTT的部門去掉&#xff0c;再次通過內連接查看數據&#xff0c;看看會產生什么現象&#xff1f;使用內連接&#xff0c;查詢數據問題&…

.net mysql查詢數據庫連接_asp.net連接查詢SQL數據庫并把結果顯示在網頁上(2種方法)...

在ASP.NET中&#xff0c;使用C#連接SQL數據庫&#xff0c;并使用SQL語句查詢&#xff0c;以前從來沒有接觸過C#&#xff0c;最近用到了&#xff0c;摸索了兩天終于運行起來了&#xff0c;Mark一下&#xff0c;不喜勿噴有兩種方法&#xff1a;(說的是第一種方法不安全&#xff0…

mysql異常恢復工具_[MySQL異常恢復]mysql ibd文件恢復

在mysql中由于某種原因保存有ibd文件&#xff0c;但是表已經被刪除或者frm文件損壞亦或者ibdata文件損壞/丟失等。本文模擬在這種情況下&#xff0c;通過mysql自身技術即可完成ibd文件恢復.測試環境mysql版本mysql> select version();-----------| version() |-----------| …

ddl是什么意思網絡語_DDL(數據定義語言)

DDL&#xff0c;是對數據庫內部的對象進行創建&#xff0c;刪除&#xff0c;修改等的操作語言。它和DML語言最大的區別是DML只是對表內部數據的操作&#xff0c;而不涉及到表的定義&#xff0c;結構的修改&#xff0c;更不會涉及到其它對象。1.連接數據庫:注:1.mysql代表客戶端…

jsp mysql優點_asp、php、asp.net、jsp的介紹和各自的優缺點

現在主流的網站開發語言無外乎asp、php、asp.net、jsp等。主流網站開發語言之ASP:ASP是微軟(Microsoft)所開發的一種后臺&#xff0c;它的語法和Visual BASIC類似&#xff0c;可以像SSI(Server Side Include)那樣把后臺腳本代碼內嵌到HTML頁面中。雖然ASP簡單易用&#xff0c;但…

測試網絡的帶寬指令_單機千萬級MQTT服務器測試報告

目標&#xff1a;測試創建1000萬客戶端連接到Coolpy7 MQTT服務器端&#xff0c;服務器操作系統 Linux(任意一款發行版服務器版本)。分別在兩臺硬件一樣的服務器&#xff0c;其中一臺用于服務器端運行&#xff0c;另一臺用于創建千萬客戶端連接客戶端機器。在硬件一致的情況下請…

python郵箱爆破_Python在線爆破郵箱賬號密碼測試代碼(親測可用)

dic 字典格式如下(mail.txt) :usernamegmail.com:passwordusernamegmail.com:passwordusernamegmail.com:password以此類推&#xff0c;切記保存成utf-8編碼格式。放置在當前腳本目錄&#xff0c;也可自己定義修改。支持ssl https /imap協議。# version 3.4.0# codingUTF-8# ti…

查看redis aof內存_Redis持久化問題定位與優化技巧

今天主要分享繼Redis持久化方式RDB、AOF之后的一些常用的Redis問題定位于優化方式。這里主要CPU、內存、磁盤在三個維度去分析問題&#xff01;Fork操作當Redis做RDB或AOF重寫時&#xff0c;一個必不可少的操作就是執行fork操作創建子進程&#xff0c;對于大多數操作系統來說fo…