SAP Business One からダイアログ ボックスを開いて Excel シート (.csv) を読み込もうとしています。以前にこれを試したことがなく、Excel シートを読み取ろうとすると次のエラーが表示されます。
private void GetFile()
{
using (GetFileNameClass oGetFileName = new GetFileNameClass())
{
oGetFileName.Filter = "Excel files (*.csv)|*.csv";
oGetFileName.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
Thread threadGetExcelFile = new Thread(new ThreadStart(oGetFileName.GetFileName));
threadGetExcelFile.SetApartmentState(ApartmentState.STA);
try
{
threadGetExcelFile.Start();
while (!threadGetExcelFile.IsAlive) ; // Wait for thread to get started
Thread.Sleep(1); // Wait a sec more
threadGetExcelFile.Join(); // Wait for thread to end
var fileName = string.Empty;
fileName = oGetFileName.FileName;
if (fileName != string.Empty)
{
string connString = "";
System.Data.DataTable dt = new System.Data.DataTable();
connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=";
connString += fileName;
connString += ";Extended Properties=Excel 12.0 Xml;HDR=YES;IMEX=1;";
OleDbConnection myConnection = new OleDbConnection(connString);
if (myConnection.State != ConnectionState.Open)
myConnection.Open();
string sql = "SELECT * From [Sheet1$]"; <-------Error thrown here
using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql, myConnection))
{
adapter.Fill(dt);
}
}
}
catch (RulesException ex)
{
SboConnection.SboApplication.SetStatusBarMessage(ex.GetErrorMessages(), SAPbouiCOM.BoMessageTime.bmt_Medium, true);
}
}
}
sql ステートメントで「インストール可能な ISAM が見つかりませんでした」というエラーが発生します。これを解決してExcelシートを読むにはどうすればよいですか?どんな助けでも感謝します。