Ошибка при попытке прочитать файл .xlsm - PullRequest
2 голосов
/ 13 мая 2011

Теперь у меня есть файл Excel с расширением .xlsm, и мне нужно читать и писать с использованием C #.Я попытался использовать Microsoft.Office.Interop.Excel,

Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
Workbook ObjWorkBook;
Worksheet ObjWorkSheet;

ObjWorkBook = ObjExcel.Workbooks.Open(excelFilename,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet) ObjWorkBook.Sheets[1];

if (ObjWorkSheet != null)
{
    Range usedRange = ObjWorkSheet.UsedRange;
    if (usedRange != null)
    {
        for (int rowIndex = 1; rowIndex < usedRange.Rows.Count; rowIndex++)
        {
            for (int colIndex = 1; colIndex < usedRange.Columns.Count; colIndex++)
            {
                string firstName = ((Microsoft.Office.Interop.Excel.Range)ObjWorkSheet.Cells[rowIndex, colIndex]).Value2.ToString();
            }
        }
    }
}

, однако обнаружил, что при чтении ячеек ссылка на объект не установлена ​​на экземпляр объекта ... хотя я заменил другой новый файл Excel.xlsmи он читает без ошибок ... Кроме того, файл, который я пытаюсь прочитать, содержит макросы ...

Какие-либо решения ?!

Заранее спасибо:)

...