Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SpreadSheetAsData(Ruby版)の説明
Search
まりも
September 16, 2024
Programming
0
16
SpreadSheetAsData(Ruby版)の説明
GitHubに上げたライブラリSpreadSheetAsDataの説明です。
https://github.com/HrmsTrsmgs/SpreadsheetAsData
まりも
September 16, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
210
技術的負債
hrmstrsmgs
0
230
よい設計のプログラムを作るには
hrmstrsmgs
0
77
歴史から理解するJavaScript
hrmstrsmgs
0
58
論理的な考え方
hrmstrsmgs
0
58
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
31
腕のある技術者はなぜ
hrmstrsmgs
0
75
疑似乱数の生成
hrmstrsmgs
0
40
構造化プログラミング
hrmstrsmgs
0
150
Other Decks in Programming
See All in Programming
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
開発に寄りそう自動テストの実現
goyoki
2
1k
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
170
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
Cell-Based Architecture
larchanjo
0
130
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.3k
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
200
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
120
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
The Invisible Side of Design
smashingmag
302
51k
Documentation Writing (for coders)
carmenintech
76
5.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
710
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.3k
Site-Speed That Sticks
csswizardry
13
1k
For a Future-Friendly Web
brad_frost
180
10k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Thoughts on Productivity
jonyablonski
73
5k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
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 空のセル