私はVS17のコードを書き、そのコードは、(ファイルのパスを読み取り、OLE.DB使用してそれを読み取ることによって、これまでそれを使用した)xlsx
ファイルに格納されたデータベースを使用するの埋込みXLSXのfileinto:exeファイルのC#
string DataBase_File = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory.ToString(), String.Format("{0}", db_name));
string constr = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=NO""", DataBase_File);
using (OleDbConnection conn = new OleDbConnection(constr))
{
conn.Open();
OleDbCommand command = new OleDbCommand(string.Format("Select * from [{0}]", SheetName), conn);
OleDbDataReader reader = command.ExecuteReader();
を
私は.exe
ファイルにコンパイルしたい場合は、私は次のようにリソースにファイルを追加しました:
var fileString = namespace.Properties.Resources.DataBase;
しかし、私が得る結果はfilestringには{bytes[28432]}
であるということです。
私は実際にその値をセルとしてデータベースとして使用できるパスまたはファイルにすることはできますか?
あなたはバイト配列(byte[]
)を取得していると、あなたのExcelファイルへのパスとしてそのバイト配列を使用しようとしているライン
var fileString = namespace.Properties.Resources.DataBase;
で
一時ファイルに保存しますか? –