Как открыть файл Excel в C#?

60
задан abatishchev 4 May 2012 в 10:55
поделиться

4 ответа

Необходимо установить Инструменты Microsoft Visual Studio для Office (VSTO).

VSTO может быть выбран в установщике Visual Studio под Рабочими нагрузками> сеть & Облако> Разработка Office/SharePoint.

После этого создают общий проект.NET и добавляют ссылку на Microsoft.Office.Interop.Excel через то, 'Добавьте Ссылка...> диалоговое окно блоков.

Application excel = new Application();
Workbook wb = excel.Workbooks.Open(path);

Missing.Value специальная отражательная структура для ненужной замены параметров

75
ответ дан Dan 24 November 2019 в 17:36
поделиться

Для открытия файла попробуйте это:

objexcel.Workbooks.Open(@"C:\YourPath\YourExcelFile.xls",
    missing, missing, missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing,missing, missing);

необходимо предоставить те глупый взгляд 'недостающие' аргументы. Если бы Вы писали тот же код в VB.Net, Вам не были бы нужны они, но Вы не можете избежать их в C#.

2
ответ дан Frederick The Fool 24 November 2019 в 17:36
поделиться

Легче помочь Вам, если Вы говорите что случилось также, или что перестало работать, когда Вы выполняете его.

, Но от быстрого взгляда Вы перепутали несколько вещей.

следующее не работает из-за нескольких проблем.

if (Directory("C:\\csharp\\error report1.xls") = "")

то, Что Вы пытаетесь сделать, создает новый Объект каталога, который должен указать на файл и затем проверить, были ли какие-либо ошибки.

то, Что Вы на самом деле делаете, пытается вызвать функцию под названием Каталог () и затем присвоить строку результату. Это не будет работать, с тех пор 1/у Вас нет функции под названием Каталог (представьте str в виде строки), и Вы не можете присвоить результату функции (можно только присвоить значение переменной).

то, Что необходимо сделать (для этой строки, по крайней мере) является следующим

FileInfo fi = new FileInfo("C:\\csharp\\error report1.xls");
if(!fi.Exists)
{
    // Create the xl file here
}
else
{
    // Open file here
}

относительно того, почему код Excel не работает, необходимо проверить документацию на библиотеку Excel, которая Google должен быть в состоянии предусмотреть Вас.

2
ответ дан Mats Fredriksson 24 November 2019 в 17:36
поделиться

Действительно ли это - коммерческое применение или некоторый человек, увлеченный своим хобби, / программное обеспечение с открытым исходным кодом?

я спрашиваю это, потому что, по моему опыту, вся свободная.NET альтернативы обработки Excel имеют серьезные проблемы по разным причинам. Для вещей человека, увлеченного своим хобби, я обычно заканчиваю тем, что портировал jExcelApi от Java до C# и использовал его.

, Но если бы это - коммерческое применение, Вы были бы более обеспечены путем покупки сторонней библиотеки, как Aspose. Ячейки . Верьте мне, это полностью ценность это, поскольку это экономит много времени, и время не свободно.

1
ответ дан Tamas Czinege 24 November 2019 в 17:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: