`
qiyangyang09
  • 浏览: 3003 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

as3xls导出Excel和解决导出中文乱码问题(原创)2010-11-24 13:37

阅读更多
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下载要注册的)


分享到:
评论
2 楼 qiyangyang09 2012-10-12  
大家共同进步
1 楼 晓晨Happy 2012-06-03  
受教了 ,多谢楼主。

相关推荐

    TOAD导出EXCEL文件时中文乱码解决办法.txt

    ### TOAD导出EXCEL文件时中文乱码解决办法 #### 背景介绍 在数据库管理和开发过程中,经常需要将查询结果...通过上述方法,可以有效地解决在使用TOAD导出Excel文件时遇到的中文乱码问题,提高工作效率和数据质量。

    解决tableExport导出到excel中文乱码

    解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码

    tableExport.js excel乱码解决方法

    自从上次用bootstrap table就一直没有解决导出excel的关题,网上找到的那更改tableExport.js和jquery.base64.js的方法虽然可以正常导出,但中文依旧乱码... 解决方法终归是有的....现将文件分享给大家. 里面有table...

    Toad中文导出到Excel的乱码解决办法

    总的来说,解决Toad导出到Excel的中文乱码问题,关键在于选择合适的导出格式和配置正确的导出选项。同时,了解和调整相关软件的语言设置也是不可或缺的一部分。通过这些方法,即使面对复杂的字符集,也能保证数据的...

    导出excel汉字乱码以及GridView分页问题

    总结起来,解决导出Excel汉字乱码问题的关键在于正确设置字符集和编码;而处理GridView分页问题则需要在导出前临时禁用分页功能,并在完成后恢复。通过这些技巧,可以确保用户能够顺利地下载到包含所有数据且无乱码...

    as3xls-1.0.1.swc

    5. **数据类型处理**:AS3XLS可以识别和处理各种数据类型,如数值、日期、字符串等,确保数据在导入导出过程中保持正确性。 6. **读取Excel文件**:除了写入,AS3XLS还支持读取Excel文件,这使得在Flex应用中实现...

    Navicat for MySql 导入EXCEL中文乱码问题解决

    ### Navicat for MySQL 导入Excel中文乱码问题解决 #### 一、问题背景 在使用Navicat for MySQL工具进行数据导入时,经常会出现中文乱码的问题,尤其是在处理Excel文件时更为常见。这种现象不仅影响数据的正确性,...

    plsql导出数据到excel的三种方法

    2. **导出数据**:在查询结果集上,即在结果显示区域(注意不要选中任何具体的行或单元格),点击鼠标右键,选择【Copy to Excel】选项下的【Copy as xls/xlsx】,将数据导出为Excel文件。需要注意的是,根据PL/SQL ...

    poi excel 模板读取并导出带公式的excel文档

    - 注意处理Excel文件的编码问题,避免中文乱码。 - 考虑到性能问题,如果数据量非常大,可能需要采取分批次处理的方式。 - 对于复杂的公式,建议先在Excel中测试其正确性,再应用于模板文件中。 综上所述,通过使用...

    Flex利用as3xls导入excel数据表

    这篇博文“Flex利用as3xls导入excel数据表”探讨了如何在Adobe Flex项目中读取和导入Excel(.xls)文件的数据,以便在Flex应用程序中进行进一步处理或展示。Flex是一个开源的、基于ActionScript 3的框架,用于构建富...

    Flex使用as3xlsUTF8.swc库文件导出Excel

    `as3xlsUTF8`库是基于`as3xls`库进行改进的,主要解决了中文字符在Excel中乱码的问题。`as3xls`库是由Jeroen van Rijswijk开发的一个开源项目,它提供了对Microsoft Excel文件(.xls)的完全读写功能,但默认情况下...

    flex前台直接导出excel

    AS3XLS是一个用纯ActionScript编写的库,它可以创建和修改Excel的XLS文件。使用AS3XLS,开发者可以直接在Flex应用中生成Excel工作簿,添加工作表,填充数据,设置样式等,然后提供一个下载链接让用户直接下载生成的...

    java导出excel文件并且下载到客户端(包括解决中文乱码).txt

    ### Java导出Excel文件并下载到客户端(含解决中文乱码问题) 在现代的企业级应用开发中,数据导出功能是非常常见的一种需求。特别是在B/S架构的应用中,用户经常需要将查询结果导出为Excel文件以便进行后续的数据...

    PBdatawindow导出excel函数

    ### PBdatawindow导出Excel函数知识点详解 #### 函数概述 在PowerBuilder应用程序开发中,经常需要将数据窗口(DataWindow)对象中的数据导出到Excel文件中,以方便进行进一步的数据处理或分享。本文档介绍了一个名...

    vb.net导出为什么是乱码??

    请高手指点,我在运行VB.NET时导出的XLS文件,为什么在EXCEL 2003打开是乱码,里面是乱七八糟的符号。而用EXCEL 2007打开就没问题请问这是怎么回事?代码如下,该怎么改才不会用EXCEL2003打开是乱码?

    基于PHP导出Excel的小经验 完美解决乱码问题

    但是,如果数据包含中文字符,那么在导出时可能会遇到编码问题,导致生成的Excel文件中出现乱码,影响数据的阅读和使用。为了解决这一问题,本文将详细介绍几种常见的解决PHP导出Excel乱码问题的方法。 首先,要...

    VS-C#将GridView导出为xls文件.rar

    在ASP.NET开发中,将GridView数据导出为Excel(xls)文件是一项常见的需求,这有助于用户方便地存储和处理大量数据。"VS-C#将GridView导出为xls文件.rar"这个压缩包提供了一种实现这一功能的方法。下面,我们将详细...

    tableexport导处excel中文无乱码demo

    这个“tableexport导出excel中文无乱码demo”专注于解决中文字符在火狐浏览器中的乱码问题,通过正确设置字符编码和使用BOM,确保了导出的Excel文件能够正确显示中文。开发者可以借鉴这个示例,应用到自己的项目中,...

    Flex as3xlsUTF8导出Excel类库文档API

    `as3xlsUTF8` 是一个专门用于处理Excel文件的开源库,它支持Unicode编码(UTF-8),这意味着你可以处理包含多种语言的数据而不用担心字符乱码问题。该库的核心在于提供了一套API,使得在AS3中创建、修改和读取Excel...

    Mysql数据导出成Excel方法

    Mysql 数据导出成 Excel 方法 MySQL 是一种流行的关系型数据库管理系统,用于存储和管理大量...我们可以使用 MySQL 命令和 shell 结合来将数据导出成 Excel 格式,但需要注意中文乱码问题,并采取相应的解决措施。

Global site tag (gtag.js) - Google Analytics