Я использую проект LinqToExcel, разработанный MIT и размещенный в Google Code по адресу http://code.google.com/p/linqtoexcel/wiki/UsingLinqToExcel.Синтаксис LinqToExcel
Кажется довольно прямолинейным и элегантным. Мне удалось переписать метод, в котором использовалась библиотека взаимодействия MS excel, а код был около 1/3 размера.
Однако у меня возникла проблема с попыткой запросить диапазон ячеек. VS2008 воспринимает его как синтаксическую ошибку:
//These lines are fine
IEnumerable<string> names = new List<string>();
var excel = new Excel.ExcelQueryFactory(_excelFilePath);
//This line shows a syntax error starting from c[0]
names = from c in excel.WorksheetRange("A1", "AI1", headerName)
c[0] == "IN"
select c;
Линия - c [0] == "IN" - просто странно. Это должно захватить значение в ячейке A1. Если я удалю «c [0] == IN» Синтаксическая ошибка уходит, но она не возвращает результатов.
Правильно ли этот синтаксис? Является ли код на связанной странице C#?
ОБНОВЛЕНИЕ: После получения некоторых ответов кажется, что отсутствует «Где» - это действительно опечатка. Однако даже с «где» я не мог получить c [4] == «IN», чтобы вернуть ячейку A5. Я смог выполнить то, что мне нужно, удалив все предложение where where, которое вернуло мне весь указанный диапазон. В начальном посте я просто пытался вернуть единственную ценность - детские шаги :)
Ради маркировки ответа - как бы я вернул только одну ячейку в диапазоне? Возможно, == "IN"
- это своего рода опечатка, а не фактическая конструкция LinqToExcel?
Спасибо за помощь!
Какова была синтаксическая ошибка? –