zoukankan      html  css  js  c++  java
  • 用Ruby读取Excel文件

    地址:

    http://www.taobaotest.com/blogs/qa?bid=3377

    http://hlee.iteye.com/blog/356460

     

    操作excel 最好的方式是使用vba进行提供的丰富大量的接口来操作excel ,但是如何使用ruby操作excel?

    1.通常做法,既然是微软提供的软件,就需要查阅,微软提供的API了,需要包含win32,在ruby,前加入,require 'win32ole'

    例如:

    require 'win32ole'

    myexcel = WIN32OLE.new("excel.application")

    myexcel.visible=true

    mywbk = myexcel.Workbooks.Add()

    mywst= mywbk.Worksheets(1)

    mywst.Range('A1:D1').value =['1','2','3','4']

    将['1','2','3','4']写入EXCEL的'A1:D1'区域

    2.使用纯ruby 读写excel

    @file_task_name ="e:/test.xls"

    @fo=File.open(@file_task_name,"r")

    # def total_lines @lines = 0 @fo.each_with_index {|@item,@lines|} puts @lines+1 @lines= @lines+1 File.open(@file_task_name) do |file| #file.each_line{|line| puts line} file.close();

    这里我推荐一款,操作excel的第三方工具

    1.Parseexcel插件(主要是excel读取)

    安装方式:gem install parseexcel

    require 'rubygems' require 'spreadsheet/excel'

    具体操作检测提供帮助文档

    #从命令行输入要打开的excel文件名 workbook = Spreadsheet::Parseexcel.parse"e:/test.xls")#得到第一个表单

    worksheet = workbook.worksheet(0) #遍历行

    worksheet.each { |row| j=0 i=0 if row != nil #遍历该行非空单元格

    row.each { |cell| if cell != nil #取得单元格内容为string类型

    contents = cell.to_s('latin1') puts "Row: #{j}

    Cell: #{i}> #{contents}"

    end i = i+1

    }

    end

    }

    2.spreadsheet插件(主要是excel生成写入数据)

    安装方式:gem install spreadsheet

    require ' parseexcel/parser'

    具体操作检测提供帮助文档

  • 相关阅读:
    My SqL 常用命令
    RGB颜色查询对照表
    Android 对话框(Dialog)大全
    【转】Android一些知识点汇总
    Google Maps API v2密钥申请
    蓝牙中文API文档
    IOS 电商类app 第一版架构 改进
    ios 开发小记 (四)
    ios 深度复制 copy & mutablecopy
    CCS绘制成的三角形箭头
  • 原文地址:https://www.cnblogs.com/qinyan20/p/4022181.html
Copyright © 2011-2022 走看看