Я пытаюсь прочитать лист Excel (.csv), открыв диалоговое окно из бизнес-центра SAP. Я не пробовал это раньше, и я получаю следующее сообщение об ошибке при попытке прочитать лист первенствовать:Не удалось найти устанавливаемый ISAM - Чтение таблиц Excel через SAP B1
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);
}
}
}
Ошибка «Не удается найти устанавливаемое ISAM» происходит в заявлении SQL. Как я могу решить эту проблему и прочитать лист Excel? Любая помощь оценивается.