AS3生成Excel的文档

通过对 http://code.google.com/p/as3xls/ 这个类库的修改,目前可以支持多sheet和中文以及长文本。这个类库是2010的时候老单研究了BIFF的协议修改,不过我们项目最终没有采用,而是服务器端生成。

修改后的类库源码下载

生成文件的示例代码:

var xls:ExcelFile = new ExcelFile();
var s:Sheet = new Sheet();
s.name = "中文";

var rows:uint = 100;
var cols:uint = 100;

s.resize(rows, cols);
for (var i:uint=0; i for (var j:uint=0; j s.setCell(i, j, "测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦测试中文中文哦adsfasdfasdfa测试中文中文哦" + i + j);
}
}
xls.sheets.addItem(s);

var s1:Sheet = new Sheet();
s1.resize(2, 2);
s1.setCell(0, 0, "0,0");
s1.setCell(0, 1, "0,1");
s1.setCell(1, 0, "1,0");
s1.setCell(1, 1, "1,1");
xls.sheets.addItem(s1);

var b:ByteArray = xls.saveToByteArray();

FileUtils.save(b, "test.xls");