Reputation: 1
I have an excel sheet with lot of double values:
76.0245 0.8145 0.1404 121.0000 15.2302 0.0322 0.1249 4.5966
83.2723 0.8184 0.1544 179.0000 10.7985 0.0113 0.1101 4.2184
81.5676 0.9220 0.2247 67.0000 55.7615 0.0026 0.1259 3.9835
71.6719 0.7182 0.0758 76.0000 49.7601 0.0140 0.1445 1.4708
83.1574 0.9266 0.1105 118.0000 28.8463 -0.0018 0.1328 1.3735
73.7841 0.8695 0.0656 90.0000 37.1378 -0.0146 0.1106 1.1112
60.5380 0.7402 0.0511 110.0000 19.1055 0.0415 0.1470 9.5646
82.0097 0.8280 0.1554 158.0000 26.5418 0.0263 0.1523 7.0651
63.3324 0.6976 0.0746 116.0000 18.5769 0.0279 0.1497 7.9727
How can i import all values in DataGrid in double format? I'm using code below to start opening this excel file:
private void button_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog openfile = new OpenFileDialog();
openfile.DefaultExt = ".xlsx";
openfile.Filter = "(.xlsx)|*.xlsx";
//openfile.ShowDialog();
var browsefile = openfile.ShowDialog();
if (browsefile == true)
{
txtFilePath.Text = openfile.FileName;
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook excelBook = excelApp.Workbooks.Open(txtFilePath.Text.ToString(), 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Microsoft.Office.Interop.Excel.Worksheet excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelBook.Worksheets.get_Item(1); ;
Microsoft.Office.Interop.Excel.Range excelRange = excelSheet.UsedRange;
}
Upvotes: 0
Views: 1253
Reputation: 295
txtFilePath.Text = openfile.FileName;
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook excelBook = excelApp.Workbooks.Open(txtFilePath.Text.ToString(), 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Microsoft.Office.Interop.Excel.Worksheet excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelBook.Worksheets.get_Item(1); ;
Microsoft.Office.Interop.Excel.Range excelRange = excelSheet.UsedRange;
int rowCount = excelRange.Rows.Count
int colCount = excelRange.Columns.Count
for(int i = 1; i <= rowCount; i++)
{
for(int j = 1; j <= colCount; j++)
{
double value = Convert.ToDouble(excelRange[i,j].Value2)
}
}
this should get you the value in double
Upvotes: 2