Загрузка файла excel (для анализа и перемещения данных) в список sharepoint 2010
Я пытаюсь загрузить и проанализировать файл excel в Sharepoint 2010 через веб-часть.
Код, который у меня есть, работает, когда файл excel хранится на сервере (то есть на рабочем столе моего профиля пользователя), но он терпит неудачу, когда я пытаюсь загрузить файл excel через пользовательский интерфейс. При загрузке его через пользовательский интерфейс я могу получить имя файла и несколько других деталей, но внезапно он всегда терпит неудачу в строке выше, где написано "соединение".Открывать();'
Что я могу сделать, чтобы это сработало?
Это часть кода, который у меня есть:
string fileToUpload = uploadExcelFile.FileName; System.IO.Stream strm = uploadExcelFile.PostedFile.InputStream; fileName = uploadExcelFile.FileName; Boolean replaceExistingFiles = true; byte[] byt = new byte[Convert.ToInt32(uploadExcelFile.PostedFile.ContentLength)]; strm.Read(byt, 0, Convert.ToInt32(uploadExcelFile.PostedFile.ContentLength)); strm.Close();
SPSite localSite = SPContext.Current.Site; SPWeb localWeb = localSite.OpenWeb(); SPFolder ExcelLibrary = localWeb.Folders["ExcelLib"]; localWeb.AllowUnsafeUpdates = true; ExcelLibrary.Files.Add(System.IO.Path.GetFileName(uploadExcelFile.PostedFile.FileName), byt, replaceExistingFiles); ExcelLibrary.Update();
string fileExtension = Path.GetExtension(fileName).ToUpper(); string connectionString = ""; if (fileExtension == ".XLS") { connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + fileName + "'; Extended Properties='Excel 8.0;HDR=YES;'"; } else if (fileExtension == ".XLSX") connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0 Xml;IMEX=1;HDR=YES;TypeGuessRows=0;ImportMixedTypes=Text;'"; String[] excelSheets; using (OleDbConnection connection = new OleDbConnection(connectionString)) { connection.Open(); // CODE FAILS HERE DataTable dtExcelSchema = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); Thanks in advance! I need to get this solved asap. :-( What I have tried: I have looked online tirelessly. This code snippet (above) is well-known and can be found online, however, I wonder why it fails.
[no name]
"хорошо известно и может быть найдено в интернете", и объяснение сообщения об исключении, которое вы видите на своем экране, которое мы вообще не видим, также хорошо известно и может быть легко найдено в интернете.