Не «лучшее решение», но похожее. Недавно мне нужно было разрешить ВСЕ ячейки в каждой сетке для переноса. Я использовал похожее исправление на основе CSS (это было для Ext JS 2.2.1):
.x-grid3-cell-inner, .x-grid3-hd-inner {
white-space: normal; /* changed from nowrap */
}
Я не удосужился установить стиль для td, я просто выбрал класс ячейки.
Решение VSTO, предлагаемое JP, определенно жизнеспособно. Однако, если вы действительно хотите использовать OleDb и некоторый SQL, взгляните на this artcile: это статья базы знаний MS, в которой описывается, как импортировать данные из Excel в SQLSever с помощью OleDb.
Вы можете извлечь данные, используя VSTO . Он имеет объектную модель для Excel . Затем передайте то, что хотите, в процедуру. Я думаю, это было бы лучше, чем пытаться заставить хранимый процесс CLR расшифровать поток файла Excel.
Вы можете использовать SpreadsheetGear , чтобы открыть файл из байтового массива в памяти или из любого потока с помощью SpreadsheetGear.Factory.GetWorkbookSet (). Workbooks.OpenFromMemory (byte [] ) / OpenFromStream (System.IO.Stream).
Отказ от ответственности: я владею SpreadsheetGear LLC