Как читать значения double из экселя - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, у меня есть эксель файл, в одном столбце которого текстовые значения, а во втором- цифры. Я пытаюсь создать текстовую коллекцию для текста и double для цифр с помощью Microsoft.Office.Interop.Excel. Имеется такой код :
private void button1_Click(object sender, EventArgs e)
        {
            Excel.Application xlApp = new Excel.Application();
            Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:/data.xlsx");
            Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
            Excel.Range xlRange = xlWorksheet.UsedRange;
 
            int rowCount = xlRange.Rows.Count;
            int colCount = xlRange.Columns.Count;
            List<string> codes = new List<string>();
 
            for (int i = 1; i < 10; i++)
            {
                codes.Add(xlRange.Cells[i, 1].Value2.ToString());
            }           
        }
Он без проблем создает коллекцию типа string. А вот с double коллекцией ничего не выходит. Если обЪявить коллекцию как double:
List<double> numbers = new List<double>();
и затем добавить ее в цикл
for (int i = 1; i < 10; i++)
            {
                codes.Add(xlRange.Cells[i, 1].Value2.ToString());
                numbers.Add(xlRange.Cells[i, 2].Value2);
            }
то выдается ошибка на несоответствие форматов. Я также пытался создать коллекцию numbers сначала типа string, а потом преобразовать ее в double. Создал, но преобразовать в double так и не выходит. Не подскажете хотя бы один из вариантов решения (или с самого начала чтобы List <double> numbers, или сначала <string>, а потом преобразовать в <double> ?

Решение задачи: «Как читать значения double из экселя»

textual
Листинг программы
           Excel.Workbook xlWorkbook = xlApp.Workbooks.Open
                //(srcFile, 0, true, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, false, false, false);
                (@"h:\_C#\_Код\Excel\Ex_test.xls", // Filename
                0, // Update Links
                true, // ReadOnly
                5,  // Format
                "", // Password
                "", // WriteResPassword
                false, // IgnoreReadOnlyRecommended
                Excel.XlPlatform.xlWindows, // Origin
                "", // Delimiter
                true, // Editable
                false, // Notify
                0, // Converter
                false, // AddToMru
                false, // Local
                false); // CorruptLoad

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы