0
由于某些原因,并非所有Excel文档都可以从我的电脑上传。在一半的情况下,从一个try-catch块获得错误“.. no !! error:”..什么是错误的?上传Excel文档时出现问题。怎么了?
private function importXLS(e:MouseEvent):void {
fr = new FileReference();
var fileFilter:FileFilter = new FileFilter("Excel (.xls)", "*.xls");
fr.addEventListener(Event.SELECT,selectXLS);
fr.browse([fileFilter]);
statusLabel.text = "selecting...";
}
private function selectXLS(e:Event):void {
fr = FileReference(e.target);
fr.addEventListener(Event.COMPLETE, fileIn);
fr.load();
statusLabel.text = "loading...";
}
private function fileIn(e:Event):void {
ba = new ByteArray();
ba = fr.data;
xls = new ExcelFile();
var flag:Boolean = false;
try{
xls.loadFromByteArray(ba);
flag = true;
}catch(error:Error){
Alert.show("no!! error: " + error.getStackTrace());
}
if (flag == true) {
statusLabel.text = "XlS loaded.";
} else {
statusLabel.text = "XlS didn't load.";
}
}
可能是因为很多人认为如果csv文件或包含HTML标记的文件被赋予了.xls的扩展名,它们会自动转换为Excel文件。尝试检查这些文件的实际内容,看看它们是否真的是Excel文件,或者其他伪装成Excel文件的文件。 – 2011-04-09 19:26:28
我创建了这些文件,或者他们创建了我的朋友。他们确实是Excel文件 – M1sha 2011-04-09 19:49:57
error.getStackTrace()的内容是什么,应该给loadFromByteArray中的可疑行号和任何后续的方法调用,发生什么情况时会发生什么你运行在调试模式下,它遇到了这个错误,它看起来像它有正确的值(某种长度的字节数组)。需要更多的调试信息。 – shaunhusain 2011-04-09 21:57:28