GridviewをExcel形式で書き出すコードを作成してみました。
Protected Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
'書き込むファイルが既に存在している場合は、上書きする
Dim sw As New System.IO.StreamWriter("C:\××\××.xls", _
False, _
System.Text.Encoding.GetEncoding("shift_jis"))
Dim HW = New HtmlTextWriter(sw)
'TemplateFieldを非表示(Excel書出しエラーを回避)
Me.GridView2.Columns(0).Visible = False
Me.GridView2.Visible = True
Me.GridView2.RenderControl(HW)
'閉じる
sw.Close()
End Sub
この方法で書き出されたExcelファイルを開いてみると
「開こうとしているファイル××の形式は、ファイル拡張子が示す形式と異なります云々・・・。」
と出て、「はい」で無理矢理開くとExcel形式で表示されますが
このファイルはどうやらWebページ形式のようです。
ネットで調べたところ以下のような記載を見つけました。
>なぜなら、上記のやり方では、htmlを無理やりExcelで開いているに過ぎないからです。
>(作成されるファイルを保存してテキストエディタで開けば、中身がhtmlであることが確認できます。)
たしかに上記のとおりになってしまっているのですが
このファイルを、Excel97-2002形式で保存することは出来ないのでしょうか?
No.2ベストアンサー
- 回答日時:
HtmlTextWriter使ってる時点でhtml書き出しですね。
Excel利用という観点では、他にxml書き出しなどもありますが、やはりxlsではありません。
純粋なXLS書き出しを行うには、サードパーティー製の書出しモジュール(有償製品)を使うか、Webアプリならファイル書出しではなくResponseを使い、Content-typeにExcelを指定してヘルパアプリケーションとしてExcelを開かせてしまう、という方法になると思います。
コンポーネントで実績があるのはここいら
Excel Creator
http://www.adv.co.jp/product/product_excelcreato …
ご回答いただきありがとうございます!
私が考えるように単純なものではなかったですね。。。
いただいたご回答を参考に別の方法を探ってみます。
(できれば無料でできる方法を見つけたいです!)
社内で採用してもえるようにがんばります!!
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
研究する文献がたくさんありま...
-
#include <Windows.h>というヘ...
-
binファイルを解凍したいの...
-
jarファイル
-
ファイルが開かれているかどう...
-
VBAでパスワードつきZIP圧縮に...
-
参照するファイルをワイルドカ...
-
公文書のxmlファイルの開き方が...
-
バッチ処理で追記コピーしたい
-
Seasar2のdiconファイルの読み方
-
2つのファイルのバイナリをコン...
-
拡張子 *.001ってなんですか?
-
COBOL
-
アクセス 壊れた? 「ファイ...
-
JRのjsonファイルって使って大...
-
ファイル圧縮形式の変更について
-
コマンドプロンプトで、指定し...
-
GridviewをExcel形式で書き出す
-
HTMLについて教えて頂きたいで...
-
VBについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
C#でログファイルにファイルパ...
-
binファイルを解凍したいの...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
.NETアプリを作ったときの .man...
-
exeファイルの中身を見る方法は...
-
C言語---ファイルに出力したデ...
-
CSSを1ページに1枚作るのって変...
-
jarファイル
-
コマンドプロンプトで、指定し...
-
自分で作成した重要ファイルを...
-
コマンドプロンプトで作成日時...
-
バッチ処理で追記コピーしたい
-
ファイルが開かれているかどう...
-
VBSが起動しない
-
公文書のxmlファイルの開き方が...
-
監視ツールを入れさせられまし...
-
Seasar2のdiconファイルの読み方
-
ファイル名にドットを使ったフ...
おすすめ情報