2013-10-30 39 views
1

我想在as3xls的帮助下从xls文件获取数据。ActionScript。无法从本地xls文件获取数据

private var file:FileReference = new FileReference(); 
private var sheet:Sheet; 
private var loadedFile:ByteArray; 

private function sendLogistImport():void { 
    file.addEventListener(Event.SELECT, onFileSelect); 
    file.browse(); 
    file.addEventListener(Event.COMPLETE, 
     function (e:Event):void { 
      loadedFile = e.currentTarget.data as ByteArray; 
      var excelFile:ExcelFile = new ExcelFile(); 
      excelFile.loadFromByteArray(loadedFile);     
      sheet = excelFile.sheets[0]; 
      Alert.show(sheet.getCell(1,0).value); 
     } 
    ); 
} 
private function onFileSelect(e:Event):void { 
    file.load(); 
} 

,但我得到的excelFile.loadFromByteArray(loadedFile)这个错误;

Error: Error #2030: End of file was encountered. 
    at flash.utils::ByteArray/readUTFBytes() 
    at com.as3xls.xls::ExcelFile/boundsheet()[/Users/manuelwudka-robles/Documents/Flex Builder 3/as3xls/com/as3xls/xls/ExcelFile.as:633] 
    at Function/http://adobe.com/AS3/2006/builtin::call() 
    at com.as3xls.xls::ExcelFile/loadFromByteArray()[/Users/manuelwudka-robles/Documents/Flex Builder 3/as3xls/com/as3xls/xls/ExcelFile.as:309] 
    at Function/<anonymous>()[D:\logist.as:244] 

这是我的XLS文件的截图:

enter image description here

这里是我的XLS文件: http://www.filedropper.com/template_1

请告诉我,这里是我的错?

+0

这不是'.xls'文件,它是一个截图。无论如何,这个错误对于发生的事情非常清楚,代码试图读到文件末尾,所以这里的选项是它是库中的一个错误,您的文件结构不受支持(库最后更新将近6年前),或者你的文件结构不正确。 – ndm

+0

我认为我的xls文件一切正常。我用旧的Excel 2003格式创建它。我在主文本中添加了上面的链接到xls文件,所以你可以看看他。 – zigfridus

回答

1

我用各种XLS格式测试过它,它不能读取它们中的任何一个。从the comments来看,对各种XLS格式的支持相当糟糕。

尝试使用不同的XLS格式,也许你会发现一个可行的方法,除此之外,恐怕我无法帮到你,修复库中的问题是一件可怕的任务,我不会去碰它与一个十英尺的杆:http://www.openoffice.org/sc/excelfileformat.pdf

还检查了一些在网络上的分叉,例如https://github.com/djw/as3xls,他们可能有一些修复实施,让你去。

如果没有为您工作,那么我会建议寻找另一个库,和/或甚至使用完全不同的文件格式(如CSV),如果这是一个选项。

+0

你能否给我推荐另一个使用XLS格式的库?使用CSV格式对用户来说很难。 – zigfridus

+0

@zigfridus如果我知道任何我会提及他们,对不起,但检查我更新的答案,我已经包含一个链接到叉可能适用于你(现在不能测试)。 – ndm

+0

谢谢你的建议。我会试试这个图书馆,然后我会在这里通知你结果。 – zigfridus

相关问题