项目中经常会遇到需要导入excel以及csv等文件格式的数据到数据库中。
1.导入xls文件,文档
添加gem1gem 'spreadsheet', '1.0.0'
导入的只能是xls格式的,如果为xlsx格式的需要先手动转化为xls格式在进行导入,直接在rails c 中读取文件,然后操作12345book = Spreadsheet.open('public/a.xls'); #如果是在rails c中直接读取的时候,最后记得加上分号,如果不加分号会全部读取,要等很长时间sheet = book.worksheet 0 #后面的数字是代表读取那个工作区间的sheet.each_with_index do |row, index| p row[0] #index为行数 row为具体行里的内容,row[0]指的是取出第一列end
2.导出xls文件12345678xls_report = StringIO.newSpreadsheet.client_encoding = 'UTF-8'book = Spreadsheet::Workbook.new sheet1 = book.create_worksheet name: '测试' #工作区sheet1.row(0).concat([第一列,第二列])sheet1[1,0] = 'china'sheet1.column(0).default_format = Spreadsheet::Format.new align: :right,weight: :bold #局右加粗book.write xls_report #保存