我在Ruby工具箱中搜索一个流行的,支持良好的工具来生成XSLX(Excel 2007及更高版本)文档,但我没有找到任何东西.我也花了很多时间在Google上搜索,但我发现的大部分答案似乎已经过时了.
我需要在我生成的文档中包含内嵌图像.
我正在使用Ruby 1.9.2和Rails 3.
有什么建议?
非常感谢你!
我们需要编写一个带有VBA代码的Excel电子表格; 代码读取并对第一个工作表中的数据执行操作.
用户将接收包含数据但不包含VBA代码的电子表格.我们需要能够将包含数据的电子表格中的数据自动导入包含VBA代码的电子表格中.包含数据的工作表与包含数据的电子表格的工作表具有相同的列格式和数据类型.
理想情况下,您可以打开包含VBA代码的电子表格,显示一个允许用户导航到包含数据的电子表格的UI,单击"确定",然后导入数据.
你会怎么做呢?必须在Excel电子表格中使用VBA完成.
非常感谢.
我刚刚开始潜入VBA,我遇到了一些障碍.
我有一张包含50多列,900多行数据的工作表.我需要重新格式化其中的10个列,并将它们粘贴到新的工作簿中.
如何以编程方式选择book1列中的每个非空单元格,通过某些函数运行它,并将结果放在book2中?
当我注意到Libre Office电子表格显示远远低于2 ^ 53的数字的错误值时,我正在做一些计算以计划我的主筛的改进实现,这是FoxPro中的精确整数计算的限制以及众多其他内部使用C double
(即IEEE 754双)的语言.
一些快速检查显示数字低至2 ^ 50的错误结果.更糟糕的是,这个片状软件没有发出任何超出其操作限制的警告,并且显示的值只是近似值(即使手动输入了正确的值).我猜他们认为什么对于像Excel这样的POS来说足够好然后必须对他们足够好(但是他们应该把它命名为'Guesstimate'而不是'Calc'然后).
无论如何,是否有可能将电子表格放入某种精确模式,至少给出a的精度double
,和/或当某些计算超出其数值能力时,它会显示某种警告?
或者是否有一些其他电子表格适用于甚至电话和烤面包机由64位芯片供电的时代的程序员?
背景:在这种特殊情况下,需要精确度,因为通过比较某些结果列和众所周知的数字列表(如最多2 ^ k的素数,可从OEIS获得)或数字来验证公式的精确性源自检测代码.我们的想法是通过检查它们的可行范围来获得正确的公式 - 最多在2 ^ 32和2 ^ 40之间 - 然后使用这些公式来研究范围最大为2 ^ 64的行为(这是不可能的通过详尽的测试获得完整的图片.
PS:我发现在"电子表格的数字准确性"(pdf)中已经对该问题进行了广泛的分析.似乎gnumeric比其他人更好一点,但更多的是盲人中的独眼人而不是真正的通过集合; 此外,它不适用于Windows,因此需要在我正在开发的平台上启动Linux VM以及...
UPDATE /替代方法
最多2 ^ 49没有问题,因此可以正常工作.这足以准确了解事物.在最终表格中,大数字和高精度结果(在其他地方计算)作为预格式化文本输入(或者更确切地说是导入/粘贴),以便Calc不会使显示屏变脏.仍然可以通过应用VALUE()
函数来引用数字,对于许多内联计算,内部精度非常充足 - 尤其对于图形化.
下图显示了我在其中一条评论中发布的内容,即内部精度高于显示的内容.如果程序没有显示它们,我们如何才能找出实际值是什么?通过添加/减去小值,观察更改,创建和测试关于实际值的关系,假设的舍入行为和显示值的假设来解决问题?真正令人难以置信的是.
我正在为以下任何一项提供奖励:
一种实用的方法,在所见即所得的意义上恢复Calc的理智行为(你看到的是什么内部,或者更确切地说,如果它在里面然后它可以显示)而不降低内部精度并且不用分支整个血腥源树并自己修复它
指向电子表格的指针,其精度高于IEEE 754双倍(最好是任意精度,如GP/PARI,但作为电子表格),是公共域或共享软件; 在线/云计算的东西是可以接受的
第一项的原因有两个:一方面,当电子表格精度低于通用IEEE 754双精度时,这是一种血腥的麻烦,因为这意味着关于该基线水平的准确度/精度/稳定性的经验/知识不会延续.另一方面,如果我们不能相信显示的值是正确的,即使我们确切知道实际值是正确的,也会产生更大的麻烦.
第二个项目的原因很简单,在另一个程序中编写用于高精度计算事物或使用bignums的东西,或者为此目的编辑/编译/运行程序是相当麻烦的.除了笨拙地分成电子表格和一堆脚本或源文件之外,在电子表格内部工作更加自然和方便.
precision spreadsheet floating-accuracy arbitrary-precision libreoffice-calc
我想用Java阅读,编写和创建Open Document格式的Spreadsheets.我希望生成的Java程序在没有安装OpenOffice.org或其他支持ODS的程序的计算机上运行.存在库以访问此格式?
如何在Apache POI的HSSFCell类中旋转文本?
我正在使用Roo gem解析Excel和Excelx文件.但我不知道如何写入这些文件. set_value(row, column, text)
方法不起作用.
码
@oo = Excelx.new('tes.xlsx')
@oo.default_sheet = @oo.sheets.first
def return_column
keywords = ["website", "url"]
keywords.each do |keyword|
1.upto(@oo.last_column) do |n|
data = @oo.cell(1, n)
return n if data.downcase=~/#{keyword}/i
end
end
end
def return_rows
n = return_n
2.upto(@oo.last_row) do |row|
data = @oo.cell(row, n)
stack << data
end
end
def appender
@oo.set_value(1,11, "hey")
end
appender
Run Code Online (Sandbox Code Playgroud)
我得到的错误信息是
/.rvm/gems/ruby-1.8.7-p352/gems/roo-1.10.1/lib/roo/generic_spreadsheet.rb:441:in `method_missing': private method `set_value' called for #<Excelx:0x101221f08> (NoMethodError)
from /Users/bhushan/.rvm/gems/ruby-1.8.7-p352/gems/roo-1.10.1/lib/roo/excelx.rb:168:in `method_missing'
from parser.rb:32:in `appender'
from parser.rb:35
Run Code Online (Sandbox Code Playgroud) 我想在视频节目列表中搜索特定的电影标题,搜索MATCH,并使用Index返回其描述.我知道这可以通过A列过滤器中的文本搜索来完成,但我想用公式来做.
**编辑:我认为这个问题的第一个版本让我觉得我只有几部电影和头衔.这些统计信息可能有所帮助
Column A: 2,000 Total Video Titles (movie titles can appear more than once)
Column E: 50 Movie Titles
Column F: 50 Movie Descriptions
Run Code Online (Sandbox Code Playgroud)
例:
Video titles (2000) Movie Titles Movie Description
Spiderman Review and BTS Spiderman Spiderman_description
Dark Knight clips Star Wars Star Wars_description
Fun Fact Star Wars Dark Knight Dark Night_description
Why I love Dark Knight
Dark Knight highlight
Always watch dark knight alone
Run Code Online (Sandbox Code Playgroud)
.1,996更多视频
在另外两列中,我有标题和说明:
=if(isnumber(find("Spiderman",A2)),index(F2:F4,match("Spiderman",E2:E4,0)))
Run Code Online (Sandbox Code Playgroud)
......还有46部电影和描述
编辑:添加更多视频标题:
{Index($F$2:$F$4,match(TRUE,isnumber(find($E$2:$E$4,A2)),0))}
Run Code Online (Sandbox Code Playgroud)
在B2中,我可以输入
Column A: 2,000 Total Video Titles …
Run Code Online (Sandbox Code Playgroud) 我有一个Google Docs SpreadSheet,其中A列是日期(A1:2013-11-22,A2:2013-11-23,A3:2013-11-24等).我想自动突出显示 - 为行设置背景颜色,A列是今天的日期.每天都要突出显示不同的行.
我希望我需要一个脚本,恕我直言,这不可能在Google Docs SpreadSheet中使用条件格式化完成.
知道怎么做吗?非常感谢!
我会在一个网络中滑动所有的细胞,但我不解决.我的代码是:
SpreadsheetService service = new SpreadsheetService("MyApp");
try{
URL SPREADSHEET_URL = new URL("https://spreadsheets.google.com/feeds/worksheets/1-8ATDLTqmzo4QCQijeJ_swZAcmsh/public/full");
SpreadsheetFeed feed = service.getFeed(SPREADSHEET_URL,SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
if (spreadsheets.size() == 0){
System.out.println("NO SPREADSHEET");
}
for(int i = 0; i<spreadsheets.size(); i++){
System.out.println(spreadsheets.get(i).getTitle().getPlainText());
}
List<WorksheetEntry> worksheets = spreadsheets.get(0).getWorksheets();
for (int j=0; j<worksheets.size(); j++){
System.out.println(worksheets.get(j).getTitle().getPlainText());
URL listFeedUrl = worksheets.get(j).getListFeedUrl();
ListFeed listFeed = service.getFeed(listFeedUrl,ListFeed.class);
}
Run Code Online (Sandbox Code Playgroud)
它在最后一行报告的错误:
ListFeed listFeed = service.getFeed(listFeedUrl,ListFeed.class);
Run Code Online (Sandbox Code Playgroud)
当我编译我的代码有这个错误:
Exception in thread "main" java.lang.ClassCastException: com.google.gdata.data.TextContent cannot be cast to com.google.gdata.data.OutOfLineContent
at com.google.gdata.data.spreadsheet.WorksheetEntry.getFeedUrlString(WorksheetEntry.java:129)
at com.google.gdata.data.spreadsheet.WorksheetEntry.getListFeedUrl(WorksheetEntry.java:98)
at it.unical.mat.google_data.MySpreadsheetIntegration.main(MySpreadsheetIntegration.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) …
Run Code Online (Sandbox Code Playgroud)