2009-11-02 12 views
8

FlexのファイルExcelにデータグリッドのデータをエクスポートするにはどうすればよいですか?DataGridをFlexのExcelファイルにエクスポートするには?

誰でもその例を挙げることができますか?私はブラウズしていますが、そのような種類の一例を見つけることはできませんでした。

EDITは多くをブラウズしcsv形式にデータグリッドのデータを変換する方法を見つけました。どのように変換するには、Excelに?サーバースクリプトを使用せずにこれを行う方法はありますか? Flexだけではできないのですか?

+0

サーバーサイドの技術とは? –

+0

Eclipseのjavaサーブレットを使用 – Angeline

答えて

1

Excelは、スプレッドシートの種類としてHTMLテーブルを読み取ります。行単位、列単位でグリッド行を読み込み、一連のHTMLテーブルセルを生成し、whatever.xlsという名前のファイルを生成します。

+0

私はhtmlテーブルの形でそれを作成しました。どのようにExcelファイルを作成するのですか? – Angeline

1

Javaサーブレットのバックエンドを使用している場合は、サーブレットを使用してファイルを出力できます。

私の唯一のアイディアは、CSVのデータを、ユーザーがファイルにコピーして貼り付けることができるテキストエリアを持つポップアップに出力することでした。

3

as3xlswrite xls fileです。それは単なるシートをサポートします(しかし、それは問題ありません)。

しかし、私は@susichanと@Rafalで述べたようにcsvやhtmlを使うと思います。セル式のようなExcelの関数を使う必要がなければ、Ziolkowskiはもっとシンプルになります。

ああ、csvを書くためにcsvlibがあります。 HTMLについては、XMLを書くのがいいでしょう。ここ

0

as3xlsは罰金読むようですが、Excelファイルを書くことは別の話です。それはマルチシートのワークブックを書くことはできません。ほとんどの場合、それはそれ自身のファイルを読むことができません。そして、Excelがas3xlsを読み出すと、すべてのゴミを取り出すために複数のセーブをしなければなりません。本当に酷い人。私は、AIR 2.0のNativeProcessを使ってPythonスクリプトを呼び出して書いています。まず、DataGrid/ArrayCollectionをCSVにエクスポートしなければならないと思います。 Excelでうまくいくためのより良いActionScriptオプションがないとは信じられません。それは本当にタスクのまれなですか?

1

まず、以下のリンク

Link

からSWCファイルをダウンロードして今すぐあなたが仕事の少しを行う必要があるだけでそのコードをコピーして、適切な列名を与えます。

public function roExport_export_Result(e:ResultEvent):void 
     { 
      if(e.result.length != 0) 
      { 
       btnExportToExcel.enabled = true; 

       var arrExportResult:Array = e.result as Array; 

       xlsFile = new ExcelFile(); 
       var sheet:Sheet = new Sheet(); 

       sheet.resize(arrExportResult.length+1,14); 

       sheet.setCell(0,0,'Id'); 
       sheet.setCell(0,1,'Full Name'); 
       sheet.setCell(0,2,'Gender'); 
       sheet.setCell(0,3,'Birth Date'); 
       sheet.setCell(0,4,'College Name'); 
       sheet.setCell(0,5,'Qualification'); 
       sheet.setCell(0,6,'Email Id'); 
       sheet.setCell(0,7,'Mobile'); 
       sheet.setCell(0,8,'Position Applied For'); 
       sheet.setCell(0,9,'Technology Interested'); 
       sheet.setCell(0,10,'User Name'); 
       sheet.setCell(0,11,'Password'); 
       sheet.setCell(0,12,'Exam Date'); 
       sheet.setCell(0,13,'Percentage'); 
       sheet.setCell(0,14,'IsActive'); 

       for(var i:int=0;i<arrExportResult.length;i++) 
       { 
        sheet.setCell(i+1, 0, arrExportResult[i].Id); 
        sheet.setCell(i+1, 1, arrExportResult[i].FullName); 
        if(arrExportResult[i].Gender == 1) 
        { 
         arrExportResult[i].Gender = "Male" 
        } 
        else 
        { 
         arrExportResult[i].Gender = "Female"; 
        } 
        sheet.setCell(i+1, 2, arrExportResult[i].Gender); 
        var date:String = arrExportResult[i].BirthDate.date.toString(); 
        var month:String = (arrExportResult[i].BirthDate.month + 1).toString(); 
        var year:String = arrExportResult[i].BirthDate.fullYear.toString(); 
        var bDate:String = date + "/" + month + "/" + year; 
        arrExportResult[i].BirthDate = bDate; 
        sheet.setCell(i+1, 3, arrExportResult[i].BirthDate); 
        sheet.setCell(i+1, 4, arrExportResult[i].CollegeId); 
        sheet.setCell(i+1, 5, arrExportResult[i].QualificationId); 
        sheet.setCell(i+1, 6, arrExportResult[i].EmailId); 
        sheet.setCell(i+1, 7, arrExportResult[i].Mobile); 
        sheet.setCell(i+1, 8, arrExportResult[i].PositionName); 
        sheet.setCell(i+1, 9, arrExportResult[i].TechForTraining); 
        sheet.setCell(i+1, 10, arrExportResult[i].UserName); 
        sheet.setCell(i+1, 11, arrExportResult[i].Password); 
        var date:String = arrExportResult[i].CreatedDate.date.toString(); 
        var month:String = (arrExportResult[i].CreatedDate.month + 1).toString(); 
        var year:String = arrExportResult[i].CreatedDate.fullYear.toString(); 
        var hour:String = arrExportResult[i].CreatedDate.hours.toString(); 
        var min:String = arrExportResult[i].CreatedDate.minutes.toString(); 
        var sec:String = arrExportResult[i].CreatedDate.seconds.toString(); 
        var cDate:String = date + "/" + month + "/" + year + " " + hour + ":" + min + ":" + sec; 
        arrExportResult[i].CreatedDate = cDate; 
        sheet.setCell(i+1, 12, arrExportResult[i].CreatedDate); 
        sheet.setCell(i+1, 13, arrExportResult[i].Percentage); 
        sheet.setCell(i+1, 14, arrExportResult[i].IsActive); 
       } 

       dataGridResult.dataProvider = arrExportResult; 

       xlsFile.sheets.addItem(sheet);  
       bytes = xlsFile.saveToByteArray();     
      } 
      else 
      { 
       arrExportResult = new Array(); 
       dataGridResult.dataProvider = arrExportResult; 
       btnExportToExcel.enabled = false; 
       xlsFile = new ExcelFile(); 
       var sheet:Sheet = new Sheet(); 
       Alert.show("No Records Found",parentApplication.alertTitle); 
      } 
     } 
関連する問題