lib/ld/excel/excel.rb in ld-0.3.6 vs lib/ld/excel/excel.rb in ld-0.4.1

- old
+ new

@@ -2,11 +2,10 @@ Spreadsheet.client_encoding = 'UTF-8' class Ld::Excel attr_accessor :excel, :path - #= 参数 path(可以为空) def initialize path = nil if path if path.match(/.xls$/) if File::exist? path @excel = Spreadsheet.open path @@ -20,40 +19,32 @@ else @excel = Spreadsheet::Workbook.new end end - #= 作用 打开一个xls文件 - #= 参数 xls文件的全路径或相对路径的字符串 - #= 示例 Ld::Excel.open 'project.xls' - #= 返回 Ld::Excel实例 + #= 作用 打开一个xls文件,返回Ld::Excel实例 def self.open path self.new path end - #= 作用 写xls文件(会创建一个新的xls文件) - #= 返回 如果创建成功,返回Ld::Excel实例.如果创建失败会返回false(不会导致程序终止) - #= 参数1 path 字符串,指定要写的文件路径(最好使用全路径) + #= 作用 写excel(创建新的xls文件) def self.write path, &block if path.class == Hash path = path[:file_path] end excel = Ld::Excel.new block.call excel excel.save path end - #= 作用 write的同名方法,作用和使用方法完全一样 + #= 作用 write的同名方法 def self.create path, &block self.write path, &block end - #= 作用 读xls文件中的内容 + #= 作用 读xls文件中的内容,二维数组 #= 示例 Ld::Excel.read "Sheet1?A1:B2" - #= 示例 Ld::Excel.read "Sheet1?A1:B2+C,D" - #= 示例 Ld::Excel.read "Sheet1?A1:B2+C,D,1,2" - #= 返回 二维数组 def read params, show_location = false case params.class.to_s when 'String' shett_name, scope = params.split('?') @current_sheet = open_sheet shett_name @@ -66,25 +57,19 @@ @current_sheet.read params, params[:location] end end #= 作用 与read方法相同(但会多返回坐标数据) - #= 返回 与read方法相同(但会多返回坐标数据) - #= 示例 与read方法相同(但会多返回坐标数据) def read_with_location params read params, true end - #= 作用 如果xls文件内容有改变,可以刷新(会重新open一次,但这个方法不需要再传入参数了) - #= 参数 无需参数 - #= 返回 Ld::Excel实例 + # 作用 如果xls文件内容有改变,可以刷新(会重新open一次,但这个方法不需要再传入参数了) def flush @excel = Ld::Excel.open @path end - #= 作用 保存数据到一个路径 - #= 返回 如果创建成功,返回Ld::Excel实例.如果创建失败会返回false(不会导致程序终止) - #= 参数1 path 字符串,指定要写的文件路径(最好使用全路径) + # 作用 保存(真正执行io写入操作) def save path puts "Covers a file: #{path}" if File.exist? path @excel.write path puts "Excel save success!" self