一、Ruby如何进行文件操作
file = File.new(testfile, r)
# … process the filefile.close
testfile是想要操作的文件名,”r”说明了文件的操作模式为读取。可以使用”w”表示写入,”rw”表示读写。
最后要记得关闭打开的文件,确保所有被缓冲的数据被写入文件,所有相关的资源被释放。
也可以使用File.open来打开文件,open和new的不同是open可以使用其后的代码块而new方法则返回一个File类的实例。
File.open(testfile, r) do |file|
# … process the fileendopen操作的另一个优点是处理了异常,如果处理一个文件发生错误抛出了
异常的话,那么open操作会自动关闭这个文件,下面是open操作的大致实现:class File
def File.open(*args)
result = f = File.new(*args)
if block_given?begin
result = yield fensure
f.closeendend
return resultendend02对于文件的路径,Ruby会在不同的操作系统间作转换。例如,在Windows下,/ruby/sample/test.rb会被转化为\ruby\sample\test.rb。当你使用字符串表示一个Windows下的文件时,请记住使用反斜线先转义:
二、Ruby如何进行文件操作
file = File.new(“testfile”, “r”) # … process the filefile.closetestfile是想要操作的文件名,”r”说明了文件的操作模式为读取。
可以使用”w”表示写入,”rw”表示读写。 最后要记得关闭打开的文件,确保所有被缓冲的数据被写入文件,所有相关的资源被释放。
也可以使用File.open来打开文件,open和new的不同是open可以使用其后的代码块而new方法则返回一个File类的实例。 File.open(“testfile”, “r”) do |file| # … process the fileendopen操作的另一个优点是处理了异常,如果处理一个文件发生错误抛出了 异常的话,那么open操作会自动关闭这个文件,下面是open操作的大致实现:class Filedef File.open(*args) result = f = File.new(*args) if block_given?beginresult = yield fensure f.closeendendreturn resultendend对于文件的路径,Ruby会在不同的操作系统间作转换。
例如,在Windows下,/ruby/sample/test.rb会被转化为\ruby\sample\test.rb。当你使用字符串表示一个Windows下的文件时,请记住使用反斜线先转义:。
三、在线等,如何用Ruby操作excel文件
ruby操作excel文件使用ruby来操作excel文件首先需要在脚本里包含以下语句require 'win32ole'把win32ole包含进来后,就可以通过和windows下的excel api进行交互来对excel文件进行读写了.打开excel文件,对其中的sheet进行访问:excel = WIN32OLE::new('excel.Application')workbook = excel.Workbooks.Open('c:\examples\spreadsheet.xls')worksheet = workbook.Worksheets(1) #定位到第一个sheetworksheet.Select读取数据:worksheet.Range('a12')['Value'] #读取a12中的数据data = worksheet.Range('a1:c12')['Value'] #将数据读入到一个二维表找到第一处a列的值为空值line = 1while worksheet.Range("a#{line}")['Value'] line=line+1end #line的值为第一处空白行的行数将第一列的值读入到一个数组中line = '1'data = []while worksheet.Range("a#{line}")['Value'] data < worksheet.range("a#{line}:d#{line}")['value']="" line.succ!end将数据写入到excel表格中worksheet.range('e2')['value']="Time.now.strftime" '%d/%m/%y'="" #单个值worksheet.range('a5:c5')['value']="['Test'," '25',="" 'result']="" #将一个数组写入调用宏定义excel.run('sortbynumber')设置背景色worksheet.range('a3:f5').interior['colorindex']="36" #pale="" yellow#="" 将背景色恢复成无色worksheet.range('a3:f5').interior['colorindex']="-4142" #="" xlcolorindexnone="" constant#="" 使用excel="" constant="" 将背景色恢复成无色worksheet.range('a3:f5').interior['colorindex']="ExcelConst::XlColorIndexNone保存workbook.Close(1)#" 或workbook.saveas="" 'myfile.xls'#="" 默认路径是系统定义的"我的文档"结束会话excel.quit一些相对完整的代码片段创建一个excel文件并保存require="" 'win32ole'excel="WIN32OLE.new("excel.application")excel.visible" =="" true="" #="" in="" case="" you="" want="" to="" see="" what="" happensworkbook="excel.workbooks.addworkbook.saveas('c:\examples\spreadsheet1.xls')workbook.close操作excel文件的几个重要元素Excel" ==""> workbook => worksheet => range(cell)我理解的是excel为类名,workbook为一个具体的(excel文件)实例,创建好实例后,worksheet是实例(workbook,工作簿)中的一个工作表,然后可以对工作表中的每个单元格(range(cell))进行具体的读写------------------按照这样操作肯定没有错,不过下面的这些语句又让我有些疑惑excel.workbooks("Mappe1").worksheets("Tabelle1").range("a1").value #读取名为Mappe1的excel文件中工作表名为Tabelle1的a1单元格中的值excel.worksheets("Tabelle1").range("a1").value #作用同第一条语句excel.activeworkbook.activesheet.range("a1").value #作用同第一条语句excel.activesheet.range("a1").value #作用同第一条语句excel.range("a1").value #作用同第一条语句excel可以直接操作所有的属性,默认为当前活跃的工作簿/工作表对单元格的操作:某个单元格: sheet.range("a1")a1到c3的值: sheet.range("a1", "c3") 或 sheet.range("a1:c3")第一列: sheet.range("a:a")第三行: sheet.range("3:3")获得单元格的值:range.text #读取值,返回为字符串格式,如果单元格内为数字,有可能会被截断小数点后的位数sheet.range("a1").text range.value #读取值,数字不会截断sheet.range("a1").value 对单元格设置值sheet.range("a1").value = 1.2345或sheet.range("a1").value = '1.2345'迭代访问:sheet.range("a1:a10").each{|cell|puts cell.value}如果范围是一个矩形,则会按行循环迭代访问sheet.range("a1:b5").each{|cell|puts cell.value}block迭代,并打印出每行的第一个值。
四、没有RailsJava程序员如何使用Ruby
一、引言 Ruby on Rails仅是使Ruby成为伟大的一个因素,这就象EJB仅是Java企业平台的一个组成部分一样。
本文将带你一同讨论,作为一名Java开发者,仅利用Ruby自身所能够实现的功能。 首先让我先澄清一些问题。
第一,这不是一篇关于Ruby on Rails的文章。 如果你想了解Rails,那么每周都出版新的文章和博客来颂扬这种令人激动的框架及其各种特征。
第二,本文并非在预告,在目前出现一些更好的语言、工具和框架(如Ruby on Rails)时,Java平台即将崩溃。因此,本文与最近有关Ruby的主题并无多大关系。
别误会我-在我看来,Rails还是相当绝妙的!它是如此惊人地有力以致明显地影响了Web开发的许多方面。我的唯一看法是,有更多的关于Ruby而不是Rails的东西,特别是当从一个Java开发者的角度来看问题时。
Rails的特长是网站开发;然而,我发现自己在构建网站时并没有经常使用这种技术。 我所构建的大多数网站主要使用了Struts,Tapestry或其它一些技术。
当我利用Ruby时,我仅把它作为开发实践的一部分来使用。因此,在本文中我将讨论,如果你主要是一位Java开发者,那么如何用Ruby来进行开发。
二、初步感觉 Ruby的语法与Java语言存在明显区别。 首先,Ruby没有括号或分号,并且它的类型完全是可选的。
一些人可能说Ruby的语法相当精炼,并且它的目的之一就是用短命令编写简明的代码。 通过比较实现一个功能相对完善的类你就可以体会到这一点,在本文中我们先用Java语言定义它,然后再用Ruby来实现。
本文中我先使用两个类:Word和Definition。在图1的简单类图中,你可以看到两个类共享一些关系: ·一个Word拥有一个同义词(也称作Word实例)集合。
·一个Word还可以拥有一个Definition集合。 ·一个Definition有一个到Word的聚合关联(aggregation association)。
三、在Java语言中的类定义 在列表1中,我用Java语言定义了Word类。请注意,我必须实现我的集合中Definition和同义词的关系确认。
这是必要的,因为在这个示例中,Definition的创建不需要用一个Word关系来初始化,而Word也可以在不使用Definition初始化的情况下定义。
五、如何把txt或word文件按原格式显示在jsp页面
通过ruby代码,将指定的WORD文档转换为HTML: require 'win32ole' module WordToHtml class WordToHtml def initialize(path) @path = path end def convertToHtml(outputPath) word = WIN32OLE.new('word.application') word.Visible = true word.Documents.Count # 打开指定的WORD文档 word.Documents.Open(@path) #选择所有文本 word.Selection.WholeStory #所以可以保存为的文档格式 # wdFormatDocument = 0 (no conversion) # wdFormatTemplate = 1 # wdFormatText = 2 # wdFormatTextLineBreaks = 3 # wdFormatDOSText = 4 # wdFormatDOSTextLineBreaks = 5 # wdFormatRTF = 6 # wdFormatUnicodeText = 7 # it repeats! # wdFormatEncodedText = 7 # wdFormatHTML = 8 # wdFormatWebArchive = 9 # wdFormatFilteredHTML = 10 # wdFormatXML = 11 word.ActiveDocument.SaveAs outputPath, 10 # 关闭文档 word.ActiveDocument.Close # 关闭WORD word.Quit end endend 测试代码: Ruby代码 require 'WordToHtml' word = WordToHtml::WordToHtml.new("d:/test/5.doc") word.convertToHtml("d:/test/5.html") 只有一句,就将WORD转换成为HTML,转换后的HTML与原WORD拥有同样的格式,包括图片(其实这部操作与在WORD中另存为HTML的效果一致)。
Ruby操作WORD主要是应用WIN32OLE,下面是一些常用的操作: Ruby代码 # 写入文本 word.Selection.TypeText("Hello World!\n") # 查找文本 word.Selection.Find.Text = 'search' # 如果找到,则result为 true result = word.Selection.Find.Execute # 删除选择的文本 word.selection.delete # 读取选择的文本 puts word.Selection.Text # 可以通过word.Selection.Start 和 word.Selection.End 来查找选择的区域,上面则是 #通过word.Selection.WholeStory选中整个文档 puts word.Selection.Start puts word.Selection.End #也可以给 word.Selection.Start 和 word.Selection.End设值,指定选择的区域 #如: word.Selection.Start = 100 word.Selection.End = 200 老大 给俺个采纳吧。
六、如何控制Ruby应用程序的大小
Rails使得开发员的工作变得如此简单,以至于很容易让人误以为它能解决一切麻烦,从而没有给予其后台情景足够的注意。
程序员要从一开始就把重点放在扩展性上,而不是完全依赖于Rails。 事实是,Rails(Java 与Ruby on Rails对接)只能解决80%的扩展工作。
而要完成余下的20%则需要考虑下面的五个注意事项: 1。留意你的数据库 数据库查询,尤其是大量的查询会造成性能瓶颈。
例如,在博客上发表评论,如果你不小心的话,ActiveRecord可能会将每个评论都发出一次查询。点击率很高的博客可能会有数以百计的评论,这意味着每个页面会要执行上百次SQL查询,显然这会降低工作效率。
这类问题被称为“n+1查询问题”,是我们要避免的。请务必使用合适的“#include”陈述以便获取查询中的相关对象。
此外,要立刻招引上千个对象。这样可以实现平衡。
Rails消除了数据库中繁重的工作但却不是完全消除。Rails将程序员与SQL隔离开,但是随着网站的发展以及应用程序要扩大的需求,你肯定希望能够手动优化数据库。
要做到这一点,需要明白在里面到底发生了什么。记住在开发模式中记录登录情况,确保SQL查询记录在了登录情况中。
这样,当数据库运行过多查询或者要介入以提高效率的时候,你就会及时获知。 2。
解除长期执行的查询 毫无疑问,我们都希望自己开发出的程序能快速运行。 也就是说,使用这些程序的人不会关心程序的背景。
如果用户发出调整个人资料的图片,视频编码等请求,他们不需要在网络请求发出后等待很久。相反,这些做完以后,发出一个请求,要在后台等待很久才能返回状态更新以及获得页面的更新。
Rails每次都会发出一个请求,如果长时间运行查询则会阻止其他请求的执行。 尽可能减少网络请求的工作,并设置一个排队机制,这样数据库就不会超载。
这样可以让应用程序运行得更快且保持前端网络服务器的开放状态。 类似的观点:许多Rails程序都可以处理文件加载和用户生成的有价值数据。
许多这类应用程序都将这类数据保存在Amazon S3上。 在尝试将视频上传到应用程序上的同时处理图像或上传视频到Amazon S3可以完全占用前端服务器。
这意味着用户的使用速度会减慢。而是个网络服务器可以处理许多流量,但是二十个用户同时上传多个请求意味着其他人的请求会超时或被拒绝。
底线:为提高效率起见,千万不要在处理请求的时候进行图像处理或将文件上传到另一个服务器上的操作。 相反,应该接受上传,将上传成功的信息返回给客户端,然后为其他服务器处理好后台繁重的工作。
3。使用缓冲技巧来保存应用服务器和数据库的加载数据 任何时候你都可以缓冲对于计算或数据库的查询,即便是只有很短的时间,你也可以扩展整个系统的规模。
你可以通过数据库缓冲服务器控制数据库服务器的加载数据。 数据库缓冲服务器可以让你将查询或计算的对象保存在应用服务器中分布的内存中。
总的格局是当你获取或计算对象的时候,可以将其保存数据库缓冲服务器中。那么下次你需要对象的时候,可以首先检查数据库缓冲服务器,只有当它不存在的时候,你才会退回到数据库或重新计算对象,然后将其保存在缓存中。
一个好的程序员要了解各种HTTP协议的各种缓冲功能。使用这些缓冲功能,就可以削减整个堆栈的负荷。
4。监视与测量 监视和测量:服务器,资源使用,应用的性能,页面响应时长。
监测的时候,尽可能地收集信息。如果出现问题,你还拥有信息,性能趋势和文本。
监视工具旨在查出性能上的问题。 如果没有监测和记录,你就不能查看系统。
如果问题出现的时候,你没有足够的数据可以依靠,效率就会减慢。 5。
让方案的执行环境成为产品环境的复制品 许多程序员都在本地开发并测试了应用程序,因而过早部署了产品。随后他们便会遇到问题,因为真实的产品环境与电脑上的不一样。
执行和质量保障环境越接近部署环境越好。执行环境不需要很大,但是至少要运行相同规模的软件。
理想情况下,测试应该与产品数据的副本一起运行,这些数据副本要与部署条件类似。这样做最大的好处是应用程序推送到产品前可以捕捉到错误,从而节约我们的时间和精力。
七、音调怎么打
使用智能ABC输入法可以轻松的打出拼音的声调
首先将输入法切换到智能ABC输入法,然后先按住键盘上的"V"键同时按下数字键"8"
就会弹出所有拼音声调,之后可以使用(Page Up 上页)(Page Down 下页),翻页进行选择自己需要的声调字母。
右击中文输入法工具栏上的软键盘,选“拼音”,从打开的软盘中打。
比如:āáǎà ōóǒò īíǐì ūúǔù ǖǘǚǜ 等这些就可以很快的找到。
使用word软件微软出了一个程序AutoRuby.exe,安装之后就可以有了一个注音工具列,这个注音工具列非常好用,任何字体都可以做成注音国字并存、填注音、填国字等,更好的是用这个工具列做出来的考卷,不管使用者用的Word是什么版本,有没有安装这个工具列都可以正常显示原稿。
紫光输入法中,软键盘中直接有拼音可以选择的,已经标好声调的.
菜单中选“插入”-“特殊符号”-“拼音”,就可以选择带声调的韵母了。
如果要在文字上方加拼音,先选定文字-在菜单中选“格式”-“中文版式”-“拼音指南”,就可以了,不用你输入,自动加
1、如果是给汉字标注拼音使用如下方法:
只需要利用Word的“拼音指南”功能,就能够自动将汉字拼音标注出来。比如,我们输入“沆瀣一气”,要想给“沆瀣”两字上加上拼音,则选择两字,然后单击“格式”菜单的“中文版式”子菜单中的“拼音指南”,在弹出的拼音指南对话框中设置好拼音的对齐方式、字体和字号后按确定,Word就把所定义的汉字标注上了汉语拼音。
2、单纯输入拼音使用如下方法:
如何输入汉语拼音中的音调符号(如:ā、ě、ū、ǔ、ü、á等)
方法一:word软件中,单击“插入”/“符号”在弹出的“符号”对话框的“子集”框中选择“拉丁语扩展-A”然后在中间的大框中选择想要的符号,单击对话框下面的“插入”,再单击“关闭”。
方法二:在“智能ABC 输入法”中文输入状态,输入“V8”,然后在列表中选择即可。(顺便说一下,当在“智能ABC输入法”中文输入状态,输入“V”+“一个0-9的数字”,如“V1”、“V2”…,你会发现许多令人吃惊的玩意。
转载请注明出处51数据库 » ruby操作word