忍者ブログ
このブログは、拡張現実 及び 仮想現実 が使用された最新の情報と事例などを掲載しています。---This blog publishes latest information and the case where AR (Augmented Reality) and VR (Virtual Reality) are used, etc.
2024 . 04
  • 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
  • Profile
    NAME:
    Etsuji Kameyama (亀山悦治)

    Profile:
    拡張現実(AR)や仮想現実(VR)の技術は、BtoC・BtoBの分野での活用が始まっている。このブログではAR、NUI、各種センサーに関わる最新の事例や技術を中心に紹介。
    ARやVRのシステムやソリューションの導入を検討されている方は、こちらか、私までご連絡ください。エンターテーメント分野、印刷分野、家具や機器の配置シミュレーション、操作支援、などへの技術選定、アプリケーション開発、運用、コンサルテーションに対応します。

    -私が関係しているサイト
    - twitter (@kurakura)
    - facebook (ekameyama)
    - LinkedIn (Etsuji Kameyama)
    - ITmediaマーケティング
    - SlideShare (ekame)
    - paper.li (kurakura/ar)
    - YouTube (ekame)
    - myspace Music (KURA KURA)
    - The 25 Most Tweeting About AR
    - Twitter most popular
    - AR Mind Map
    - AMeeT-拡張現実の紹介(ニッシャ印刷文化振興財団)
    - デジタルサイネージとAR(デジタルサイネージ総研)
    - Capital newspaper
    - Pingoo
    - 話題沸騰のAR/VRがスマートワークを進化させる(スマートワーク総研)

    インターネット学校「スクー」の90番目の講師
    AR, VR, MR + HMD, Smart Glass が生活とビジネスを変革
    Contact me 問合せはこちら
    AR活用相談、AR関連セミナー講師などの依頼についてご連絡ください。
    SSL標準装備の無料メールフォーム作成・管理ツール | フォームメーラー
    はじめてのAR(拡張現実)アプリ導入
    ARアプリの基本的な知識から選定方法まで身に付けることができる資料。
    Ninja Search
    Google Search
    カスタム検索
    アーカイブ
    Present number of visits
    Counter
    感覚デバイス開発

    あらゆる産業において、様々な新規デバイス・システム開発や新規サービスを創り出すべく注目が集まっている。とくにセンサー素子開発やセンサ・センシングシステムなどの研究開発者の方、ロボット開発における感覚器代替分野の研究者の方、関連業界の方々へ。
    よくわかるAR〈拡張現実〉入門

    次世代のプロモーション手法として脚光を集めるほか、エンターテイメントやコミュニケーション、教育や医療のツールとして幅広い活用・発展が期待されているARの世界がよくわかる入門書が電子書籍で登場
    Amazon検索
    Amazon
    ×

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

    最適化を考慮することは、大容量のレポート(100ページを優に超える)を出力する場合に、パフォーマンスの面において重要です。ここでは、そのようなレポートで最適な結果を得るためのいくつかの情報を紹介します。特に、Webアプリケーションにおいて、サーバーのメモリが逼迫しないようにするために、以下の点に留意してください。

    メモリで考慮すべき事項

    • 画像:RTF形式とTIFF形式にエクスポートする場合、大きな画像の使用を制限してください。これらの形式にエクスポートすると、たとえ1つの画像であっても、レポートの全ページに繰り返して出力することで、大量のメモリが使用されるため注意が必要です。これらの形式にエクスポートしない場合やExcel、PDF、HTMLの各形式にエクスポートする場合は、繰り返して画像を出力しても1回だけメモリに保存されるだけです。ただし、重複した画像かどうかを検出するために比較が必要になるため、レポートの生成時間が遅くなります。
    • サブレポート:各サブレポートのインスタンスはメモリを消費します。このため、サブレポートを使用したセクションを繰り返すようなレポートを出力する場合は注意してください。たとえば、レポートのDetailセクションが2000回繰り返される場合、Detailセクションに貼り付けたサブレポートのインスタンスは、2000個作成されると考えてください。ネストしたサブレポートはその数のインスタンスを複合します。Detailセクションのように繰り返して出力するセクション内で、サブレポートを使用する必要がある場合、そのセクションのFormatイベント内ではなくレポートのReportStartイベントでインスタンス化してください。それにより、サブレポートは1回だけインスタンス化されメモリの消費を抑えることができます。
    • CacheToDisk:DocumentオブジェクトのCacheToDiskプロパティをTrueに設定することで、レポートの生成時間が遅くなりますが、レポート全体がメモリにロードされる代わりにディスクにキャッシュされるため、メモリの消費を抑えることができます。 PDFエクスポートもこの設定を検出し、キャッシュされたレポートを使用してエクスポートします。エクスポートについては、PDFエクスポートのみでこのプロパティが有効に働きます。他のエクスポートの場合は、非常に大きなレポートの生成において、メモリ不足になることがあるので注意してください。また、CacheToDiskプロパティがIsolatedStorageを使用してページのcanvasItemsをディスクに格納することにも注意してください。CacheToDiskプロパティを使用するには、IsolatedStorageFilePermissionを持っている必要があります。
      分離ストレージの詳細につきましては、MSDNライブラリ等を参照してください。
    • 集計:ヘッダセクションに集計(ページ数やレポート内の集計)を配置すると、CacheToDiskプロパティを使用した大容量レポートの場合に、メモリや描画速度に影響を及ぼします。ActiveReportsが後続のセクションの合計またはページ数を決定するまでヘッダの描画が遅れるため、CacheToDiskによる最適化を実行することができません。影響されるセクションの数が多いほど、描画速度は遅くなり、CacheToDiskの最適化は小さくなります。そのため、グループヘッダセクションのグループ合計はレポートヘッダのレポート合計ほどにはパフォーマンスとメモリに影響しません。

    速度で考慮すべき事項

    • 画像:複数ページに渡る非常に大きいレポートの各ページ上に、繰り返して同じ画像を出力すると、その画像はメモリの消費を抑えるために一度だけ格納されます。しかし、重複した画像かどうかを検出するために比較が必要になるためパフォーマンスが遅くなります。これは、レポートドキュメント自身の場合だけでなく、Excel、PDF、HTMLの各エクスポートを行う場合も当てはまります。
    • 集計:ヘッダセクションに集計(ページ数やレポート内の集計)を配置すると、レポート処理が遅くなります。ActiveReportsは、ヘッダセクションを描画する前に後続のセクションの合計数またはページ数を決定する必要があります。影響されるセクションの数が多いほど、描画速度が遅くなります。そのため、グループヘッダセクションのグループ合計はレポートヘッダのレポート合計ほどにはパフォーマンスとメモリに影響しません。
    • CacheToDisk:DocumentオブジェクトのCacheToDiskプロパティがTrueに設定されていないことを確認してください。Trueに設定すると、レポートのロードにかかる時間が長くなります。この設定は大容量メモリを使用する非常に大きいレポートの場合のみに使用する必要があります。これを100ページに満たない小さなレポートで使用すると、実際に使用されるメモリ量が大きくなります。
    • ストアドプロシージャ:SELECTステートメントの代わりにストアドプロシージャを使用すると、ActiveReportsによって処理されるレコード数が減るためレポートの処理時間がスピードアップします。SELECT * ステートメントを使用することは、このステートメントによって返されるデータのすべてを実際に使用していない限り、お勧めしません。インデックステーブルなどのデータ検索をスピードアップする他の方法については、データベース管理者に問い合わせてください。

    レポート生成時やPDFエクスポート時、現在処理していないレポートのページを、メモリのかわりにハードディスクディスクに格納するかどうかを取得または設定します。

    [Visual Basic]

    Public Property CacheToDisk As Boolean

    戻り値
    ブール型。デフォルト値はFalseです。

    解説
     このプロパティをTrueに設定すると一時ファイルが作成されます。レポートの実行中に未処理の例外がある場合、これらの一時ファイルは削除されずにハードディスク上に残ります。これらのファイルの場所は以下のとおりです。
    WinForms: C:\Documents and Settings\<user name>\Local Settings\Application Data\IsolatedStorage
    WebForms: C:\Documents and Settings\<machine name>\ASPNET\ Local Settings\Application Data\IsolatedStorage

    CacheToDiskプロパティは分離ストレージ(IsolatedStorage)を使用し、生成されるレポートデータをハードディスクに格納します。このためCacheToDiskプロパティを Trueに設定する場合は、このアプリケーション自身が、分離ストレージにアクセスできる権限(適切な IsolatedStorageFilePermission)を有している必要があります。なお、通常の.NET Frameworkのアプリケーションは既にこの権限を有しています。分離ストレージの詳細につきましては、MSDNライブラリの「分離ストレージ」をご確認ください。

    ■ 注記 ■

    このプロパティは、大容量のメモリを消費するレポートの場合のみTrueに設定してください。このプロパティを使用すると、ディスクを使用する上で必要なIO関連等のメモリの使用量が増えます。このため、画像があるレポートや、ページ数が少ない場合は、メモリ使用量の逆転現象が起こります。また、メモリの代わりにハードディスクを使用するため、レポートの生成速度は遅くなります。

    ・このプロパティは、使用することによってメモリ使用量が減ることを保証するものではなく、メモリ不足による例外エラーの発生を極力少なくさせるための補完的な機能として提供しています。有効性が見受けられるレポートの場合のみに使用してください。

    ・レポートの生成処理だけでなく、PDFエクスポート処理においてもこの設定は有効です。他の形式のエクスポートではこの機能は働きませんので、大量のレポートをエクスポートする場合に、メモリのリソース不足を引き起こす可能性があります。

    ・Windows Server 2003などのIIS6.0上で実行する場合、匿名ユーザーは「NETWORK SERVICE」というアカウントで実行されます。このユーザーアカウントは、通常分離ストレージにアクセスできる権限を有していないため、エラーが発生します。MSDNライブラリなどを参照し必要な権限を持ったアカウントで実行するか、IIS5.0のプロセス分離モードで実行してください。

    使用例
    [Visual Basic]
    Private Sub arv_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles arv.Load    
        Dim rpt As New rptDocument
        rpt.Document.CacheToDisk = True
        rpt.Run()
        arv.Document = rpt.Document
    End Sub

     

     

    http://msdn2.microsoft.com/ja-jp/library/ezabwsbk(VS.80).aspx
    分離ストレージ ツールは、現在のユーザーに関するすべての既存ストアの一覧表示または削除を行います。

    \ProgramFiles\Microsoft.Net\FrameworkSDK\Bin  にあるとのことがサイトで説明されていたが、自分のPC(WinXP Pro)では、下記に有った。
    C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin

    作成されたTemporary File は、下記のフォルダに作成された。
    C:\Documents and Settings\KWORKS07C\ASPNET\Local Settings\Application Data\IsolatedStorage\ntb2wc5v.oq5\qimr4acp.4j0\StrongName.p0nrvaqskx22w2ryn0ookbwdf2bxbmio\AssemFiles

    ActiveReports Document2.tmp
    ActiveReports Document3.tmp
    ~省略~
    ActiveReports Document12.tmp
    以下、複数作成されたが、何らかのタイミングで削除された。
    約25MBのファイルからは、約2~3MBのエクセルファイルが生成された。


    分離ストレージ作業の実行 …なんだか設定が難しそう
    http://msdn2.microsoft.com/ja-jp/library/8dzkff1s(VS.80).aspx

     同時に実行される ASP.NET アプリケーションを分離して保護するために、Internet Information Services (IIS) 6.0 には 2 種類のアプリケーション分離モードが用意されています。既定では、ワーカープロセス分離モードが使用されます。ただし、下位互換性のために IIS 5.0 の分離モードも用意されています。以降のセクションでは、2 つのアプリケーション分離モードと、モードの設定方法について説明します
    http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpguide/html/cpconiis60applicationisolationmodesoverview.asp

    分離ストレージの記述
    http://hmoriya.spaces.live.com/Blog/cns!1p-An5TkTt7qCW_wTC0WEsUg!142.entry

    その他 .NET Frameworkのツール達http://studiodragoonnet.main.jp/tech/modules/sections/index.php?op=viewarticle&artid=60

    @IT で説明されている。

    [ASP.NET]セッション情報を外部プロセスで管理するには?
    http://www.atmarkit.co.jp/fdotnet/dotnettips/183aspsesout/aspsesout.html

    [ASP.NET]セッション情報をSQL Server上で管理するには?
    http://www.atmarkit.co.jp/fdotnet/dotnettips/186aspsessql/aspsessql.html


    ↑下記からリンクして見つけた
    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=18387&forum=7

    @IT会議室での話題
    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=18387&forum=7

    ASP.NET(VB.net)でWebサイトを立ち上げています。
    (.net framework 1.1)
    本番初日out of memory exceptionでIISダウンが頻発しています。


    どうもセッションを張るときに、
    DBの内容を大量にメモリーに格納しているようです。
    そしてセッションタイムアウトを120分にしているため、
    かなりの数のセッションが張りっぱなしになっているようです。

    B2Bですが利用者の顔が見えないので暗中模索です。

    目先の対応として、セッションタイムアウトを
    ひとつのサブシステムは10分、もうひとつは30分にして再起動させ、
    様子を見ています。

    同時ユーザー数を20と設定してテストしていたのですが、
    画面を上げっぱなしの場合を考慮していなかったようです。

    ---------------------------------------------------------------------------------------
    上記の対応を行った結果、午後からはサーバーが落ちることなく運用できました。

    今更ながらバージョンアップをした方が良いかもしれない。早急に検証しよう。

    Yamakiさんのブログによると…
    http://d.hatena.ne.jp/Yamaki/20060817/1155777218#c

    記のSomasegarさんのblogによると、SP1の修正は全部で400以上もあるとのこと。
    Somasegar’s WebLog : VS .NET 2003 SP1 is available!

    This amounts to more than 400 issues overall that we have fixed in SP1.

    構成にもよるかと思いますが、インストール時の注意点は下記の3つです。

    インストール実行後の最初のダイアログの表示時間がかなり長い
    下記の「ディベロッパー製品開発統括部Blog」でも書かれていますね。
    Visual Studio .NET 2003 SP1 最終版 まもなくリリース
    途中で、「Visual Studio .NET 2003 Disc 1」のCDを求められる
    最後に再起動を求められる
    # aspx 『「インスール実行後の最初のダイアログの表示時間がかなり長い
    」が5分くらいかかりました。危うくタスクをKILLするところでした。』

    グレープシティ  テクニカルエバンジェリスト 
    ヤマキ様のブログ(Yuya Yamaki's blog)

    http://d.hatena.ne.jp/Yamaki/searchdiary?word=*%5BASP.NET%5D

    VS2003からVS2005へアップした際のグレープシティ製品の対応についても書かれている。
    グレープシティの技術の方が書いているので、生々しい情報が得られるかもしれない。

    confirm()について
    通常フォーカスは「OK」にデフォルトセットされているが
    「キャンセル」をデフォルトにすることは出来ないらしい。
    showModalDialogで代用

    こんな簡単にASP.net でJavaScriptの確認画面(YES/NO)が実現出来るとは…参考になった。

    http://www.atmarkit.co.jp/fdotnet/dotnettips/015confirm/confirm.html
    Attributesプロパティによる属性の設定 
    Buttonコントロールでメッセージ・ボックスを表示するには、ASP.NETのページがレンダリングされて、最終的にサーバから送信されるHTML内のinputタグのonclick属性に、JavaScriptのスクリプトが挿入されるような仕組みが必要となる。これには、Buttonコントロールの実体であるButtonクラス(System.Web.UI.WebControls名前空間)のAttributesプロパティを使用する(正確にはAttributesプロパティはButtonクラスの親クラスであるWebControlクラスから継承している)。
    Attributesプロパティは、サーバ・コントロールの属性のコレクションであり、C#では次のようにして、値を追加設定することができる。

    Button1.Attributes["onclick"] = "return confirm('本当に移動しますか?');";

    http://q.hatena.ne.jp/1103714030

    メモリは足りているのに OutOfMemory
    http://www.atmarkit.co.jp/fjava/rensai2/webopt09/webopt09.html

    ページ・ファイルによるディスクのフラグメントを防止する方法http://www.atmarkit.co.jp/fwin2k/win2ktips/077setpgflmin_max_eq/077setpgflmin_max_eq.html

    One of my Web Apps is dealing with employee training and the database has a data size of 250MB
    http://www.crystaltech.com/forum/post.asp?method=TopicQuote&TOPIC_ID=12243&FORUM_ID=17

    <質問内容>
    メモリが2GBのサーバにddlを配置し、アセンブリ後
    動作させたところ、今度はOut Of Memory となってしまい、
    IIS本体が起動しなくなっていという現象が発生しました。

    メモリーは実行前500MB、起動後数分すると1.5GB位に
    増加してしまうのですが、普通の現象でしょうか。

    以上、宜しくお願い致します。

    <GrapeCity 回答内容>
    たびたびお手数をお掛けしまして申し訳ございません。

    レポート作成時やエクスポート時に使用されるメモリ量は、レポートの
    データ量(ページ数や文字数、画像の有無やサイズなど)に依存します。
    これらの条件によっては、IISのワーカープロセスのメモリ使用量が、
    ご指摘のような値になる可能性もございます。

    <質問内容>
    ASP.netの指示画面に表示された日本語のエラー及び、
    イベントビューアに作成されたエラーを添付致します。
    --------------------------------------------------
    「aspnet_wp.exe  (PID: 3964) was recycled because
    memory consumption exceeded the 608 MB
     (60 percent of available RAM).」
    --------------------------------------------------

    aspnet_wp.exeが扱える物理メモリー容量問題でしょうか。
    それとも、ダウンロード可能なサイズが問題なのでしょうか。
    テストで使用しているPCのOSは、WinXP Proで、RAMは
    現在1GBです。

    machine.config、Web.configの値も変更し、
    <httpRuntime maxRequestLength="20480"/>というように
    してありますが、これだけでは回避が出来ていません。

    ご教授のほどよろしくお願い致します。

    ---------- 追加情報 ----------
    追加検証した情報をお送りいたします。

    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config
    にある、machine.configの processModel memoryLimit を
    60から90へ変更してみましたところ、前回まで約4200行でエラーと
    なりましたが、約8000行は出力されるようになりました。
    メモリーとの関係があることは推測がつきましたが、適切な設定が
    分かりません。
    ActiveReports ProをASP.netを使用して、PDF、Excelのファイルを
    ダウンロードする場合には、大よそどの程度のメモリーと設定が必要
    になるのでしょうか。

            <processModel
                enable="true"
                timeout="Infinite"
                idleTimeout="Infinite"
                shutdownTimeout="0:00:05"
                requestLimit="Infinite"
                requestQueueLimit="5000"
                restartQueueLimit="10"
     ★         memoryLimit="90"
                webGarden="false"
                cpuMask="0xffffffff"
                userName="machine"
                password="AutoGenerate"
                logLevel="Errors"
                clientConnectedCheck="0:00:05"
                comAuthenticationLevel="Connect"
                comImpersonationLevel="Impersonate"
                responseDeadlockInterval="00:03:00"
                maxWorkerThreads="20"
                maxIoThreads="20"
            />

    以上、ご回答のほど宜しくお願い申し上げます。

    <GrapeCity 回答内容>
    ご指摘のエラーは、ASP.NET Webアプリケーションの実行時に、メモリが
    不足している場合に発生する、一般的なエラーです。

    デフォルトの状態では、ASP.NETのワーカープロセスが使用できるメモリ
    サイズは、システムメモリの60%に設定されています。ご質問内容にも
    ございますように、Machine.configのmemoryLimit属性で、この割合を
    設定することが可能です。

    [processModel 要素 (ASP.NET 設定スキーマ)]
    http://msdn2.microsoft.com/ja-jp/library/7w2sway1.aspx

    誠に恐れ入りますが、Machine.configの設定方法につきましては、MSDN
    ライブラリ等をご参照ください。

    以前の回答でも申し上げましたように、実際に作成可能なレポートの
    ページ数の上限は、実行環境のリソースや、アプリケーションが使用
    するメモリ等に依存します。ご質問内容にある処理の場合、アプリケー
    ションは608MB以上のメモリを必要としていることになります。
    実行環境のメモリを増やす方法や、同時接続(実行)するクライアント
    数に制限を設けるなど、運用面での対処につきましてもご検討ください。

    <ご質問内容>
    先の問題は、まだ未解決なのですが、もう一点別の質問が
    ございます。ご回答いただけますか。
    サンプル出力をご確認下さい。

    ①先にお送りしている問題で出力したサンプルですが、
    この中で数値がセットされているデータのセル属性が自動的に
    判断され、数値型、ユーザ定義、ロシア語など、様々
    に設定されています。
    どのような規則でセル属性が設定されるのでしょうか。

    ②右寄せになっていますが、左寄せにすることは出来ませんか
    金額、数量はは良いのですが、コード等、右寄せ表示をしたい
    場合があります。
    デザイン画面で、左寄せ、中央寄せにしても、自動的に
    右寄せになってしまうようです。

    以上、宜しくお願い致します。

    <回答内容>
    XlsExportクラスによるエクスポートでは、セルの書式はデータの内容に
    よって自動的に決定されます。

     レポート上の出力          セルの書式設定
    ---------------------------------------------------
    ","(カンマ)を含んだ数値の場合  通貨型
    ","(カンマ)を含まない数値の場合 ユーザー定義型
    "%"を含んだ数値の場合       パーセンテージ型
    上記以外              標準

    詳細につきましては、製品ヘルプの下記の内容をご参照ください。

     Class Library
    - DataDynamics.ActiveReports.Export.Xls 名前空間
    - クラス
    - XlsExport
    - メソッド
    - Export メソッド

    恐れ入りますが、XlsExportによるExportの場合、セルの書式を任意に
    設定・変更する機能は、用意されておりません。
    また、セルの「横位置」については、コントロールのAlignmentプロパ
    ティの設定が適用される訳ではありません。Excel上でデータを入力した
    場合と同様に、数値として判断されるデータは右寄せで表示されます。

    精度の高いExcel出力が前提である場合には、Excelエクスポートのもう
    一つの方法である、SpreadBuilder機能を使用する方法をご検討ください
    ますようお願い申し上げます。
    SpreadBuilder機能を使用する場合、CellクラスのWrapTextプロパティや
    Alignmentプロパティを設定することで、Excel上のセルの書式「折り返
    して全体を表示する」や、「配置」の「横位置」などを任意に指定する
    ことが可能です。

    SpreadBuilderの使用法につきましては、製品ヘルプの以下の項を
    ご参照ください。

     ActiveReports for .NETユーザーガイド
    - サンプルと基本操作
    - 基本操作
    - Standard Editionの基本操作
    - SpreadBuilderの使用

    弊社Webサイトの「よくある質問(FAQ)」にて公開されている、下記の
    内容につきましても、併せてご確認ください。

    [ActiveReports for .NET 2.0J Professional のテクニカルFAQ]
    http://www.grapecity.com/japan/support/database/P7_330_TechFaq.htm

     ID: 7747
    レポートのイベントを利用してSpreadBuilderによりExcelファイルを
    作成する方法【※サンプル有り】

    <質問内容>
    EXCELの出力を試しているのですが、あるレイアウトで
    「Too many MergeAreas」というエラーが表示されます。
    PDFで出力してみたところ問題有りませんでした。

    明細行の縦の項目のマージには対応していなのでしょうか。
    添付したエクセルをご確認いただけますか。

    以上、ご回答のほど宜しくお願い申し上げます。

    <GrapeCity  回答内容>
    恐れ入りますが、ご指摘のエラーは、Excelエクスポート機能の制限に
    よるものです。

    ActiveReportsのExcelエクスポート機能は、1シートあたり32767回を
    超える回数のマージには対応しておりません。
    UseCellMergingプロパティをTrueに設定した場合、レポートのレイアウ
    トによってはセルのマージが行なわれますが、上記の制限を越えてマー
    ジ処理が行われた場合に、「Too many MergeAreas.」というエラーが
    発生します。

    本制限は、SpreadBuilder機能のMergeメソッドを実行してセルをマージ
    する場合も同様であり、32768回目を実行したときに本例外が発生します。

    恐れ入りますが、32768回以上のマージを行う場合には、セルのレイアウ
    トを変更してマージの回数を小さくするか、別のシートを使用するなど
    の方法をご検討くださいますようお願い申し上げます。

    製品のドキュメントに情報が不足しておりましたことを、お詫び申し
    上げます。

    <質問内容>
    ご回答いただいた件「CacheToDiskプロパティをTrue」ですが、
    この設定は、ビューア又はPDF形式で出力した場合のみ有効と
    書かれていました。
    今回のプロジェクトでは、PDF出力もございますが、現状の問題は
    EXCEL出力時です。設定「CacheToDiskプロパティ」はでの効果は
    有りますか。

    以上、ご回答のほど宜しくお願い申し上げます。

    <GrapeCity 回答内容>
    ActiveReportsのExcelエクスポート機能(XlsExportクラス)を使用して、
    レポートをExcel形式で出力する場合、(1)レポートの作成→(2)作成した
    レポートをExcel形式に出力(変換)という処理の流れになります。

    CacheToDiskプロパティは、(1)の処理においては機能しますが、(2)の
    処理に対しては特に効果がありません。

    <質問内容>
    以前、Standard版を使用してたこともあり、WEBの開発で
    Professional版の購入を決定するため試用しています。

    質問①
    ブラウザのプログラムで、XlsExportを使用してExcel出力を
    行う際、明細行を用紙サイズに関係なく連続で出力される
    ようにしたいのですが
    「このレポートは、ActiveReports for.NET トライアル版で…」
    の一行が表示されるため各ページイメージの最終行で必ず一行
    空いてしまいます。正式版であれば表示されず、連続で空行無く
    出力されますか。

    質問②
    Excelに出力する際、最大ワークシートサイズ 65,536行、256列
    というExcelの制限に従うと思いますが、列数が256列未満の
    簡単なサンプルで試したところ、エラーとなりました。
    今回の開発では、エクセル、PDF出力がメインの処理と
    なるため、実際に使用出来る制限があるかないか、またサーバー
    のメモリーに依存するのか等を知りたいのですが。

    以上、宜しくお願い申し上げます。

    <GrapeCity 回答内容>
    この度は弊社製品をご検討いただきまして、ありがとうございます。

    (1)トライアル版を使用し、レポートをExcel形式でエクスポートした
    場合、各ページの下部にトライアル版のバナーが出力されるため、
    Excelのシート上にもご指摘のような行が作成されます。
    製品版を使用した場合、このようなバナー行は出力されません。

    Excelエクスポート時の注意事項につきましては、製品ヘルプの以下の
    内容も併せてご参照ください。

     ActiveReports for .NETユーザーガイド
    - よくある質問
    - エクスポート
    - Excelエクスポートの出力結果がずれる

    (2)申し訳ございませんが、お送りいただいた情報からは、内容を十分に
    把握することができませんでした。
    発生しているエラーとは、以下のような内容でしょうか。

    ----------------------------------------
    The specified iColumn argument is either less than zero or
    greater than the maximum number of columns that the Excel
    file format supports.
    ----------------------------------------

    Excelエクスポート時、出力されるExcelデータ(ファイル)の行数が
    65536行を超える場合には、Exportメソッドの処理で上記のような例外が
    発生します。
    65536行を超える行数のExcel出力には対応しておりませんので、あらか
    じめご了承ください。

    また、ActiveReportsの仕様として、レポートのページ数やコントロール
    数に、特に上限は設けられておりませんが、実際の上限は、実行環境の
    リソースや、アプリケーションが使用するメモリ等に依存します。
    弊社Webサイトの「よくある質問」にて公開されている、下記の内容に
    つきましても、参考までにご確認ください。

    [ActiveReports for .NET 2.0J Professional のテクニカルFAQ]
    http://www.grapecity.com/japan/support/database/P7_330_TechFaq.htm

     ID: 7650
    作成できるレポートのページ数の上限は?

     ID: 9363
    パフォーマンスに関する資料はありますか?

    <質問内容、ご指摘の現象>
    ◆.NETFrameworkのバージョン: 2.0
    ◆Visual Studio .NETのバージョン: 2003
    ◆オペレーティングシステム: WindowsXP Professional
    ◆OSサービスパック使用状況: Service Pack 2
    ◆開発言語: Visual Basic .NET
    ◆製品の修正版適用状況:  4.2.1.1238
    ◆アプリケーションの形態: Webフォーム

    <GrapeCity回答内容>
    > ActiveReportsのExcelエクスポート機能(XlsExportクラス)を使用
    して、レポートをExcel形式で出力する場合、(1)レポートの作成→(2)
    作成したレポートをExcel形式に出力(変換)という処理の流れになり
    ます。
    CacheToDiskプロパティは、(1)の処理においては機能しますが、(2)の
    処理に対しては特に効果がありません。

    【ご回答内容について、再度質問がございます】
    今回は指示画面(ASP.netで作成)にツールのコンポーネントから選択した
    「XlsExport」をコンポーネントトレイに貼り付けエクセル形式で直接
    ダウンロードする実装形式となっています。
    コード内では、下記のような定義が自動的に行われています。
    Protected WithEvents XlsExport2 As DataDynamics.ActiveReports
    .Export.Xls.XlsExport

    この場合でも、「(1)レポートの作成」という動作が内部で行われ
    CacheToDiskを設定する効果が有ると考えて宜しいでしょうか。

    以上、宜しくお願い致します。

    <回答内容>
    たびたびお手数をお掛けしまして申し訳ございません。

    レポートをExcel形式で出力する場合、以下のような処理を実装します。
    レポートの作成処理が自動的に行われるわけではありません(レポート
    を作成せずに、レポートをExcel形式で出力することはできません)。

    ◆サンプルコード
    ----------------------------------------
    Dim rpt as new ActiveReport1
    Dim m_stream As New System.IO.MemoryStream()


    ' (1)レポートの作成
    rpt.Run(False)

     ' (2)作成したレポートをExcel形式でメモリストリームに出力(変換)
    XlsExport2.Export(rpt.Document, Am_stream)
    ----------------------------------------

    上記の場合、(1)の処理において、CacheToDiskプロパティの設定が有効
    となります。

    前のページ HOME 次のページ
    Copyright © Augmented Reality & Virtual Reality World | 拡張現実と仮想現実の世界 All Rights Reserved
    Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
    忍者ブログ / [PR]