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
33
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SpreadSheetAsData(Ruby版)の説明
GitHubに上げたライブラリSpreadSheetAsDataの説明です。
https://github.com/HrmsTrsmgs/SpreadsheetAsData
まりも
September 16, 2024
More Decks by まりも
See All by まりも
オブジェクトモデルと関係モデルの設計
hrmstrsmgs
0
61
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
410
技術的負債
hrmstrsmgs
1
420
よい設計のプログラムを作るには
hrmstrsmgs
0
130
歴史から理解するJavaScript
hrmstrsmgs
0
100
論理的な考え方
hrmstrsmgs
0
120
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
81
腕のある技術者はなぜ
hrmstrsmgs
0
160
疑似乱数の生成
hrmstrsmgs
0
77
Other Decks in Programming
See All in Programming
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
120
信頼性の目標を誰も求めてない
shubox
0
490
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
680
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
640
Foundry Localでエージェント開発
seosoft
0
140
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
310
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
110
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
210
初めての模倣学習とVLA
natsutan
0
480
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
130
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.3k
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
220
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Prompt Engineering for Job Search
mfonobong
0
440
Faster Mobile Websites
deanohume
310
32k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
From π to Pie charts
rasagy
0
350
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
A designer walks into a library…
pauljervisheath
211
25k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
320
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 空のセル