as3xls导出Excel,解决导出Excel中文乱码问题
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
layout="vertical" width="100%" height="100%"
creationComplete="initData();">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.as3xls.xls.Cell;
import com.as3xls.xls.ExcelFile;
import com.as3xls.xls.Sheet;
import mx.collections.ArrayCollection;
import mx.collections.XMLListCollection;
import mx.controls.Alert;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.managers.PopUpManager;
private var xls:Class;
private var sheet:Sheet;
[Bindable]
private var fields:Array = new Array();
//初始化数据
private function initData():void{
var xml:XML=new XML(<data>
<item name="qiyy" sex="男" age="23" phone="13032135708"/>
<item name="zhangmm" sex="man" age="23" phone="13032135708"/>
<item name="yaox" sex="man" age="23" phone="13032135708"/>
</data>);
rebateByItemDG.dataProvider=xml.item;
}
private function setExportExcel():void{
//这里要判断是XML格式的还是ArrayCollection格式的
var arrC:ArrayCollection=new ArrayCollection();
for each(var x:XML in rebateByItemDG.dataProvider){
var obj:Object=new Object();
obj.name=x.@name;
obj.sex=x.@sex;
obj.age=x.@age;
obj.phone=x.@phone;
arrC.addItem(obj);
}
//导出Excel
exportToExcel(arrC);
}
//导出Excel
private function exportToExcel(arrC:ArrayCollection):void{
var dataProviderCollection:ArrayCollection=new ArrayCollection();
dataProviderCollection=arrC;
sheet = new Sheet();
var rowCount:int = dataProviderCollection.length;
sheet.resize(rowCount + 1,rebateByItemDG.columnCount);
var columns:Array = rebateByItemDG.columns;
var i:int = 0;
for each (var field:DataGridColumn in columns){
fields.push(field.dataField.toString());
sheet.setCell(0,i,columns[i].headerText);
i++;
}
for(var r:int=0; r < rowCount; r++)
{
var record:Object = dataProviderCollection.getItemAt(r);
insertRecordInSheet(r+1,sheet,record);
}
var xls:ExcelFile = new ExcelFile();
xls.sheets.addItem(sheet);
var bytes: ByteArray = xls.saveToByteArray();
var fr:FileReference = new FileReference();
fr.save(bytes,"SampleExport.xls");
}
private function insertRecordInSheet(row:int,sheet:Sheet,record:Object):void{
var colCount:int = rebateByItemDG.columnCount;
for(var c:int; c < colCount; c++)
{
var i:int = 0;
for each(var field:String in fields){
for each (var value:String in record){
//xml数据
if (record[field.split("@")[1]].toString() == value) {
sheet.setCell(row,i,value);
}
}
i++;
}
}
}
//关闭窗体
private function closewindow():void{
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
<s:VGroup>
<mx:DataGrid id="rebateByItemDG" includeInLayout="true" visible="true" width="100%" editable="true">
<mx:columns>
<mx:DataGridColumn headerText="姓名" dataField="@name"/>
<mx:DataGridColumn headerText="性别" dataField="@sex"/>
<mx:DataGridColumn headerText="年龄" dataField="@age"/>
<mx:DataGridColumn headerText="电话" dataField="@phone"/>
</mx:columns>
</mx:DataGrid>
<mx:Button label="Export To Excel" click="setExportExcel();"/>
<mx:Button label="Close Window" click="closewindow();"/>
</s:VGroup>
</mx:Module>
支持中文版的as3xls下载地址:as3xls.swc(CSDN下载要注册的)
分享到:
相关推荐
### TOAD导出EXCEL文件时中文乱码解决办法 #### 背景介绍 在数据库管理和开发过程中,经常需要将查询结果...通过上述方法,可以有效地解决在使用TOAD导出Excel文件时遇到的中文乱码问题,提高工作效率和数据质量。
解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码
自从上次用bootstrap table就一直没有解决导出excel的关题,网上找到的那更改tableExport.js和jquery.base64.js的方法虽然可以正常导出,但中文依旧乱码... 解决方法终归是有的....现将文件分享给大家. 里面有table...
总的来说,解决Toad导出到Excel的中文乱码问题,关键在于选择合适的导出格式和配置正确的导出选项。同时,了解和调整相关软件的语言设置也是不可或缺的一部分。通过这些方法,即使面对复杂的字符集,也能保证数据的...
总结起来,解决导出Excel汉字乱码问题的关键在于正确设置字符集和编码;而处理GridView分页问题则需要在导出前临时禁用分页功能,并在完成后恢复。通过这些技巧,可以确保用户能够顺利地下载到包含所有数据且无乱码...
5. **数据类型处理**:AS3XLS可以识别和处理各种数据类型,如数值、日期、字符串等,确保数据在导入导出过程中保持正确性。 6. **读取Excel文件**:除了写入,AS3XLS还支持读取Excel文件,这使得在Flex应用中实现...
### Navicat for MySQL 导入Excel中文乱码问题解决 #### 一、问题背景 在使用Navicat for MySQL工具进行数据导入时,经常会出现中文乱码的问题,尤其是在处理Excel文件时更为常见。这种现象不仅影响数据的正确性,...
2. **导出数据**:在查询结果集上,即在结果显示区域(注意不要选中任何具体的行或单元格),点击鼠标右键,选择【Copy to Excel】选项下的【Copy as xls/xlsx】,将数据导出为Excel文件。需要注意的是,根据PL/SQL ...
- 注意处理Excel文件的编码问题,避免中文乱码。 - 考虑到性能问题,如果数据量非常大,可能需要采取分批次处理的方式。 - 对于复杂的公式,建议先在Excel中测试其正确性,再应用于模板文件中。 综上所述,通过使用...
这篇博文“Flex利用as3xls导入excel数据表”探讨了如何在Adobe Flex项目中读取和导入Excel(.xls)文件的数据,以便在Flex应用程序中进行进一步处理或展示。Flex是一个开源的、基于ActionScript 3的框架,用于构建富...
`as3xlsUTF8`库是基于`as3xls`库进行改进的,主要解决了中文字符在Excel中乱码的问题。`as3xls`库是由Jeroen van Rijswijk开发的一个开源项目,它提供了对Microsoft Excel文件(.xls)的完全读写功能,但默认情况下...
AS3XLS是一个用纯ActionScript编写的库,它可以创建和修改Excel的XLS文件。使用AS3XLS,开发者可以直接在Flex应用中生成Excel工作簿,添加工作表,填充数据,设置样式等,然后提供一个下载链接让用户直接下载生成的...
### Java导出Excel文件并下载到客户端(含解决中文乱码问题) 在现代的企业级应用开发中,数据导出功能是非常常见的一种需求。特别是在B/S架构的应用中,用户经常需要将查询结果导出为Excel文件以便进行后续的数据...
### PBdatawindow导出Excel函数知识点详解 #### 函数概述 在PowerBuilder应用程序开发中,经常需要将数据窗口(DataWindow)对象中的数据导出到Excel文件中,以方便进行进一步的数据处理或分享。本文档介绍了一个名...
请高手指点,我在运行VB.NET时导出的XLS文件,为什么在EXCEL 2003打开是乱码,里面是乱七八糟的符号。而用EXCEL 2007打开就没问题请问这是怎么回事?代码如下,该怎么改才不会用EXCEL2003打开是乱码?
但是,如果数据包含中文字符,那么在导出时可能会遇到编码问题,导致生成的Excel文件中出现乱码,影响数据的阅读和使用。为了解决这一问题,本文将详细介绍几种常见的解决PHP导出Excel乱码问题的方法。 首先,要...
在ASP.NET开发中,将GridView数据导出为Excel(xls)文件是一项常见的需求,这有助于用户方便地存储和处理大量数据。"VS-C#将GridView导出为xls文件.rar"这个压缩包提供了一种实现这一功能的方法。下面,我们将详细...
这个“tableexport导出excel中文无乱码demo”专注于解决中文字符在火狐浏览器中的乱码问题,通过正确设置字符编码和使用BOM,确保了导出的Excel文件能够正确显示中文。开发者可以借鉴这个示例,应用到自己的项目中,...
`as3xlsUTF8` 是一个专门用于处理Excel文件的开源库,它支持Unicode编码(UTF-8),这意味着你可以处理包含多种语言的数据而不用担心字符乱码问题。该库的核心在于提供了一套API,使得在AS3中创建、修改和读取Excel...
Mysql 数据导出成 Excel 方法 MySQL 是一种流行的关系型数据库管理系统,用于存储和管理大量...我们可以使用 MySQL 命令和 shell 结合来将数据导出成 Excel 格式,但需要注意中文乱码问题,并采取相应的解决措施。