Open source Smalltalk中是否有用于生产级工作的开源电子表格实现?

Open source Smalltalk中是否有用于生产级工作的开源电子表格实现?,open-source,spreadsheet,smalltalk,Open Source,Spreadsheet,Smalltalk,如果没有与此描述匹配的内容,我能得到的最接近的内容是什么?我更喜欢不受行和列的限制,也不喜欢对象浏览器和检查器的可见性 我不知道你想解决什么问题 smalltalk环境是一个比电子表格功能强大得多的建模环境,更易于用于复杂模型。您可能需要一个基于行和列的查看器。Glamour提供了轻松构建浏览器的解决方案。它是驼鹿的一部分 电子表格对于小型模型的原型制作很好,但在生产环境中有严重的缺点:可测试性、多用户支持、性能 在生产环境中,更经常使用更简单的网格 在与专家进行几个小时的配对编程时,应该学

如果没有与此描述匹配的内容,我能得到的最接近的内容是什么?

我更喜欢不受行和列的限制,也不喜欢对象浏览器和检查器的可见性

我不知道你想解决什么问题

  • smalltalk环境是一个比电子表格功能强大得多的建模环境,更易于用于复杂模型。您可能需要一个基于行和列的查看器。Glamour提供了轻松构建浏览器的解决方案。它是驼鹿的一部分
  • 电子表格对于小型模型的原型制作很好,但在生产环境中有严重的缺点:可测试性、多用户支持、性能
  • 在生产环境中,更经常使用更简单的网格
在与专家进行几个小时的配对编程时,应该学习smalltalk环境。使用它的方式与使用诸如Eclipse、VisualStudio、XCode或Delphi之类的IDE非常不同


如果您想筛选大量数据,并找到感兴趣的对象,Moose在可视化数据方面提供了很多帮助。它专注于软件再工程,但例如Mondrian同样适用于财务数据。

似乎这个问题的答案是“否”。

这里存储了Hans Martin Mosner的一个开始…
.
在法罗你可以做这个

sheet := SpreadsheetGridMorph new openInWindow.
sheet cellStringAt: 1@1 put: '10'.
sheet cellStringAt: 1@2 put: '20'.
sheet cellStringAt: 1@3 put: '=A1+A2'.
sheet cellStringAt: 1@3. "-->30"
选项1)在Pharo 1.4或2.0中

我使用SGrid(也称为gridmorp)显示了数百行,没有出现重大性能问题

安装

菜单->工具->配置浏览器->MorphicGrid(安装)

示例

| matrix grid rows cols |

rows := 2.
cols := 3.
matrix := Matrix rows: rows columns: cols.
1 to: rows do: [ : r |  
1 to: cols do: [ : c |
    matrix at: r at: c put: SmallInteger maxVal atRandom ] ].
grid := (GridMorph 
    from: matrix
    performing: {
        'Heading 1' -> #asNumber .
        'Heading 2' -> #asNumber .
        'Heading 3' -> #asNumber }) 
    title: 'GridMorph Example'.
grid openInWorld.
SimpleGridExample new open
ClassListExample new openOn: Collection.
SkSheet example "Move the red circle around"
要与网格交互(就像在任何单元格上使用右键菜单),您必须解决与引入SmalltalkEditor类相关的问题。 以下代码使用GridMorp和flickr API打开一个表格图片查看器(flickr API的使用基于):

选项2)在Pharo 1.4或2.0中

有一个类MorphTreeMorph,它包含一个注释和几个示例网格

示例

| matrix grid rows cols |

rows := 2.
cols := 3.
matrix := Matrix rows: rows columns: cols.
1 to: rows do: [ : r |  
1 to: cols do: [ : c |
    matrix at: r at: c put: SmallInteger maxVal atRandom ] ].
grid := (GridMorph 
    from: matrix
    performing: {
        'Heading 1' -> #asNumber .
        'Heading 2' -> #asNumber .
        'Heading 3' -> #asNumber }) 
    title: 'GridMorph Example'.
grid openInWorld.
SimpleGridExample new open
ClassListExample new openOn: Collection.
SkSheet example "Move the red circle around"
选项3)在吱吱声中:

有一个名为的项目,它使用eToys,您可以从以下位置访问其代码:

安装

Installer squeak    
    project: 'etoysinbox';
    install: 'Skeleton'.
示例

| matrix grid rows cols |

rows := 2.
cols := 3.
matrix := Matrix rows: rows columns: cols.
1 to: rows do: [ : r |  
1 to: cols do: [ : c |
    matrix at: r at: c put: SmallInteger maxVal atRandom ] ].
grid := (GridMorph 
    from: matrix
    performing: {
        'Heading 1' -> #asNumber .
        'Heading 2' -> #asNumber .
        'Heading 3' -> #asNumber }) 
    title: 'GridMorph Example'.
grid openInWorld.
SimpleGridExample new open
ClassListExample new openOn: Collection.
SkSheet example "Move the red circle around"

我没有用过它,但它似乎有基本的公式支持。

用Smalltalk实现电子表格会有什么好处?我不明白这个问题。我想Alexandre是想问你为什么想要(或任何人)做这样的事情。我想你们两个有一些共同的背景,我不知道。我仍然不明白这个问题。好吧,你不喜欢UI——你用什么作为规则、依赖关系和计算引擎?尽管我承认我对你喜欢通过对象浏览器和检查器查看数据感到困惑——到目前为止,我用过的那些浏览器和检查器将我的数据集变成了难以理解的乱七八糟的东西。您通常使用哪一种?Pharo的默认探索模式,主要是Seaside one clicks。我发现最重要的技能是找出要探索的对象。这需要时间。电子表格是显示和处理大量财务或会计数据的标准工具。在我看来,你似乎没有使用smalltalk图像来做这类工作(特别是你关于找到一个要探索的对象的评论-通常,在使用电子表格时,你不是在寻找一个对象,而是在寻找数千个对象以及它们之间的关系),我主要使用的数据集是几十万到几千万个对象。这些电子表格不太好用。Glamour有一个表格表示法