- - PR -
CSV出力について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-09-30 03:32
こんばんは。
まやです。 http://www.atmarkit.co.jp/fdotnet/dotnettips/213asptemplate/asptemplate.htmlを参考 にしてCSVファイルの出力を行うと思っています。 参考の遠り作成してみると、エラーとして 「エラー3 検証(): 要素 'html' が発生する回数が少なすぎます」 「エラー4 認識されないタグ プレフィックスまたはデバイス フィルタ 'asp' です。」 が出力されてしまいます。 コントロールの部分だと思い、<asp:Repeater id="objRep" runat="Server" DataSource="<%#objDr %>" /> の部分に <html> <body> <asp:Repeater id="objRep" runat="Server" DataSource="<%#objDr %>" /> の </body> </html> と行ってみた所エラーは消えたのですが出力されるCSVファイルに<html>、<body>、</body> 、</html>が記載されて困っております。この方法だとうまく行えないのでしょうか? アドバイスの程をどうかよろしくお願い致します。 | ||||
|
投稿日時: 2006-09-30 05:50
GridViewをCSV形式でエクスポートするサンプルを作成
しましたので参考にしてください。 ↓GridViewをCSV形式でエクスポート http://akiokasai.qsh.eu/Goto.aspx?id=060927-2 ※このサンプルはIE7(RC)では正常に動作しません。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||
|
投稿日時: 2006-09-30 06:56
Access様
おはようございます。 まやです。 迅速なご返答ありがとうございます。 さっそく参考にさせて頂きます。 参考例まで出して頂いてこんな事を言ってしまってもし気にさわられてしまったら申し訳ありませんが、やはり今回の用なやり方では不可能なのでしょうか? | ||||
|
投稿日時: 2006-10-02 21:49
まやです。
こんばんは。 何度も大変申し訳ありませんが、投稿させて頂いたやりかた でやらなくてはいけなくて、アドバイスを頂きたく再度アップしました。 今回CSVファイルに<html>、<body>、</body> 、</html>が記載されてるのならば、CSVファイルに書き込みが終わった際 に再度そのファイルを読み込み、<html>、<body>、</body> 、</html>が記載されていた場合その部分のみ削除する方法をと思って 調べているのですが、この様な方法は可能でしょうか? アドバイスの程をどうかよろしくお願い致します。 | ||||
|
投稿日時: 2006-10-02 22:57
#.NETをあまり(というか全然)わからないのにアレですが(汗
Content-typeは間違ってないですよね?なぜ「エラー3 検証(): 要素 'html' が発生する回数が少なすぎます」というエラーになるのかを追求した方がいいと思います。application/octet-streamで<html><body>を付ける意味はないと思いますので・・。
ローカルに落としたデータを触るのは無理では?どこに置いたのかもわからないと思います。 | ||||
|
投稿日時: 2006-10-03 06:11
「まや」さんが参考にされたサンプルは、メモ帳などのテキストエディタで 作成したものと思われます。 VS.NET, VWDなどのIDEツールを利用すると自動的に<html><body>などのタグが 追加されますので、CSVにこれらのタグが含まれてしまいます。 解決策としては、 1)テキストエディタでASPXファイルを作成する。 この場合、<html><body>なしてRepeaterを記述できます。 ただし、保守性がよくないのでお勧めできません。 ※あなたが参考にされたサンプルは、データにコンマ、引用符が 含まれているとき問題があります。 2)コードを記述してCSVファイルを生成する。 当方が作成したサンプル _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||
|
投稿日時: 2006-10-04 00:58
こんばんは。
まやです。 shimix様、Access様、ご返答本当にありがとうございます 引用: -------------------------------------------------------------------------------- 解決策としては、 1)テキストエディタでASPXファイルを作成する。 この場合、<html><body>なしてRepeaterを記述できます。 ただし、保守性がよくないのでお勧めできません。 ※あなたが参考にされたサンプルは、データにコンマ、引用符が 含まれているとき問題があります。 -------------------------------------------------------------------------------- Access様、テキストエディタで作成したらうまく行きましたありがとうございました。 そして、問題まで記載して下さり本当にありがとうございした。 Access様のアドバイス通り問題が発生する事から、Access様がご提示して頂いた サンプルを元に行ってみたいと思いますが、例えば、値が「1」(int型)だった 時にCSVでは「テスト」と表示したらい、値がdatetaime型の場合日付だけを 表示させる事は可能でしょうか? 何回も本当に申し訳ございませんが、何卒アドバイスの程をよろしくお願いいたします。 | ||||
|
投稿日時: 2006-10-04 06:26
コードでCSVファイルを作成していますから希望通りの仕様でできます。 カレントのレコードがDataRowに格納されていますので、フィールドの値をチェック したり、値をフォーマットします。 例1) If row("数値") = 1 Then 例2) String.Format("{0:d}", row("日付")) _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 |
1