0 0

怎样用Ruby操作excel来删除一个sheet或者把一个sheet内容清空!20

使用ruby进行操作excel时,完全可以实现给excel添加sheet和读写数据,但是就是不知道怎样删除sheet或者清空一个sheet
的内容。。。。

我把获取excel信息的代码贴上。

  @excel = WIN32OLE.new("excel.application")
  @excel.Visible = false
  # 打开需要操作的excel文档 
  m_wbsObj = @excel.Workbooks
  @workbook = m_wbsObj.Open("D:\SIT CHECK.xls")
  @sheet1 = @workbook.Worksheets("检查项目")

怎样删除这个@sheet1或者清空@sheet1里面的内容呢?是调用什么方法呀。。。。。


问题补充:<div class="quote_title">夜鸣猪 写道</div><div class="quote_div">那就试试 <br /><pre name="code" class="ruby">@sheet1.Delete</pre> <br /></div> <br /> <br />不好意思,我调用了Delete这个方法但是没有任何作用,不知道是为什么?

问题补充:<div class="quote_title">夜鸣猪 写道</div><div class="quote_div">所以,说这个方法是存在的? <br />那就需要你把控制台操作记录和错误提示拿出来,才知道问题在那了。因为,不起作用有很多情况</div> <br />请问你用这个Delete方法测试通过了没有啊,我没有抓取到任何异常啊。 <br />请帮忙呀。再次感谢。
2011年4月29日 17:37

3个答案 按时间排序 按投票排序

0 0

今天,我回来测试了一下,很快就通过了如下

C:\Documents and Settings\Administrator>irb
irb(main):001:0> require 'win32ole'
=> true
irb(main):002:0> el = WIN32OLE.new('Excel.Application')
=> #<WIN32OLE:0xedd3e0>
irb(main):004:0> el.visible = TRUE
=> true
irb(main):006:0> bk = el.Workbooks.Add()
=> #<WIN32OLE:0xf42ee8>
irb(main):008:0> sheet = bk.Worksheets.Add
=> #<WIN32OLE:0xe81c88>
irb(main):009:0> sheet.Name = "first"
=> "first"
irb(main):010:0> bk.Worksheets('first').delete
=> true
irb(main):011:0> sheet1 = bk.Worksheets.Add
=> #<WIN32OLE:0xf0d200>
irb(main):012:0> sheet1.Name = 'second'
=> "second"
irb(main):013:0> bk.Worksheets('second').Delete
=> true
irb(main):014:0> sheet2 = bk.Worksheets.Add
=> #<WIN32OLE:0xecf088>
irb(main):015:0> sheet2.Name = 'third'
=> "third"
irb(main):016:0> sheet2.Delete
=> true


然后,觉着你的问题不应该这么容易,就又试了试,终于发现问题所在,如下
C:\Documents and Settings\Administrator>irb
irb(main):001:0> require 'win32ole'
=> true
irb(main):002:0> excel = WIN32OLE::new('Excel.Application')
=> #<WIN32OLE:0xe7fab0>


irb(main):018:0> wb = excel.Workbooks.Open('d:\abc.xls')
=> #<WIN32OLE:0xdb5c88>
irb(main):019:0> wb.Worksheets(1).delete
=> false
irb(main):021:0> excel.visible = true
=> true
irb(main):022:0> wb.Worksheets(1).delete
=> true
irb(main):023:0> excel.DisplayAlerts = false
=> false
irb(main):024:0> wb.Worksheets(1).delete
=> true
irb(main):025:0> exit



代码说明问题

我打开一个已经存在的excel,试图去删除第一个sheet结果返回false,我就打开visible,发现删除的时候有个提示删除确认,我点确认就删了。然后找到
引用
excel.DisplayAlerts = false
就不用visible了

这个问题吧,还真不好说清楚。


2011年5月05日 10:10
0 0

所以,说这个方法是存在的?
那就需要你把控制台操作记录和错误提示拿出来,才知道问题在那了。因为,不起作用有很多情况

2011年5月03日 11:41
0 0

那就试试

@sheet1.Delete

2011年4月29日 22:09

