Спасибо! Это решение работает лучше, чем первое (теперь, если они отформатированы как числа, я больше не получаю числа опыта), но все же, если значение не отформатировано ни как число, ни как текст, я все равно получу экспоненциальные числа.

ужно получить лист из Excel в DataTable. Сначала я попробовал с библиотекой LinqToExcel, но при этом большие числа из листа Excel были получены в виде экспоненциальных чисел. Я говорю о больших числах, таких как «2352143523453452334544». Только если они отформатированы как текст, все будет работать нормально. После этого я попробовал это:

OleDbConnection con = null;
System.Data.DataTable dt = null;
System.Data.DataTable dataTable1 = new System.Data.DataTable();
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + UploadFileName + ";Extended Properties=Excel 8.0;";
string sql_xls;
con = new OleDbConnection(conStr);
con.Open();

//OracleDataAdapter oda = new OracleDataAdapter();
//OracleCommand cmd = new OracleCommand("select * from [Sheet1$]", con);

dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string[] excelSheetNames = new string[dt.Rows.Count];
int i = 0;
foreach (System.Data.DataRow row in dt.Rows)
{
    excelSheetNames[i] = row["TABLE_NAME"].ToString(); i++;

}

sql_xls = "SELECT * FROM [" + excelSheetNames[0] + "]";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(sql_xls, conStr);
System.Data.DataSet myDataSet = new System.Data.DataSet();
dataAdapter.Fill(myDataSet, "ExcelInfo");
dataTable1 = myDataSet.Tables["ExcelInfo"];

Этот возвращает те же значения в тех же условиях, что и ноль. Разве нет простого способа извлечь данные из файла Excel как есть? Нет конверсий, нет ничего. Просто взять все как строку и поместить в таблицу данных?

Ответы на вопрос(1)

Ваш ответ на вопрос