从.xlsx文件中提取Flex提取的维度

时间:2012-08-01 08:30:56

标签: actionscript-3 flex xlsx

我尝试在Flex应用程序中读取.xlsx文件。 现在我试着确定我的信息在哪里。因此,我从.xlsx文件中获取了XML数据:

var x:XML = <worksheet mc:Ignorable="x14ac"
  xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
  xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" 
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">
     <dimension ref="A1:F77"/>
</worksheet>;

现在我想获得维度属性“ref”。因此,我使用以下代码:

var test:Object = x.dimension;
var value:Object = x.dimension.@ref;

如果我将架构表达式留在工作表中,两者都可以完美运行。如何通过包含模式获得正确的结果?有没有一种很好的方法来获取没有模式的XML?

坦克为你提供帮助。

1 个答案:

答案 0 :(得分:3)

这是因为维度位于默认命名空间xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"

因此,您可以简单地获取xml的默认命名空间并使用它:

var ns:Namespace = x.namespace();
var value:Object=x.ns::dimension.@ref;

或者自己创建并以相同的方式使用它:

var ns2:Namespace=new Namespace("http://schemas.openxmlformats.org/spreadsheetml/2006/main");
var value2:Object=x.ns2::dimension.@ref;

这里有关于wonderfl的现场测试: http://wonderfl.net/c/7XwU