相关推荐

    ruby对excel的操作 详细操作

    在Ruby中操作Excel文件主要是通过`win32ole`库来实现的,这个库允许Ruby程序与Windows操作系统中的Office应用程序进行交互,如Microsoft Excel。以下是关于如何使用Ruby操作Excel的详细步骤和知识点: 1. **引入win...

    用ruby读excel文件生成xml文件

    标题 "用ruby读excel文件生成xml文件" 描述的是一项技术任务,即使用Ruby编程语言来处理Excel文件,并将其内容转换成XML格式。这在数据迁移、格式转换或与不支持Excel格式的应用程序进行数据交换时非常有用。Ruby库...

    ruby代码分享——excel应用

    从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出以下详细的IT知识点,主要聚焦于使用Ruby语言对Excel文件进行操作。 ### 使用Ruby操作Excel的基础知识点 #### 1. 引入win32ole库 在Ruby中操作Excel,...

    ruby下将txt文件内容写入excel

    使用RUBY语言将TXT文件中的内容写入到excel中!

    ruby文件操作,简单ppt

    在 Ruby 中,可以使用 `File.new` 方法来创建一个新的文件对象。例如: ```ruby file = File.new(File.join("F:/ruby", "aaa.txt"), "w+") ``` 这里有两个重要的参数需要关注: - **第一个参数**:表示文件的路径...

    Ruby源代码-读写excel.rb

    Ruby源代码,读写excel

    不安装office 用ruby直接操作excel文件

    所以调查了一下,有很多日本人做好的gem(spreadsheet.gem)可以直接拿来用。也就可以不安装office就可以对excel进行操作了。当然数据的录入也可以安装免费软件openoffice对excel进行界面操作。

    Ruby Reference Sheet.pdf

    - **版本查询:** 要查看当前安装的Ruby版本,可以在终端输入`ruby --version`,或者在Ruby脚本中通过`RUBY_VERSION`来获取。 #### 三、注释与表达式 - **单行注释:** 在Ruby中,以`#`开头的为单行注释。 - **...

    excel lib ror ruby

    综上所述,使用"excel lib ror ruby"意味着你需要了解如何在Ruby on Rails环境中通过`Spreadsheet`、`Win32OLE`或者`ruby-ole`库来处理Excel文件。这些库提供了丰富的API,可以满足各种需求,从简单的数据导入导出到...

    ruby操作flash窗口

    在给定的场景中,"ruby操作flash窗口"主要涉及的是通过Ruby的Selenium WebDriver库来实现对Flash内容的自动化测试。Selenium WebDriver是一个强大的自动化测试工具,它允许我们控制浏览器并模拟用户行为,从而测试...

    ruby 目录操作详细介绍

    例如,可以使用`Dir.new`或`Dir::mkdir`来创建一个新的目录,如果没有指定完整的路径,它会默认在当前工作目录下创建。`FileUtils`模块中的`mkdir`方法也是一个实用的工具,它可以创建多级目录。例如: ```ruby Dir....

    ruby对excel详细操作-读取、统计、写入

    ruby对excel中的数据进行读取,统计进行计算,重新写入另一个excel表格。存在读取excel数据,进行数量统计,分隔符操作,hash函数统计,取几位小数以及百分比。windows电脑可用,无需安装依赖包,直接使用ruby语言...

    使用Ruby来处理文本的教程

    例如,连接字符串可以通过使用乘法运算符`*`来实现字符串的重复,使用加号`+`来拼接字符串,或者使用`操作符来追加字符串。 ```ruby str = "The world for a horse" puts str * 2 # 输出: The world for a horseThe...

    Ruby-CombinePDF一个合并PDF文件的纯ruby库

    1. **创建PDF文档**:你可以从头开始创建一个新的PDF文件,或者通过读取现有PDF文件来初始化一个新的CombinePDF对象。 2. **添加页面**:通过`add_page`方法,可以将一个PDF页面添加到现有的PDF文档中。这可以是来自...

    Ruby-一个Ruby的例子

    在这个"Ruby-一个Ruby的例子"中,我们将探讨Ruby的基础知识,以及如何通过具体的代码示例来理解其核心特性。 首先,Ruby的面向对象特性是其核心之一。在Ruby中,一切都是对象,包括基本数据类型如数字、字符串和...

    用JRuby读取Excel文件

    在提供的压缩包文件中,"jxl.rb"可能是一个示例脚本,展示了如何使用JRuby和JExcelApi(另一个处理Excel的Java库)来读取Excel文件。而"jar"可能是指的包含Apache POI或者其他相关Java库的JAR文件。 总结起来,"用...

    Ruby-CassandraDriverApacheCassandra的一个纯Ruby驱动器

    标题中的“Ruby-CassandraDriver”指的是一个专门为Apache Cassandra设计的Ruby编程语言的客户端库。Apache Cassandra是一个分布式的、高可用的、面向列的NoSQL数据库系统,常用于处理大规模的数据存储和检索。Ruby-...

    Ruby-orderquery在一个查询中查找上一个下一个ActiveRecords

    在Ruby on Rails框架中,ActiveRecord是用于数据库交互的核心组件,它允许开发者使用简洁的语法进行数据查询和操作。在数据库记录中,有时我们需要找出某条记录的前一条或后一条记录,例如在实现分页功能或者上下文...

    Ruby-Mail一个Ruby邮件库

    Ruby-Mail是一个强大的Ruby库,专为处理电子邮件而设计。这个库使得在Ruby应用程序中创建、解析、发送和接收邮件变得轻而易举。Mail库提供了丰富的功能,包括解析MIME(多用途互联网邮件扩展)格式的邮件,支持附件...

    [转] ruby学习一个综合小练习

    标题中的“ruby学习一个综合小练习”表明这是一个关于Ruby编程语言的学习资源,可能是通过一个实际的小项目或练习来帮助学习者提升对Ruby的理解。描述中提到的“博文链接”指向了一个特定的博客文章,虽然没有给出...

Global site tag (gtag.js) - Google Analytics