Во-первых, прочтите мой комментарий. Во-вторых, если вы все еще вычисляете ячейки от excel, на мой взгляд, вам нужно написать код, который читает файл .xlsx и вычисляет некоторые значения. Вот пример кода может читать excel doc и привязывается к DataTable.
Ваш код будет таким. после чтения целых клеток excel вы получили все значения клеток. (При создании объекта [] строки = новый obejct [])
using (OpenFileDialog openFileFromDialog = new OpenFileDialog())
{
openFileFromDialog.Filter = "Excel Document|*.xls";
openFileFromDialog.Title = "Select FIle";
openFileFromDialog.ShowDialog();
if (String.IsNullOrEmpty(openFileFromDialog.FileName))
return;
using (OleDbConnection connection = new OleDbConnection { ConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;
Data Source={0};Extended Properties=Excel 12.0;", openFileFromDialog.FileName) })
{
using (DbCommand command = connection.CreateCommand())
{
command.CommandText = String.Format("SELECT * FROM [{0}]", sheetName);
if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
using (DbDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
object[] row = new object[]
{
dr[1],
dr[2],
dr[3]
};
YOURDATATABLE.Rows.Add(row);
}
}
}
}
}
в части yourdatatable.Rows.Add(), можно выполнять вычисления вместо того, чтобы новый DataTable, такие как.
decimal Sum = 0;
while(dr.Read())
{
Sum += (ConvertToDecimal(dr[1]) + ConvertToDecimal(dr[2])) * ConvertToDecimal(dr[3])
}
Какое исключение? – bla
Если вы успешно экспортировали свой gridView, чтобы преуспеть, зачем все еще пытаться читать из excel вместо чтения из gridview? –