Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / открыть файл на машине клиента / 25 сообщений из 37, страница 1 из 2
24.10.2013, 20:17
    #38440463
FreeFire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
есть файл xls, находится на машине клиента.
как открыть-получить доступ к нему, если на сервере нет мсо,а на машине клиента есть.
можно ли как нибудь сделать обращение к excel.application клиента, и открыть на машине клиента файл xls...
как вариант oledb?
или что то проще есть...
...
Рейтинг: 0 / 0
25.10.2013, 04:08
    #38440626
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
FreeFire,
...
Рейтинг: 0 / 0
25.10.2013, 10:36
    #38440847
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
FreeFireкак открыть-получить доступ к нему
Как сам считаешь, можно ли это сделать и безопасен ли был бы такой подход? Только не торопись с ответом, хорошенько подумай.
...
Рейтинг: 0 / 0
25.10.2013, 11:16
    #38440917
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
а что, клиент сам свой эксель файл открыть уже не умеет?
...
Рейтинг: 0 / 0
25.10.2013, 11:53
    #38440995
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Zoria,

.. как вариант, вероятно, у клиента лежат файлы экспорта в xls (напр,, из клиент-банка), а надо запхнуть данные в веб-приложение .... и хочется вот так попроще ...
...
Рейтинг: 0 / 0
25.10.2013, 11:59
    #38441007
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
МСУ,
Я бы пошел еще дальше, и акцентировал вопрос в таком ключе, как открыть exe на машине клиента из js браузера..
Вот это и есть квинт эссенция толерантности пользователей рунета, в будущем - которое строит наше Росс общество
это необходимый шаг к раскрепощению. Фундамент для материализации толерантности уже заложен.
благодаря этому нововведению, многие пользователи обретут новый смысл жизни - переедут в реальный сектор экономики,
то есть: шить варежки, доить коров, убирать снег.В будущем ( я надеюсь) будет принят закон обязывающий пользователей рунета
пользоваться только отечественным браузером, который будет мониторить содержимое компьютера клиента, это по мнению экспертов
даст наиболее радикальный импульс ( смотреть выше) развития отечественной экономики, а если прогноз углубить то нас ожидает
полное стирание границ интернет - пользователь - производство.
...
Рейтинг: 0 / 0
25.10.2013, 12:43
    #38441088
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Где-то в степи,

...
Рейтинг: 0 / 0
25.10.2013, 12:44
    #38441089
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Где-то в степи,

Поделись травой или поставщиком, плеазе.
...
Рейтинг: 0 / 0
25.10.2013, 12:50
    #38441102
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
МСУГде-то в степи,


полностью согласен
Мне Нам осталась одна забава: пальцы в рот, да весёлый свист (с)
...
Рейтинг: 0 / 0
25.10.2013, 15:19
    #38441424
ART-CODE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Если это не интернет, а корпоративная локальная сеть,
то добавляете на машине клиента свой сервер по Ip в список Надежных Узлов
Настраиваете особые разрешения - запуск скриптов и прочего для этого узла.

В заголовок страницы включаете ссылку на VBS файл, в котором лежит
реализация и вызов функции, которая SQL запросом выбирает данные из Excel
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
Dim  rs
set rs = CreateObject("ADODB.Recordset") '
Function SelectFromExcel (FileName, SQLQuery)
on error resume next
    Const adOpen = 3  
    Dim row_num
    Dim xls_cnn
    Dim line_str
    Dim tmp_str  
	dim cat  
    dim first_page, select_page_name , select_query	   
    Set xls_cnn = CreateObject("ADODB.Connection")
 
    xls_cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & FileName & "; Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;"" "
    	
	if err.number then
        MsgBox "SelectFromExcel: Ошибка подключения к файлу: " & err.description & " (" & err.number & ")"
		SelectFromExcel=false		
        exit Function
    end if
	select_query=SQLQuery
	select_page_name = ""
    if (InStr(select_query, "<#select_page_name>")>0) then ' если страница не указана, то сделаем выборку из первой страницы
	
			set cat = CreateObject("ADOX.Catalog")
			if err.number then
				MsgBox "SelectFromExcel: Ошибка открытия каталога: " & err.description &  " (" & err.number & ")"
				SelectFromExcel=false
				exit Function
			end if 	
			
			Set cat.ActiveConnection =  xls_cnn     
			first_page=true
		
			for each t in cat.tables    
				if t.type = "TABLE" then 
					if (first_page=true) then
						select_page_name=t.name ' нашли имя первой страницы
						first_page=false
					end if 
				end if
			 next
	select_query=Replace(select_query,"<#select_page_name>", select_page_name)		 
	end if	

if (rs.State<>0 ) then ' закроем рекордсет, если открыт
rs.Close 
end if

