Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SpreadSheetAsData(Ruby版)の説明
Search
まりも
September 16, 2024
Programming
0
14
SpreadSheetAsData(Ruby版)の説明
GitHubに上げたライブラリSpreadSheetAsDataの説明です。
https://github.com/HrmsTrsmgs/SpreadsheetAsData
まりも
September 16, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
180
技術的負債
hrmstrsmgs
0
210
よい設計のプログラムを作るには
hrmstrsmgs
0
71
歴史から理解するJavaScript
hrmstrsmgs
0
55
論理的な考え方
hrmstrsmgs
0
54
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
27
腕のある技術者はなぜ
hrmstrsmgs
0
71
疑似乱数の生成
hrmstrsmgs
0
39
構造化プログラミング
hrmstrsmgs
0
110
Other Decks in Programming
See All in Programming
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
310
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
860
🔨 小さなビルドシステムを作る
momeemt
4
680
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
310
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
540
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.3k
AIコーディングAgentとの向き合い方
eycjur
0
270
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
330
testingを眺める
matumoto
1
140
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
339
57k
A better future with KSS
kneath
239
17k
Typedesign – Prime Four
hannesfritz
42
2.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
For a Future-Friendly Web
brad_frost
180
9.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Code Reviewing Like a Champion
maltzj
525
40k
Navigating Team Friction
lara
189
15k
YesSQL, Process and Tooling at Scale
rocio
173
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Transcript
SPREADSHEETASDATA (RUBY版) サブタイトル
SPREADSHEETASDATA • 自作ライブラリ • オープンソースで公開 • Excelの読み書き • 理想の設計の研鑽のため •
Ruby版とC#版 • 今日はRuby版の紹介です GitHub.png
よくあるEXCEL操作ライブラリの問題点 Excelのオートメーションの利用 裏でExcelを立ち上げている 重い Excelのバージョンの影響 マクロはもともと手作業の自動化用
よくあるEXCEL操作ライブラリの問題点 APIの設計 Excel VBAの呪縛 20年以上前の設計 使える機能が多すぎる
こんなライブラリが欲しい Excelのデータを利用するライブラリが簡単に書ける 直観的で使いやすいAPI 最近のRDBやXML読み込みライブラリにそん色ない
ファイルオープン WorkBook.open(‘./Book1.xlsx’) do |book| #bookを扱うコードをここに記述 end
セル puts book.Sheet1.A2 #> Jacob
table = book.Sheet1.A1_D7 # 氏名の書き出し table.where(good_language: 'Ruby').each do |student| puts
student.first_name + ' ' + student.last_name end テーブル
table = book.Sheet1.A_D #平均年齢 puts table. all. map{|student| student.age }.
inject(0){|total, age| total += age } / table.all.size テーブル
シート s = book.Sheet1 s2 = book.Sheet2
シート s = book.一覧表
s = book.Sheet1 puts s.A2 #> Jacob puts s['A2'] #>
Jacob puts s[:A2] #> Jacob 一つのことをたくさんのやり方で
puts s.A2 + ' ' + s.B2 #> Jacob Smith
puts s.C2 + s.C3 + s.C4 #> 40 文字列と数字
p s.E1 #>{blank} p s.E1 + ' ' #> ""
p s.E1+ 0 #> 0 空のセル