открыть файл Excel на чтение c#

654
24 января 2017, 20:51

Задача забирать данные из файла Excel

using Microsoft.Office.Interop.Excel;
class Program
{
    private static string NameExcel = @"\Список телефонов.xlsx";
    static void Main()
    { //Создаём приложение.
        Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
        //Открываем книгу.                                                                                                                                                        
        Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(NameExcel, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
        //Выбираем таблицу(лист).
        Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
        ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
        string [,] Telephons = new string[100];
        //Выбираем первые сто записей из столбца.
        for (int i = 1; i < 101; i++)
        {
            //Выбираем область таблицы. (в нашем случае просто ячейку)
            Microsoft.Office.Interop.Excel.Range range = ObjWorkSheet.get_Range("F" + i.ToString(), "F" + i.ToString());               
            //Добавляем полученный из ячейки текст.
            Telephons[i - 1] = range.Text.ToString();
        }
    }

Проблема в том, что постоянно открывает файл на запись. Как его открыть только на чтение?

Answer 1

Посмотрите документацию Workbooks.Open().

Там третий параметр называется ReadOnly

Значит вам надо писать ObjExcel.Workbooks.Open(NameExcel, 0, true, ...

Answer 2

Надо исправить WorkBook.Open(). 3 параметер ReadOnly

Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(NameExcel, 0, true, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);

Workbook Open(
string Filename,
Object UpdateLinks,
Object ReadOnly, Object Format,
Object Password,
Object WriteResPassword, Object IgnoreReadOnlyRecommended,
Object Origin,
Object Delimiter, Object Editable,
Object Notify,
Object Converter,
Object AddToMru, Object Local,
Object CorruptLoad

)

WorkBook.Open()

READ ALSO
Как распарсить в php двумерный xml в php

Как распарсить в php двумерный xml в php

Как в php распарсить xml такого вида:

334
Ошибка Call to undefined function query()

Ошибка Call to undefined function query()

Пытаюсь выполнить код

391
Вернуть ответ в аякс

Вернуть ответ в аякс

Всем привет помогите доорганизовать чтобы получилось возвращать результат в аякс функцииУ меня никаких роутов, и

359