rs.Open select_query, xls_cnn, adOpen
       
    if err.number then
		MsgBox "Получение данных из XLS файла - завершено с ошибкой: " & err.description & " (" & err.number & ")"
        exit Function    
    end if	
	
	SelectFromExcel=true
End Function	
'------------------------------------------------------------------------


По событию нажатия на кнопку или OnLoad вызываем функцию, передаем ей путь к файлу и запрос.
И на этом - все, rs - содержит набор строк, которые можно прочитать в цикле и что угодно с этим делать.
Причем для работы всего этого даже не нужно ставить офис и эксел на машину клиента.
Под виндой будет работать сразу.
...
Рейтинг: 0 / 0
25.10.2013, 15:49
    #38441502
ART-CODE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Пример вызова функции
Код: vbnet
1.
SelectFromExcel( document.all.BrowseFile.value, "select distinct F2 from [<#select_page_name>]")


Вместо <#select_page_name> Можете написать имя страницы экселя.

Если нужно делать выборку из XLSX файлов, то на комп клиента нужно поставить
AccessDatabaseEngine.exe

Протестировать SQL запросы к Excel файлам можно здесь:
HTA, Excel to CSV - version 2.0
...
Рейтинг: 0 / 0
25.10.2013, 16:46
    #38441605
FreeFire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
ART-CODE
Спасибо!
...
Рейтинг: 0 / 0
25.10.2013, 17:35
    #38441699
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
ART-CODE,

вы не забыли что-то там уточнить про Inernet Explorer? )
...
Рейтинг: 0 / 0
25.10.2013, 17:41
    #38441706
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
ART-CODE, за такую жесть нужно отстреливать ночью в переулке. Двойка, присаживайся.
...
Рейтинг: 0 / 0
25.10.2013, 23:15
    #38441973
nscl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Забудьте про МС-Офис на машине клиента. Тем более, с использованием такого ада, как выше в топике.
Считайте, что туда наведалась кровавая гэбня и МС-Офис исчез в сибирской тайге вместе с пользователем.
Ваш путь - загрузка данных из файлов CSV через веб-форму, с парсингом на сервере.

А за запуск exe через js из ИЕ вас покарает либо юодрая вирусня, либо политики SRP.
Товарищу FreeFire больше не наливать, и уж тем более - не отсыпать.
...
Рейтинг: 0 / 0
26.10.2013, 10:28
    #38442126
ART-CODE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Да, про Ie не сказал, забыл, но это понятно по описанию настроек и возможностей исполнения кода.
Тем, кто не в состоянии грамотно настроить политику безопасности, тем - да противопоказано.
quot licet jovi non licet bovi

Поскольку речь идет о корпоративной среде, то можно сделать так:
- скомпилировать отдельное приложение, в котором IE - во весь размер формы (это может Delphi, C++Builder,MS VisualStudio)
При старте оно открывает страничку внутреннего сайта с такими, вот скриптами.

На другие сайты в интернет ходить другими браузерами.
В настройках безопасности фаервола прописать, что браузером IE можно ходить только на эту страничку внутреннего сайта.
(Впрочем, последнее- для параноиков.)

По такой схеме уже несколько лет работает большой проект,
маленький фрагмент которого - представленная здесь функция.

Сотни пользователей, несколько лет работы.
итого:
нет проблем с безопасностью.
Высокая гибкость системы, правка кода "на лету".
Но админам с кривыми руками туда соваться категорически нельзя.
Требует грамотных спецов .

Люди, которые плохо разбираются в администрировании и безопасности,
могут давать такие некомпетентные комментарии, как несколько комментов выше.
Основываясь на том, что где-то что-то слышал, но до конца не понял.
...
Рейтинг: 0 / 0
26.10.2013, 10:56
    #38442133
ART-CODE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Ах, да забыл еще добавить, что скрипты можно зашифровать и подписать - screnc.exe
И разрешить запуск скриптов "допущенных и подписанных администратором".
Профи по настройке безопасности обязан это знать и уметь.
...
Рейтинг: 0 / 0
26.10.2013, 11:31
    #38442149
ART-CODE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
nscl,
В корпоративной среде - что есть на машинах пользователей, а чего там нет - решает IT отдел.
Я, как главный разработчик ПО, даю указание админам обеспечить на машинах наличие
всего, что нужно и говорю как это настроить. (разумеется, согласовав все это с отделом безопасности)
...
Рейтинг: 0 / 0
26.10.2013, 12:35
    #38442176
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
FreeFireесть файл xls, находится на машине клиента.
как открыть-получить доступ к нему, если на сервере нет мсо,а на машине клиента есть.
можно ли как нибудь сделать обращение к excel.application клиента, и открыть на машине клиента файл xls...
как вариант oledb?
или что то проще есть...
Какой-то совершенно странный вопрос.
1. Если файл на клиенте, у которого имеется оффис, то почему ему его не открыть?
2. Что такое "доступ"? У клиента на компьютере не ко всем файлам доступ имеется?
3. При чём здесь какой-то сервер, если файл на клиенте, и клиентом же открывается?
...
Рейтинг: 0 / 0
26.10.2013, 14:51
    #38442210
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
ART-CODE,

...я все-таки считаю, что правильнее подобную схему организовать, предоставив пользователю возможность загружать свой файл на сервер через Upload, а потом серверный скрипт (это может быть отдельный скрипт на VBS, PowerShell и т.д.) будет делать с загруженным файлом что ему надо (используя разрешения папки Upload, а не клиентского профиля на клиентском компьютере) ... И клиенту удобнее, он может загрузить файл не прямо из локалки, а, например, по VPN-у из дома или удаленного офиса ... Второй вариант (если речь идет только о корпоративной локалке) - запускать скрипт по расписанию с сервера, который будет собирать файлы с клиентских компьютеров и затем проводить ту же операцию ... Но вот скриптом веб-приложения лезть напрямую на клиента - как-то неверно ....
...
Рейтинг: 0 / 0
26.10.2013, 16:10
    #38442241
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
ART-CODEЛюди, которые плохо разбираются в администрировании и безопасности,
могут давать такие некомпетентные комментарии, как несколько комментов выше.
Основываясь на том, что где-то что-то слышал, но до конца не понял.

на самом деле ART-CODE лукавит. это банальное отсутствие элементарных знаний о том, как работать с клиентским источником данных в формате Excel на сервере, поэтому он пошёл наиболее примитивным и крайне трудоёмким путём, который требует огромного комплекса работ по обеспечению безопасности, и тонны ограничений — и всё ради решения элементарной задачки, практически для старшеклассников.

это отвратительное решение. я бы сказал с точки зрения программирования — омерзительное . есть только одно оправдание такому подходу: перманентная глупость и безграмотность, нежелание учиться.
...
Рейтинг: 0 / 0
26.10.2013, 22:05
    #38442366
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
В кои-то веки я плюсую хвосту. За такое решение нужно гнать взашей.
...
Рейтинг: 0 / 0
26.10.2013, 22:32
    #38442378
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
МСУВ кои-то веки я плюсую хвосту. За такое решение нужно гнать взашей.
Я таки понимаю - срача не будет ?(( а уж попкон бутылочку распечатал)
...
Рейтинг: 0 / 0
27.10.2013, 00:48
    #38442400
ART-CODE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
Да, кое-кого здесь учить нужно, причем сначала культуре общения, а затем методам разработки.

С одной стороны, на весах у нас есть реально работающая система,
с другой стороны - ее критика с аргумантами на интеллетктуальном уровне школоты.
M-m-m... что же выбрать ?


Теперь по сути:
Ну, здесь есть небольшой косяк в организации бизнес-процесса.
В идеале - никакого файла экселя быть не должно.
Редактировать все данные нужно прямо в интерфейсе системы.
Но, так уж пожелал заказчик.

В целом, система работает, и хорошо себя зарекомендовала.
А из каких соображений она разрабатывалась именно в таком виде
Я не озвучивал, поэтому судить поверхностно то, чего не знаете - не умно.

У меня есть опыт разработки на разных языках. И клиентов и серверов.
В частности, с загрузкой данных из excel работал в delphi, c++, php, vbs,
плюс загрузка самим сервером : t-sql, pl-sql.
Жаль, что приходится это обьяснять кому-то там в интернет,
кто не желает думать прежде чем писать такие слова.

Что еще мне предлагает изучить
...
Рейтинг: 0 / 0
27.10.2013, 01:32
    #38442410
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открыть файл на машине клиента
ART-CODE,

давайте не будем оправдывать свою некомпетентность словами "так пожелал заказчик". адекватный заказчик просто не мог пожелать:

1. работоспособность исключительно только в IE, которое к тому же должно быть ещё настроено соответствующим образом, требующее как вы там выразились "грамотных спецов"
2. дырища в безопасности, обслуживание которой опять же требует "грамотных спецов"
3. "на другие сайты в интернет ходить другими браузерами" -- вы понимаете какую чушь вы вообще городите?

"В целом, система работает, и хорошо себя зарекомендовала." -- можете продолжать навешивать тонны доширака на уши своим боссам.

я не предлагаю ничего вам изучать. или менять свою точку зрения. если вы уверены в том, что это нормальный подход, дело сугубо ваше.. возможно в контексте своего корпоративного микро-климата вы правы (поверьте, я и не такой ужас-кошмар встречал в корпоративном секторе), но не говорите, что дескать это нормальная практика , а все остальные кто делает вам замечания, что так нельзя делать -- не далекого ума дилетанты. вы тем самым ещё больше подтверждаете свою некомпетентность.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / открыть файл на машине клиента / 25 сообщений из 37, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]