C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.3992 の関連記事表示

<< 0 >>
■3992  ArrayListのExcel出力について
□投稿者/ じゃかるた -(2007/05/31(Thu) 09:07:08)

    分類:[C# (ASP.NET)] 

    C#のWebアプリでSessionにArrayListを格納しています。
    このArrayListをExcelで出力したいと思います。(DataGridは使用していません)
    ・列数、及び行数は格納されたArrayListに依存します。
    ・Excel上の罫線及び色はとりあえず不要です。
    ・単純に左上から一セル一データで表示できればよいです。(CSV出力は不可です)
    ・保存形式は「名前をつけて保存」ダイアログボックスが出てくればよいです。

    上記条件を満たすことのできる方法又は参考URLがあれば教えていただけないでしょうか?
    よろしくお願いします。

親記事 /過去ログ13より / 関連記事表示
削除チェック/

■3993  Re[1]: ArrayListのExcel出力について
□投稿者/ 魔界の仮面弁士 -(2007/05/31(Thu) 09:55:28)
    2007/05/31(Thu) 10:21:48 編集(投稿者)

    No3992 (じゃかるた さん) に返信
    > ・保存形式は「名前をつけて保存」ダイアログボックスが出てくればよいです。
    この点は、Content-Type と Content-Disposition を送出することで対応できますね。


    > ・単純に左上から一セル一データで表示できればよいです。(CSV出力は不可です)
    そういう時は、なぜ CSV では駄目なのかという理由も示さないと。(^^;

    で…まずは「どの出力形式なら許容できるのか」という話になってくるかと思います。

    ネイティブのバイナリ フォーマットだと面倒なので、テキストベースのフォーマットを
    選択することになるかと思いますが、そうすると
     ・タブ区切りテキスト(全バージョン)
     ・SYLK 形式(全バージョン)
     ・DIF 形式
     ・HTML 形式(Excel 97 以上)
     ・Excel HTML 形式(Excel 2000 以上)
     ・XML スプレッドシート形式(Excel 2003 以上)
    の中から選択することになるかと思います。
    # XML データ(Excel 2002 以上)という手もありますが、今回の目的には適さないかも。

    HTML 形式で良ければ、System.Web.UI.WebControls.DataGrid にデータバインドさせておき、
    System.Web.UI.HtmlTextWriter に RenderControl させるという手があるでしょうし、
    あるいは、XML スプレッドシートへ XSLT 変換するという方法もありますね。

    もし、バイナリ形式である *.xls 形式が必要なら、COM 操作によるオートメーション(ASP.NET 向けではない)か、
    BIFF を直接生成するか、Excel 形式を出力可能な外部コンポーネント(ExcelCreator 等)が必要でしょう。

    ZIP 生成が可能なら、Excel 2007 の xlsx という選択肢もありますが…。


    取り回しを考えると、XML が楽なのかな。Excel 側のバージョンがある程度限定されますけど。
    http://aspalliance.com/471
    http://codezine.jp/a/article.aspx?aid=194
    http://support.microsoft.com/kb/307029/ja
    http://www.microsoft.com/japan/msdn/office/office2003/odc_unlock.aspx
記事No.3992 のレス /過去ログ13より / 関連記事表示
削除チェック/

■3994  Re[2]: ArrayListのExcel出力について
□投稿者/ じゃかるた -(2007/05/31(Thu) 10:28:27)
    ご返信ありがとうございます。

    >>・保存形式は「名前をつけて保存」ダイアログボックスが出てくればよいです。
    > この点は、Content-Type と Content-Disposition を送出することで対応できますね。
    了解しました。

    >>・単純に左上から一セル一データで表示できればよいです。(CSV出力は不可です)
    > そうすると、「どの出力形式なら許容できるのか」という話になってくるかと思います。
    > ネイティブのバイナリ フォーマットだと面倒なので、テキストベースのフォーマットを
    > 選択することになるかと思いますが、そうすると
    >  ・タブ区切りテキスト(全バージョン)
    >  ・SYLK 形式(全バージョン)
    >  ・DIF 形式
    >  ・HTML 形式(Excel 97 以上)
    >  ・Excel HTML 形式(Excel 2000 以上)
    >  ・XML スプレッドシート形式(Excel 2003 以上)
    > の中から選択することになるかと思います。
    > # XML データ(Excel 2002 以上)という手もありますが、今回の目的には適さないかも。
    >
    >
    > もし、バイナリ形式である *.xls 形式が必要なら、COM 操作によるオートメーション(ASP.NET 向けではない)か、
    > BIFF を直接生成するか、Excel 形式を出力可能な外部コンポーネント(ExcelCreator 等)が必要でしょう。
    >
    > ZIP 生成が可能なら、Excel 2007 の xlsx という選択肢もありますが…。

    *.xls形式が要件です。
    ということはバイナリ形式を扱うことになりCOM操作が必要になるということですね・・・
    ExcelのCOM操作で苦労話を聞いたことがあります。(COMの引数がExcelのバージョンに依存するとか・・・詳しいことは分かりませんが)
    ちなみにExcel2007は想定していません。

    DataGridに仕様変更するのが無難と判断しました。

    大変分かりやすいご説明ありがとうございました。
記事No.3992 のレス / END /過去ログ13より / 関連記事表示
削除チェック/

■3995  Re[3]: ArrayListのExcel出力について
□投稿者/ じゃかるた -(2007/05/31(Thu) 10:53:38)
    2007/05/31(Thu) 10:54:09 編集(投稿者)

    解決済みにチェックしましたが、更新されてましたので以下内容について。

    >> ・単純に左上から一セル一データで表示できればよいです。(CSV出力は不可です)
    >そういう時は、なぜ CSV では駄目なのかという理由も示さないと。(^^;
    そうですね。理由はユーザー要件です。
    (CSV出力は却下されました。それ以上は分かりません。)

    >取り回しを考えると、XML が楽なのかな。Excel 側のバージョンがある程度限定されますけど。
    >http://aspalliance.com/471
    >http://codezine.jp/a/article.aspx?aid=194
    >http://support.microsoft.com/kb/307029/ja
    >http://www.microsoft.com/japan/msdn/office/office2003/odc_unlock.aspx
    Excel 側のバージョン限定はマズいです。(Excel2007は知りませんが・・・)
    XML出力は参考になりました。
記事No.3992 のレス /過去ログ13より / 関連記事表示
削除チェック/

■3997  Re[4]: ArrayListのExcel出力について
□投稿者/ ぼのぼの -(2007/05/31(Thu) 11:24:04)
    No3994 (じゃかるた さん) に返信
    >>もし、バイナリ形式である *.xls 形式が必要なら、COM 操作によるオートメーション(ASP.NET 向けではない)か、
    >>BIFF を直接生成するか、Excel 形式を出力可能な外部コンポーネント(ExcelCreator 等)が必要でしょう。
    >>
    >>ZIP 生成が可能なら、Excel 2007 の xlsx という選択肢もありますが…。
    >
    > *.xls形式が要件です。
    > ということはバイナリ形式を扱うことになりCOM操作が必要になるということですね・・・
    > ExcelのCOM操作で苦労話を聞いたことがあります。(COMの引数がExcelのバージョンに依存するとか・・・詳しいことは分かりませんが)
    > ちなみにExcel2007は想定していません。

    一応こんな方法もあるみたいですよ。
    http://www.google.com/search?client=opera&rls=ja&q=Excel+OleDb+ADO.NET&sourceid=opera&ie=utf-8&oe=utf-8

    No3995 (じゃかるた さん) に返信
    > >> ・単純に左上から一セル一データで表示できればよいです。(CSV出力は不可です)
    > >そういう時は、なぜ CSV では駄目なのかという理由も示さないと。(^^;
    > そうですね。理由はユーザー要件です。
    > (CSV出力は却下されました。それ以上は分かりません。)
    憶測ですが、CSVファイルをダブルクリックしてExcelで開くと、
    001が1になっちゃったり、1-1が1月1日になっちゃったりするから?
記事No.3992 のレス /過去ログ13より / 関連記事表示
削除チェック/

■4000  Re[5]: ArrayListのExcel出力について
□投稿者/ ぽぴ王子 -(2007/05/31(Thu) 11:56:57)
>
    では僕が、流れを読まずに Excel Creator という提案をしてみる。
    http://www.adv.co.jp/products/product_ExcelCreator2007.htm

    ActiveReport でも一応 xls 形式を出力することはできます。
    …できます……できます……が、あまり期待しない方がよかったり。
    というか Excel 出力のために ActiveReport を買うのはもったいない
    ので以下略。
    帳票出力がメインで、ついでに Excel も欲しいわ〜ん!というので
    あればかなり有効ですけれども。
記事No.3992 のレス /過去ログ13より / 関連記事表示
削除チェック/

■4001  Re[6]: ArrayListのExcel出力について
□投稿者/ ぼのぼの -(2007/05/31(Thu) 13:00:28)
記事No.3992 のレス /過去ログ13より / 関連記事表示
削除チェック/

■4002  Re[7]: ArrayListのExcel出力について
□投稿者/ ぽぴ王子 -(2007/05/31(Thu) 13:23:00)
>
    No4001 (ぼのぼの さん) に返信

    > いえいえ、流れには逆らってないですよw
    > #このスレをExcelCreatorで検索してみてください。

    あら、本当ですね。
    魔界の仮面弁士さんがちゃんと書いてくださってました。
    流れを読まずに書いちゃダメってことですね。

    魔界の仮面弁士さんの「どの出力形式なら許容できるのか」までを読んで「その考
    えはなかったわwww」と思い、確かにそうだよなーでも SYLK 形式って今じゃ知って
    る人の方が少ないのではとかむにゃむにゃ考えつつ、COM 操作というところで「そっ
    か、無意識のうちに対象から除外してたけどそういうのもありか」と、そこで仕事が入っ
    たので中断していて。
    (そこであと1行読んでいれば……と今さら言っても遅いですが)

    じゃかるたさんの「*.xls形式が要件です」というところで「そりゃそうだろうなあ」と思
    いつつ、流れがCOM操作に傾いていたので、むー、作るだけなら Excel Creator で
    十分かもしれないねえ…むにゃむにゃ…と。

    なので、COM 操作はいろいろ面倒だし、作るだけなら Excel Creator とか、お勧め
    はしないけど ActiveReports とか(ちょうど ActiveReports で Excel 出力という仕事
    をしていたところだったので)流れを読まずに提案してみました。

    が、やっぱりちゃんと読めと。申し訳ない。

    > 要件次第ではこっちで十分かも。
    > http://www.adv.co.jp/products/product_ExcelCreator5.htm
    > 機能と価格とのトレードオフです。

    そうですねー
    新しい方がいいかな?とポンと貼り付けてしまいましたが、価格も違うし
    Excel2007 のファイルが必要じゃなければ古いバージョンで良かったですね。
    重ね重ねもうしわけないです (^^; >ぼのぼのさん
記事No.3992 のレス /過去ログ13より / 関連記事表示
削除チェック/

■4029  Re[8]: ArrayListのExcel出力について
□投稿者/ じゃかるた -(2007/06/01(Fri) 15:52:18)
    今回、せっかくですが有償ソフトも体験版も使用できないので、Excel Creator はダメです。
    DataGridに仕様変更で対応しました。

    みなさん、いろいろ案を出していただきありがとうございます。
    感謝します。

    解決済みにしたあとにスレすると解決済みが表示されなくなるのでしょうか?
    再度解決済みにします。
記事No.3992 のレス / END /過去ログ13より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -