- PR -

Live Demo:DataGridをExcelにエクスポートしてグラフを作成するには

投稿者投稿内容
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2002-09-18 03:21
引用:

1レコードのとき、文字化けが起こります。


レコード件数の問題ではなく、Encodingの問題と思われます。

.aspxファイルの<Page> DirectiveかWeb.configの<globalization>を以下のように設定してみてください。

<%@ Page Language="VB" Culture="ja-JP" UICulture="ja-JP" ResponseEncoding="Shift-JIS" %>

<globalization
fileEncoding="shift-jis"
requestEncoding="shift-jis"
responseEncoding="shift-jis"
culture="ja-JP"
uiCulture="ja-JP" />
elmo
常連さん
会議室デビュー日: 2002/08/09
投稿数: 47
投稿日時: 2002-09-18 17:41
elmoです。
すみません。初歩の初歩を聞いてしまうのですが、
いまexcelファイルにデータを書き込む処理をしているのですが、

CreateObject("Excel.Application")


「ActiveX コンポーネントを作成できません」
というエラーがでています。
なにか設定しなくてはいけないのでしょうか?
教えていただけると大変助かります。
elmo
常連さん
会議室デビュー日: 2002/08/09
投稿数: 47
投稿日時: 2002-09-19 10:55
おはようございます。elmoです。
昨日よりexcelの調査を行っているのですが、いまだ解決にはいたっていません・・・。

インターネットで調べていると以下のような記事を発見しました。

=============================================================================
ASP.NET アプリケーションから MTS コンポーネントを使用するためには、あらかじめ、次のようにセキュリティを変更しておく必要があります。
-----------------------------------------------------------------------------
(1)
コンポーネント サービスで、MTS アプリケーションの [プロパティ] ウィンドウを開きます。

(2)
[ID] タブをクリックし、コンポーネントが実行されるアカウントをこの目的のためだけに作成された新しいローカル コンピュータのアカウントに変更します。

(3)
ユーティリティ Dcomcnfg.exe を実行します。

(4)
[既定のセキュリティ] タブを選択します。

(5)
[既定のアクセス権] の下の [既定値の編集] をクリックし、手順 2 で作成したユーザーを追加します。

(6)
IIS を再起動して、変更が認識されるようにします。
=============================================================================

エラーを見ているとどうもエクセルへのアクセスが拒否されているように感じます。
権限を与えなければいけないんじゃないのかと思って、上のことを実行しようとしてみたのですが、(1)のMTS アプリケーションがコンポーネントサービスで見当たらず、困っています。
(もしかして見当外れな事をしてるかもしれませんが・・・)

前記事のようなエラーが出た方はいらっしゃらないのでしょうか・・・。
そんな設定しなくてもできたよという事だけでもわかれば大変助かりますので、情報をお願いします!
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2002-09-19 11:33
こんにちは、まゆりんです。

引用:

elmoさんの書き込み (2002-09-18 17:41) より:

CreateObject("Excel.Application")


「ActiveX コンポーネントを作成できません」
というエラーがでています。




私も以前elmoさんと同じ現象に遭いました。
その時は、試しにWindowsアプリケーションに同じ処理を実装したら上手くいきました。
でもWebアプリケーション上では出来なかったので諦めた記憶があります。
(というより、開発期間が短いので調査の時間が無かっただけ)

原因が分かればすぐにでも実装させたいですね。
便乗で申し訳ありませんが、ご教授願えればと思っております。
elmo
常連さん
会議室デビュー日: 2002/08/09
投稿数: 47
投稿日時: 2002-09-20 13:22
elmoです。

EXCELを新規作成することはできました。
ですが
CreateObject("Excel.Application")
は使っていません・・・。

FileOpen(fileNumber, "c:\Inetpub\wwwroot\test\test.xls", OpenMode.Output)
でアドレス指定したファイルがなぜか作成できました。また書き込みもできました。

設定はこのファイルのあるフォルダ(プロジェクトのフォルダ)のセキュリティにASPNETのユーザーを設定、書き込み権限を与えるとできたのです。

ただワークブックやシートの設定はためしてません。
試したコードは以下のとおりです。

==================================================
SAMPLE CODE
--------------------------------------------------
Dim fileNumber As Integer
fileNumber = FreeFile()
FileOpen(fileNumber, "c:\Inetpub\wwwroot\test\test.xls", OpenMode.Output)

Dim today1 As Date
today1 = Date.Now
Dim comment As String = "Today is "

WriteLine(fileNumber, comment)
WriteLine(fileNumber, today1)

FileClose(fileNumber)
==================================================

同じ要領でエクセルのアプリケーションに権限を与えてみたのですが、
やはりCreateObjectはできませんでした。

スキルアップ/キャリアアップ(JOB@IT)