Ruby对excel读写操作
来源:互联网 发布:mysql定时备份 编辑:程序博客网 时间:2024/05/16 13:43
0.读取本地文件两个方法:
file = open(path)lines = file.readlineslines.each do |line|p line #" BOOST = self.new(1, '觉醒之书')\n"end
file = File.open(filePath, "r")file.each_line do |line| p line <span style="font-family: Arial, Helvetica, sans-serif;"># BOOST = self.new(1, '觉醒之书')</span>end
这个方法区别如注释所示,前者会出现双引号和换行符
1.读取excel可以用:roo=>Github官网, roo官网,stackoverflow上的一个提问
值得注意的是如果读取的是xls文件而不是xlsx文件,那么需要gem install roo-xls。open文件时指定类型,如下操作:
require 'roo'require 'roo-xls'xlsx = Roo::Spreadsheet.open('/Users/h/Documents/rubyProject/新版本文案.xls',extension: :xls)puts xlsx.sheet(0).cell('B',2)
2.写excel推荐用spreadsheet插件
安装方式:gem install spreadsheet
Excel文件生成写入数据实例:
require ‘rubygems’
require ‘spreadsheet/excel’
#先加载spreadsheet类库,然后,指定编码接着,就可以创建一个Workbook了
book = Spreadsheet::Workbook.new
#创建表单:
sheet1 = book.create_worksheet
sheet1.name = ‘My First Worksheet’
#或直接指定名字创建表单:
sheet2 = book.create_worksheet :name => ‘My Second Worksheet’
那么,这时我们可以采用如下方式加载数据到表单Worksheet#[]=,
Worksheet#update_row,
或者直接给一个指定单元格复制
sheet1.row(0).concat %w{Name Country Acknowlegement}
sheet1[1,0] = ‘Japan’
row = sheet1.row(1)
row.push ‘Creator of Ruby’
row.unshift ‘Yukihiro Matsumoto’
sheet1.row(2).replace [ 'Daniel J. Berger', 'U.S.A.',
'Author of original code for Spreadsheet::Excel' ]
sheet1.row(3).push ‘Charles Lowe’, ‘Author of the ruby-ole Library’
sheet1.row(3).insert 1, ‘Unknown’
sheet1.update_row 4, ‘Hannes Wyss’, ‘Switzerland’, ‘Author’
#对输出格式做处理
sheet1.row(0).height = 18
format = Spreadsheet::Format.new :color => :blue,
:weight => :bold,
:size => 18
sheet1.row(0).default_format = format
bold = Spreadsheet::Format.new :weight => :bold
4.times do |x| sheet1.row(x + 1).set_format(0, bold) end
#保存excel文件
book.write ‘excel-file.xls’
参考链接
替换文件中的字符串:
# load the file as a stringdata = File.read("hello.txt") # globally substitute "install" for "latest"filtered_data = data.gsub("install", "latest") # open the file for writingFile.open("hello.txt", "w") do |f| f.write(filtered_data)endOr you can make it a one liner:
File.write("hello.txt",File.open("hello.txt",&:read).gsub("install","latest"))
1 0
- Ruby对excel读写操作
- Ruby 对Excel的操作
- 直接对Excel读写操作
- java对Excel读写操作
- VS2010 对Excel读写操作
- Python 对Excel操作读写
- ruby对excel的一些操作
- [Ruby]读写excel文件
- ruby: 读写excel文件
- ruby: 读写excel文件
- C#对EXCEL的读写操作
- java对excel文件的读写操作
- C#对EXCEL的读写操作
- .net对Excel表数据读写操作
- C#对Excel的读写操作
- 利用java对excel进行读写操作
- java对Excel的读写操作
- JAVA对excel表的读写操作
- Marshal类的两个方法StructureToPtr和PtrToStructure实现序列化
- 一步一步学EF系列【6、IOC 之AutoFac】
- IOS中将照片压缩至指定大小
- 产品心得:我们和客户之间那些事儿。
- QtXml
- Ruby对excel读写操作
- 《从零开始学Swift》学习笔记(Day 12)——说几个特殊运算符
- 经典习题之费式数列
- android中点击空白处隐藏软键盘
- listView 控件焦点方面的问题
- 数据库的同步和复制----sql语句方法
- java字符串与字符
- testng 执行顺序
- 我所学习的数据库知识总结!~