一陣の神風が舞う
東北弁炸裂するショボプログラマの日々(´・ω・`)
04 | 2018/05 | 06
S M T W T F S
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Flex] as3xlsを使って日本語対応のExcelファイルを書き出してみた

久々にモノ作ってたら明け方になっちまったよ、、頑張って会社行かねば_|\○_~0
…力尽きる前に作ってたモノを晒してみる。

『as3xls』ってライブラリを使って、Flex上のDataGridをExcel形式で出力してみた。
ただしコイツは日本語が化けるので、対策が必要。
そこでこちらから頂いた『Jcode』ライブラリを使用した。
世の中には凄い人達がいるもんです。ウチも負けてらんねえべ。


では、さっそく動く物。(メニューはあるけど『開く』は作ってないですorz)

『as3xls』の方は文字化け問題を回避する為、swc形式ではなく、ソースをSVNから頂いて使用した。 なんてこたない、ExcelFile#saveToByteArray()にJCodeライブラリを適用しただけです。

// ExcelFile.as の 230行目あたりから始まるforループの前
var jcode:Jcode = Jcode.getInstance("WIN");
// ExcelFile.as の 253行目あたりに入れた変更
} else if(String(value).length > 0) {
	cell.type = Type.LABEL;
	cell.data.writeByte(0);
	cell.data.writeByte(0);
	cell.data.writeByte(0);
	
	// 日本語対応
	var labelData:ByteArray = jcode.UTF8toSJIS(value);
	var len:uint = labelData.length;
	cell.data.writeByte(len);
	cell.data.writeBytes(labelData);
//	cell.data.writeUTFBytes(value);
} else {

一応、このサンプルで日本語や機種依存文字も正常にExcelファイルに出力されていればOKです。 もし、対応文字が不足していたらJCodeライブラリ内のマッピングを追加してやれば十分対応可能です。


9/10追記

サンプルの『♪』→『妄想』に出てくる、「2枚目以降のシートがでねえ!」って現象なんですが、 どうも「仕様」みたいです。
as3xlsが扱うのは「Microsoft Excel Worksheet 2.1」というモノで、元々が複数シートに対応しないフォーマットなんだそうです。
めっさ公式のTutorialに書いてあったよ…(´・ω・`)


参考

as3xls - Google Code
ActionScript3でExcelファイルの読み書きを行うライブラリ
JCode - WEB2MEMO =PHP、Ajax、JAVA、AIR、Flex2/3、Ruby、Rails等のメモ=
ActionScript用日本語文字コード変換ライブラリ

テーマ:Flex - ジャンル:コンピュータ

この記事に対するコメント

この記事に対するコメントの投稿














管理者にだけ表示を許可する


この記事に対するトラックバック
トラックバックURL
→http://ciablo.blog70.fc2.com/tb.php/127-c3ace72c
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

Mahny

Author:Mahny
趣味PG派生の職業PG(+SE?)。頭のデキはきっと残念ω

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

ペット
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。