powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / открыть файл на машине клиента
25 сообщений из 37, страница 1 из 2
открыть файл на машине клиента
    #38440463
FreeFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть файл xls, находится на машине клиента.
как открыть-получить доступ к нему, если на сервере нет мсо,а на машине клиента есть.
можно ли как нибудь сделать обращение к excel.application клиента, и открыть на машине клиента файл xls...
как вариант oledb?
или что то проще есть...
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38440626
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeFire,
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38440847
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeFireкак открыть-получить доступ к нему
Как сам считаешь, можно ли это сделать и безопасен ли был бы такой подход? Только не торопись с ответом, хорошенько подумай.
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38440917
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, клиент сам свой эксель файл открыть уже не умеет?
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38440995
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria,

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

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

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


полностью согласен
Мне Нам осталась одна забава: пальцы в рот, да весёлый свист (с)
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #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
открыть файл на машине клиента
    #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
открыть файл на машине клиента
    #38441605
FreeFire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ART-CODE
Спасибо!
...
Рейтинг: 0 / 0
открыть файл на машине клиента
    #38441699
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ART-CODE,

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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