在电子表格中使用图表

From Apache OpenOffice Wiki
< ZH/Documentation/BASIC Guide
Revision as of 13:59, 6 July 2018 by Sancho (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
doc OOo
Book.png


电子表格中的图表可以显示电子表格中指定单元格区域内的数据。 对电子表格中的数据所做的任何修改都将在指定的图表中反映出来。 以下示例说明了如何为电子表格文档中的某些单元格区域创建指定的图表:

Dim Doc As Object
Dim Charts As Object
Dim Chart as Object
Dim Rect As New com.sun.star.awt.Rectangle
Dim RangeAddress(0) As New com.sun.star.table.CellRangeAddress
 
Doc = StarDesktop.CurrentComponent
Charts = Doc.Sheets(0).Charts
 
Rect.X = 8000
Rect.Y = 1000
Rect.Width = 10000
Rect.Height = 7000
RangeAddress(0).Sheet = 0
RangeAddress(0).StartColumn = 0 
RangeAddress(0).StartRow = 0
RangeAddress(0).EndColumn = 2
RangeAddress(0).EndRow = 12
 
Charts.addNewByName("MyChart", Rect, RangeAddress(), True, True)

尽管本示例中使用的代码看起来有点复杂,但主要过程只有三行。第一行创建 Doc 文档变量,它引用当前的电子表格文档(Doc 行 = StarDesktop.CurrentComponent)。然后,本示例中使用的代码会创建一个列表,其中包含第一个电子表格的所有图表(Charts 行 = Doc.Sheets(0).Charts)。最后,使用 addNewByName 方法在此列表中添加一个新图表(最后一行)。这时,用户便可看到该新图表了。变量 RangeAddress 确定将在图表中显示其数据的指定单元格区域。变量 Rect 确定电子表格文档的第一个工作表中的图表位置和大小。

上面的示例创建了一个条形图。如果需要不同类型的图表,则必须显式替换条形图:

Chart = Charts.getByName("MyChart").embeddedObject
Chart.Diagram = Chart.createInstance("com.sun.star.chart.LineDiagram")

第一行定义了相应的图表对象。第二行将当前图表替换为新图表,本示例中为折线图。

Documentation note.png 在 Microsoft Excel 中,作为独立页插入到 Microsoft Excel 文档中的图表与嵌入到表格页中的图表是有区别的。因此,这两种图表的访问方法也不同。而在 Apache OpenOffice Basic 中并没有这种区别,因为 Apache OpenOffice Calc 中的图表始终是作为表格页的嵌入对象创建的。将始终使用关联的 Sheet 对象的 Charts 列表来访问这些图表。
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools