c#でcsvファイルをリソースとして読み込むには?
222.csvというファイルがあります、
これを「リソースの追加」からResourcesフォルダに入れ、ソリューションエクスプローラーから
ファイルの存在を確認するところまではできたのですが、
このcsvファイルの内容を変数に代入できずに困っております。
222.csvがResourcesフォルダに入ると_222.csvというファイル名に変わるので、
以下の記述によって変数に代入できるかと思ったのですが、うまくいきません。
string path = Project1.Properties.Resources._222;
他に正しい記述の仕方があるのでしょうか?
アドバイスお願いします。
No.3ベストアンサー
- 回答日時:
> これで設定したボタンを押してみましたが、何も起こりませんでした…
Windowsフォームの環境でしたらテキストボックスか何かにでも出力してみてください。
例に書いたのはコンソールアプリ用のものですから。
textBox1とかいうテキストボックスがあったら
private void button3_Click_1(object sender, EventArgs e)
{
string txt = Properties.Resources._222;
textBox1.Text = txt;
}
とかいうように。
お返事遅くなりまして申し訳ありませんでした。
おかげさまで問題解決しました。
お忙しい中何度もご回答ありがとうございます
本当に助かりました。
No.2
- 回答日時:
とりあえず、ソリューションエクスプローラーに表示されているファイル名は忘れてください。
「プロジェクト」メニューの一番下の「○○○のプロパティ」(○○○はプロジェクトの名前)を開くとプロジェクトに登録されているリソースの一覧が出ますので、そこに表示されている名前を使ってください。
仮にこのリソース名を hogehoge とすると、
string txt = Properties.Resources.hogehoge;
で、txtにhogehogeの中身が読み込まれます。
(今の場合、txtの中身は csvファイルの内容そのもの)
リソースの読み込みはこれだけでOKです。
読み込んだcsvの中身を行毎やセル毎に取り出すというのは、また別の作業です。
試しに
Console.Write(txt);
とすれば、csvの中身がコンソールに表示されるはずです。
この回答への補足
度々もうしわけありません。
仰る通りに実行したのですがまだうまくいきません。
プロパティの内容を読み込むだけのボタンを作って実行してみました。
private void button3_Click_1(object sender, EventArgs e)
{
string txt = Properties.Resources._222;
Console.Write(txt);
}
プロパティ内でファイル名は_222になります、これはResources.まで打ち込むと自動で出てくる名を
タブキーで選択しているので間違いないと思います。
これで設定したボタンを押してみましたが、何も起こりませんでした…
他に注意する点などありませんでしょうか?
お忙しい中何度も申し訳ありませんがよろしくお願いします。
No.1
- 回答日時:
リソースはビルド時にオブジェクトとしてプログラムの中に組み込まれるので、Resourceフォルダのパスを指定しても意味ありません。
第一、実行環境にResourceフォルダなんてものは用意されません。リソースに追加したときにリソースIDなりリソース名なりを付加しているはずなので、それを使ってアクセスします。
リソースの使い方ぐらいググればいくらでも出て来ますが、
http://dobon.net/vb/dotnet/programing/bitmapreso …
(これは古い方法)
とか
http://dobon.net/vb/dotnet/programing/vsresource …
あたりが参考になるでしょう。
この回答への補足
お返事ありがとうございます。
質問前に方法をグーグル検索で探し、該当のページも拝見しましたが
初心者ですので、はっきりと理解ができませんでした。
今回の場合、以下のコードを記述すればリソースフォルダに入れたcsvファイルが
読み込めるということでしょうか?
//現在のコードを実行しているAssemblyを取得
System.Reflection.Assembly myAssembly =
System.Reflection.Assembly.GetExecutingAssembly();
//指定されたマニフェストリソースを読み込む
System.IO.StreamReader sr =
new System.IO.StreamReader(
myAssembly.GetManifestResourceStream("Project1.222.csv"),//ここでファイル名を指定。
System.Text.Encoding.GetEncoding("shift-jis"));
//内容を読み込む
string s = sr.ReadToEnd();
//後始末
sr.Close();
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- XML PHP.laravelについて 1 2023/07/06 15:26
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) csvに別のExcelの文章を差し込む 2 2023/04/01 16:06
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
【C#】リソースファイルの埋め込みと書き出し
その他(プログラミング・Web制作)
-
オブジェクト参照がオブジェクト インスタンスに設定されていません というエラーについて
Microsoft ASP
-
インスタンス参照でアクセスできない。代わりに型名?
C言語・C++・C#
-
-
4
VB.NET リソースの埋め込みについて いま、exeにファイルを埋め込んで使っている状態です(ex
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルの途中行から...
-
デスクトップ画面に「◯◯まであ...
-
Subversionで日本語ファイル名...
-
OneDrive必要なものでしょうか
-
Eclipseのコード入力時の、行コ...
-
EXCELVBAにて文字列にして「01...
-
複数のExcelファイルにある同名...
-
CSVファイルの特定行の削除
-
Access VBAから使用したExcelプ...
-
FTPのgetとputの使いわけ。
-
パスワード付きmp3ファイルにつ...
-
C++言語で、構造体のコピーは可...
-
エクセルVBA 実行時エラー'...
-
svnでファイル移動すると履歴が...
-
Subvirsion サーバに接続できま...
-
WINDOWS CMDからゴミ箱のファ...
-
ファイルが移動してもリンクの...
-
一行おきに貼り付ける 可能でし...
-
DataTableに入っているデータを...
-
[SVN]Subversionリポジトリの容...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルの途中行から...
-
vbsで最後の行を削除する
-
c#でcsvファイルをリソースとし...
-
VBSで.csvを.txtに変換は可...
-
CreateTextFileをするには?
-
セルの値でフォルダやファイル...
-
svnでファイル移動すると履歴が...
-
デスクトップ画面に「◯◯まであ...
-
iCloud for Windowsをアンイン...
-
Access VBAから使用したExcelプ...
-
vbsからのExcelマクロ呼び出し...
-
TortoiseSVNにおける削除ファイ...
-
CSVファイルの特定行の削除
-
C++言語で、構造体のコピーは可...
-
EXCELVBAにて文字列にして「01...
-
DataTableに入っているデータを...
-
OneDrive必要なものでしょうか
-
マウントしたディスクにcpで、...
-
Subversionで日本語ファイル名...
-
Excel: ファイル名になぜ、[...
おすすめ情報