Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Excelを扱うRubyGemまとめ 2022
Keita Mohri
December 02, 2022
Programming
0
370
Excelを扱うRubyGemまとめ 2022
Qiita Night~Ruby~
Keita Mohri
December 02, 2022
Tweet
Share
More Decks by Keita Mohri
See All by Keita Mohri
モクえもんのお時間です
ktam1219
0
120
在宅ワーク中だけど会社にしかGPSマルチユニットがない?でも大丈夫!そう、mockmockがあればね。
ktam1219
0
300
IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤
ktam1219
0
430
実写版モクえもん in Explorer ~愛・おぼえていますか~
ktam1219
0
190
エンジニアのおしごと
ktam1219
0
86
mockmockの大量のログをいい感じに捌きたい
ktam1219
0
630
Goで作る大量プロセス管理機構
ktam1219
2
2.5k
わりとゴツいKubernetesハンズオン そのあとに
ktam1219
0
430
明太子とEndorseと私
ktam1219
0
460
Other Decks in Programming
See All in Programming
爆速の日経電子版開発の今
shinyaigeek
2
620
What's new in Shopware 6.5
shyim
0
110
和暦を正しく扱うための暦の話
nagise
10
6.4k
OSSから学んだPR Descriptionの書き方
fugakkbn
4
130
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
7
6.5k
Makuakeの認証基盤とRe-Architectureチーム
bmf_san
0
600
ECテックカンファレンス2023
kspace
1
350
PHP でガチの電卓を作る
memory1994
PRO
1
110
Remix + Cloudflare Pages + D1 で ポケモン SV のレンタルチームを検索できるアプリを作ってみた
kuroppe1819
4
1.4k
PHPDocにおける配列の型定義を少し知る
shimabox
1
140
[2023년 1월 세미나] 데이터 분석가 되면 어떤 일을 하나요?
datarian
0
600
良質な技術記事を量産する秘訣 / #MeetsPro
jnchito
10
3.2k
Featured
See All Featured
Done Done
chrislema
178
14k
Gamification - CAS2011
davidbonilla
75
4.1k
Clear Off the Table
cherdarchuk
79
290k
The Illustrated Children's Guide to Kubernetes
chrisshort
22
43k
Atom: Resistance is Futile
akmur
256
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
500
130k
Faster Mobile Websites
deanohume
295
29k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
13
5.4k
How to name files
jennybc
47
73k
Fireside Chat
paigeccino
16
1.8k
jQuery: Nuts, Bolts and Bling
dougneiner
57
6.6k
Transcript
ExcelΛѻ͏RubyGem·ͱΊ 2022 2JJUB/JHIUʙ3VCZʙ 'SJ ໟརܒଠ 1
ࣗݾհ ໟརܒଠ .PISJ,FJUB ‣ 'VTJD$0 -5% ‣ ઌਐٕज़෦*P5νʔϜνʔϜϦʔμʔ ‣ 2JJUB4JMWFSड
$POUSJCVUJPOT ‣ IUUQTGVTJDDPKQNFNCFST ‣ ؤுͬͯॻ͍͚ͨͲ͋·ΓͷΛݟ͍ͯͳ͍هࣄ 23ίʔυ%FFQ%JWFʔσʔλූ߸Խͱ͔ޡΓగਖ਼ͱ͔ʔ IUUQTRJJUBDPN,UB.JUFNTGBFCGFF 2
FYDFMHFNݕࡧʂ 3
FYDFMHFNݕࡧʂ 4
&YDFMܥ(FNۀքʹͱͬͯ ͋Μ·Γྑ͘ͳ͍😕
2JJUB/JHIUτϦΨʔͰ ߋ৽͢Δͧʂ💪
͜ͷ༨നͦΕΛॻ͘ʹڱ͗͢Δ 7 ‣͍Ζ͍Ζௐ·͕ͨ͠ɺ݁ߏͳϘϦϡʔϜʹͳͬͯ͠·ͬͨͷͰ ৄࡉQiitaͷهࣄ, GithubΛ͝ࢀর͍ͩ͘͞ɻ - Qiita: https://qiita.com/Kta-M/items/53083a17b7f0c3645c24 -
Github : https://github.com/Kta-M/excel_gems
01 ௐࠪର
ௐࠪର 9 ‣The Ruby Toolboxͷ্Ґʹ͋Δͷ͔Β DBYMTYʹҾ͖ܧ͕ΕͨͷͰআ֎ BYMTYΛSBJMTʹಋೖ͢ΔͨΊͷ (FNͳͷͰআ֎
ௐࠪର 10 ‣The Ruby Toolboxͷ্Ґʹ͋Δͷ͔Β DBYMTYʹҾ͖ܧ͕ΕͨͷͰআ֎ BYMTYΛSBJMTʹಋೖ͢ΔͨΊͷ (FNͳͷͰআ֎
લͱ΄΅มΘͬͯͳ͍ ʘ ?P? ʗ
͔ΜͨΜൺֱද 12
02 ॻ͖ࠐΈ෦
͔ΜͨΜൺֱද 14
TQSFBETIFFU 15
TQSFBETIFFU 16 ‣😄 - ͍Ζ͍Ζͳํ๏ͰηϧʹσʔλΛೖΕΒΕΔ ‣🥲 - ܭࢉ͕ࣜೖྗͰ͖ͳ͍ - σϑΥϧτͷϑΥϯτ͕ઃఆͰ͖ͣɺߦ͝ͱɾηϧ͝ͱʹࢦఆ͢Δඞཁ͕͋Δ
- ৭͕ΧϥʔύϨοτ͔Β͔͠બͳ͍ - υΩϡϝϯτ͕खബ - υΩϡϝϯτʹࡌ͍ͬͯͳ͍ͷιʔείʔυΛݟͯճΔඞཁ͕͋Δ - ͦͦ.xls͔͠ରԠ͍ͯ͠ͳ͍ɻɻ
SVCZ9- 17
SVCZ9- 18 ‣😄 - ͕ࣜ͑Δ - ॻࣜઃఆܥͷϝιουʹ໋໊نଇ͕͔͋ͬͯΓ͍͢ - .xlsx͕ѻ͑ͯɺಡΈࠐΈɺॻ͖ࠐΈ͕Ͱ͖Δͷ͜Ε͚ͩ ‣🥲
- σϑΥϧτͷϑΥϯτ͕ઃఆͰ͖ͣɺߦ͝ͱɾηϧ͝ͱʹࢦఆ͢Δඞཁ͕͋Δ - ܩઢΛҾ͘ͱ͖ɺηϧͷ্ԼࠨӈͦΕͧΕΛݸผʹࢦఆ͢Δඞཁ͕͋Δ - ൣғʹܩઢΛҾ͘ͱ݁ߨॏ͍ - ͕ೖ͍ͬͯͳ͍ηϧͷॻࣜΛ͍͡Ζ͏ͱͨ͠ΒౖΒΕΔ
DBYMTY 19
DBYMTY 20 ‣😄 - Example͕ͱͯॆ࣮͍ͯ͠ΔͷͰಋೖ͍͢͠ - ࢦఆൣғʹҰׅͰॻࣜઃఆ͕Ͱ͖Δ - ͕ࣜ͑Δ -
ͳΜͱάϥϑ·Ͱ࡞Εͯ͠·͏ ‣🥲 - উखʹྻͷ෯͕ௐ͞Εͯ͠·͏ - ݻఆ͢ΔͳΒஞҰࢦఆ͢Δඞཁ͕͋Δ - جຊతʹExcelͷηϧ൪?ͰͷࢦఆʢA1:C1ͳͲ)ʹͳΔ - ߦɾྻͷindex͔ΒͷมϝιουΛ༻ҙ͢Εղܾ͚ͩΕͲ - (༨ஊ)͍͟࡞Ζ͏ͱͨ͠ΒҰےೄͰ͍͔ͳ͍😏
ϕϯνϚʔΫ 21 ‣͍Ζ͍Ζͳૢ࡞ΛଌͬͯΈͨ ‣શମతʹrubyXLͪΐͬͱॏΊ͔ͳɻɻ
03 ಡΈࠐΈ෦
͔ΜͨΜൺֱද 23
ׂѪ 24 ‣σʔλΛಡΈऔΔ͚ͩͳΒͲΕͰͰ͖Δ
SPP 25 ‣σʔλςʔϒϧΛಡΉͷ͕ಘҙͳҹ - streamͰগͣͭ͠ಡΈࠐΉ͜ͱ͕Ͱ͖Δ - গͳ͍ϝϞϦͰେ͖ͳϑΝΠϧ͕ಡΊΔ - csv, matrix,
xml, yamlͷม͕Մೳ - ϔομΛ༩֤͑ͯߦΛhashͱͯ͠औಘ͢Δ͜ͱՄೳ
04 ผͷՄೳੑ
"84-BNCEBΛͬͯΈΔ 27 ‣.Net Core - Open XML SDK 2.5 for
Officeͱ͍͏ެࣜSDK͕͋Δ - ͜ΕΛ͑Microsoft७ਖ਼ͷϥΠϒϥϦͰExcelϑΝΠϧ͕࡞Εͯ͠·͏ʂ - Open XML SDKΛϥοϓͨ͠ClosedXMLͱ͍͏ϥΠϒϥϦ ‣Python - openpyxlͱ͍͏ϥΠϒϥϦ͕σϑΝΫτΒ͍͠ - ಡΈॻ͖͕Ͱ͖ͯɺάϥϑग़ͤΔ DTW KTPOͳͲ FYDFM
7#"Λ͏ 28 ‣VBAΛॻ͍ͨExcelϑΝΠϧΛ࡞ͬͯ࡞ۀऀʹ͓ͯ͘͠ ‣γεςϜ͔Β؆୯ͳExcelCSVΛग़ྗͯ͠ ‣VBA͔ΒͦΕΛಡΈࠐΜͰΒͬͯతͷϑΝΠϧΛ࡞ ‣࠷ऴखஈʁ - ͰԿͰͰ͖Δʂ
05 ·ͱΊ
·ͱΊ 30 ‣ಡΈࠐΉ͚ͩͳΒroo ‣ϦονͳாථΛθϩ͔Β࡞ΔͳΒcxlsx ‣ாථͷςϯϓϨʔτΛಡΈࠐΜͰվมͯ͠ग़ྗ͢ΔͳΒrubyXL ‣(Ͳ͏ͯ͠.xlsͳΒspreadsheetʣ ‣ඞͣ͠rubyͰΒͳͯ͘ͳΒͳ͍ͱ͍͏͜ͱͳ͍ ‣ଓ͖WebͰʂ - Qiita:
https://qiita.com/Kta-M/items/53083a17b7f0c3645c24 - Github : https://github.com/Kta-M/excel_gems
͝ਗ਼ௌ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·ͨ͠ Thank You 8FBSF)JSJOH IUUQTSFDSVJUGVTJDDPKQ