Примечание: мне кажется, вы хотите И между этими условиями, а не ИЛИ. Думаю об этом. В любом случае, попробуйте
game_stickers_and_stickers = game_stickers.includes(:sticker)
game_stickers_and_stickers.where.not(stickers: {name: ['Ban','Closed','Block']}).where(placement_side: side)
, чтобы фрагмент условия был преобразован в SQL
WHERE stickers.name NOT IN ('Ban', 'Closed', 'Block')
Я думаю, что это просто, потому что необходимо включить Расширенные свойства в кавычки, если у Вас есть больше чем один
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;
Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';");
Или если одинарные кавычки не работают (Вы получаете идею),
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;
Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1;"";");
В то время как Ваш пример не показывает его, эта ошибка может также быть вызвана пробелами в пути к файлу. В этом случае необходимо было бы перенести путь к файлу в кавычки также.
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""F:\test.xls"";...
Принятие Ваших системных требований включает установку Excel, можно использовать Excel Object Library
Excel.Sheets sheets = m_Excel.Worksheets;
Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);
Excel.Range range = worksheet.get_Range("A1", "E1".ToString());
и т.д.
См. также VSTO
SpreadSheetGear для .NET - компонент с бесплатной таблицы (1131345]. чем .NET 2.0+).
Вы можете увидеть образцы Live Asp.net здесь И скачайте бесплатную пробную версию здесь , если вы хотите попробовать сами.
Отказ от ответственности: у меня есть SpreadsheetGear LLC