Страница: 1 | 2 |
Вопрос: FileUpload - открытие Excel (с кодом)
Добавлено: 18.05.10 13:13
Автор вопроса: Alba
На форме есть FileUpload и Button. Выбираю файл Excel и при нажатии на кнопку он должен открыться. Не получается. Открывается сам лист Excel и выдается ошибка.
Ответы
Всего ответов: 23
Номер ответа: 1
Автор ответа:
Alba
Вопросов: 8
Ответов: 37
Профиль | | #1
Добавлено: 18.05.10 13:15
В предпоследней строке(***) выдается ошибка след.вида:
"Не удалось найти "SHABLON.xls". Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален."
Может можете что-то подсказать?
Номер ответа: 2
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #2
Добавлено: 18.05.10 15:22
Может, надо еще и путь указать, а не только имя файла?
Номер ответа: 3
Автор ответа:
Alba
Вопросов: 8
Ответов: 37
Профиль | | #3
Добавлено: 18.05.10 15:52
Нет, путь в коде указывать не надо, иначе зачем мне FileUpload...Я хочу выбирать нужный файл через него...
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 18.05.10 17:25
А ты наивно полагаешь, что винда тебе позволит получить доступ к локальной машине клиента? FileUpload - это серверный элемент, и он работает совсем не так как OpenFileDialog, и вовсе не предназначен для выбора пути к файлу.. Раз ты не понимаешь разницу между этими элементами, и вообще клиент-серверной моделью, то тебе следует сначала почитать теории..
Номер ответа: 5
Автор ответа:
Alba
Вопросов: 8
Ответов: 37
Профиль | | #5
Добавлено: 18.05.10 17:56
А не подскажете какой тогда элемент следует использовать в таком случае, если при созданиии WebApplication на панели toolbox нет элемента OpenFileDialog? или похожего...
Номер ответа: 6
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #6
Добавлено: 18.05.10 19:11
прежде, чем что то объяснять, я хотел бы сказать... если вы планируете разместить ваше приложение в сети интернет, то ни один хостер не позволит вам установить Excel на сервере.. Т.е. если у вас нету своего сервера, то вы не сможете использовать этот код...
Номер ответа: 7
Автор ответа:
Alba
Вопросов: 8
Ответов: 37
Профиль | | #7
Добавлено: 18.05.10 19:18
Нет, я не буду его размещать в инете. Мне просто нужно чтобы выбранный (указанный не в коде) файл (Excel) открывался через приложение.
Номер ответа: 8
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #8
Добавлено: 18.05.10 20:26
Я говорил о том, что у твоего FileUpload1 возможно есть свойство Path или FilePath
Номер ответа: 9
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #9
Добавлено: 18.05.10 20:39
Есть, но оно для других целей.. из соображение безопасности ASP.NET не позволит таким образом открыть файл..
Номер ответа: 10
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #10
Добавлено: 18.05.10 20:47
В таком случае вы должны внимательно ознакомиться с этим докуметом
http://msdn.microsoft.com/ru-ru/library/ms227677(VS.90).aspx
Во-вторых, вы должны понимать что этот элемент управления не даст вам полный локальный путь к файлу, а только имя файла и расширение. В описании сказано:
Это значит, что вам надо через этот элемент управления как бы загрузить этот файл на сервер и сохранить его, после чего у вас на руках будет абсолютный путь к файлу. И вот уже этот путь вы сможете подсунуть книге Excel для открытия. Но тут есть некоторые тонкости.. внимательно прочтите это:
Примечание.
Можно создать абсолютный путь на основании корня приложения с помощью метода MapPath класса HttpServerUtility и путем передачи в метод оператора тильда (~), который представляет корневую папку приложения.
Кроме того, вот тут есть пример который подойдет для ваших целей.
http://msdn.microsoft.com/ru-ru/library/ms227669(v=VS.90).aspx
Номер ответа: 11
Автор ответа:
Alba
Вопросов: 8
Ответов: 37
Профиль | | #11
Добавлено: 18.05.10 20:51
Спасибо. Этот пример я уже испытала.
Номер ответа: 12
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #12
Добавлено: 18.05.10 20:52
И еще вопрос: Чем обусловлен ваш выбор в пользу WebApplication? Почему не WinForms? Тогда бы проблем было в 10 раз меньше...
Номер ответа: 13
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #13
Добавлено: 18.05.10 20:55
Раз испытали, то path & FileUpload1.FileName это и есть ваш абсолютный путь к этому файлу и именно его вы должны подсунуть в метод Workbooks.Open
Номер ответа: 14
Автор ответа:
Alba
Вопросов: 8
Ответов: 37
Профиль | | #14
Добавлено: 18.05.10 21:07
Так у меня подчеркивается Path - "Path is a type and cannot be used as an exspression".
Номер ответа: 15
Автор ответа:
Alba
Вопросов: 8
Ответов: 37
Профиль | | #15
Добавлено: 18.05.10 21:09
Отвечаю: небыло рядом более или менее умных людей, которые наставили бы меня на путь...вот и выбрала что поновей...вот и сижу мучаюсь...