Помогите решить проблему, пожалуйста! Задача такая: нужно загнать ячейки таблицы excel в двумерный массив. Я пытаюсь подключить файл с таблицей, но выдает ошибку, мол, не могу его найти. Путь файла проверяла несколько раз, он написан верно. Вот сам код:
using System;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;
namespace Praktika
{
class Program
{
static void Main(string[] args)
{
Excel.Application xlApp = new Excel.Application(); //Excel
Excel.Workbook xlWB; //рабочая книга
string file = "C:\\Nastya\\Praktika\\Perechen_stran.xlsx";
xlWB = xlApp.Workbooks.Open(file); //название файла Excel
Excel.Worksheet xlSht = (Excel.Worksheet)xlWB.Sheets[1]; //получить 1-й лист
var arrData = xlSht.Range["A1"].CurrentRegion.Value; //значения из диапазона в массив
xlWB.Close(false); // закрываем книгу
xlApp.Quit(); // закрываем Excel
Console.WriteLine(arrData);
}
}
@Nastya, точно файл лежит по этому пути? Когда запускаешь программу, он у тебя, число случайно, не открыт в MS Excel ?
может быть, он остался открытым в результате отладки (задача завершилась, а процесс с Excel.exe остался в памяти). Попробуй перезагрузить компьютер и потом, не запуская Excel - запусти свою программу.
Настя, в вашем коде используется открытие файла через установленный на компьютере MS Excel. Подскажите, а у Вас на компьютере установленный MS Excel есть? Какая версия? Он нормально запускается?
вот тебе архив с DLL
попробуй положить эту DLL рядом со своим praktika.exe (в папки DEBUG и RELEASE) // распаковать обязательно! Microsoft.Office.Interop.Excel.dll.zip (391.7 КБ)