RubyOnRails Excel file 파싱하기(xlsx 파일)
Rails에는 다양한 Excel File Parsing 방법이 존재한다.
참고 : https://stackoverflow.com/questions/3321011/parsing-xls-and-xlsx-ms-excel-files-with-ruby
그 중에서도 simple_xlsx_reader gem을 사용해서 하는 방법을 사용했다.
Gemfile에
gem 'simple_xlsx_reader' 를 추가해주고
$ bundle 을 통해 gem을 설치한다
그리고 특정 컨트롤러에서 다음의 코드를 통해 Parsing을 처리할 수 있다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # 임의 controller def school require 'rubygems' require 'pp' require 'simple_xlsx_reader' # Excel 파일 읽기 workbook = SimpleXlsxReader.open './seoul_schoolZone.xlsx' # sheet 읽기 worksheets = workbook.sheets # 반복문 worksheets.each do |worksheet| worksheet.rows.each do |row| # 새 data 만들기 @schoolZone = SchoolZone.new row_cells = row @schoolZone.spotname = row_cells[1] # spotname @schoolZone.x_crd = row_cells[5].to_f # x_crd @schoolZone.y_crd = row_cells[4].to_f # y_crd @schoolZone.save end end end | cs |
위의 row_cells에서 row값을 받는 순간 해당 row_cells는 string 배열로 들어오고 여기서 필요한 부분만
Column 위치에 맞는 Index값을 줘서 text를 추출할 수 있다
'Archived(Programming) > Ruby on Rails(기초)' 카테고리의 다른 글
RubyOnRails 5) Like 좋아요 기능 (0) | 2018.12.28 |
---|---|
RubyOnRails 4) Search 검색하기 (0) | 2018.12.27 |
RubyOnRails 3) Devise 기본 (0) | 2018.12.26 |
RubyOnRails 2) Model 관계 설정 (0) | 2018.12.26 |
RubyOnRails 1) CRUD 기본 (0) | 2018.12.24 |