Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Открытие файла, Хочу открыть файл *.dat 
:(
    Опции темы
Лёха
Дата 7.7.2005, 13:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Помогите кто чем может.
У меня есть база данных, которая лежит в файле *.dat.
Я сделал кнопку и хочу, чтобы при нажатии на нее файл с базой данных открывался в отдельном окне как Excel-приложение. smile
Пробовал делать ссылку на файл, но Internet Explorer сам открывает его как блокнот и в нем ничего исправить я не могу.
Напишите как можно решить эту проблему.
  Вверх
Secandr
Дата 7.7.2005, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 1
Всего: 39



надо писать парсер файла и выдавать его в виде таблички.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Лёха
Дата 7.7.2005, 13:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











for Secandr
При просмотре страницы база данных подгружается в HTML-табличку (я не могу ее редактировать при просмотре - так и должно быть), но мне надо чтобы саму базу данных была возможность редактировать у обычного пользователя (по-моему Excel довольно удобен для этого и его знают многие)
  Вверх
korob2001
Дата 7.7.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Генерируй HTML страницу с таблицей и текстовыми полями, поля заполняй информацией из файла. Если файл большой, делай разбивку по страницам. А вообще, если тебе нужена такая база в формате .xls, то почему бы не хранить её в этом же формате? Можно также хранить в Access.

Это сообщение отредактировал(а) korob2001 - 7.7.2005, 14:08


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Лёха
Дата 7.7.2005, 14:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











for korob2001
У меня есть HTML-страница с табличкой и все туда прекасно загружается из файла *.dat.
И мне не нужна таблица в формате *.xls.
И не хочу хранить базу в Access.
Я просту хочу, чтоб как в винде открыть файл *.dat с помощью Microsoft Excel (в отдельном окне).
Неужели в Perl это нельзя сделать?
  Вверх
Secandr
Дата 7.7.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 1
Всего: 39



Перл тут не причём. Перл манипулирует с информацией на сервере. А клиентская машина ведёт себя независимо от перла.

Хочешь открывать экселем отдавай xls файл с соответствующим содержимым


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
sharq
Дата 7.7.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



Лёха может сделать так:
1. пользователь получает ссылку на файл, скачивает его, редактирует в Exel'е и с помощью формы закачивает на сервер.

2. создаешь имитацию Exel'я - на html-странице выводишь форму для редактирования информации, похожую на Exel.

Первый способ - не очень... второй как раз то, что нужно!

Если ты делаешь CGI-приложение, то у тебя не получится через него открывать файлы во внутреннем приложении (например, в Exel'е), изменять их и сохранять на сервере.

Иначе - если, ты делаешь скрипт, кот. вызывается через командную строку, то ты можешь открывать Exel, используя технологию OLE, изменять данные в нем и сохранять на диск.

smile

Это сообщение отредактировал(а) sharq - 7.7.2005, 18:52


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
korob2001
Дата 7.7.2005, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Цитата

И мне не нужна таблица в формате *.xls.

Я что-то не пойму, сначала ты говоришь, что она тебе нужна. Теперь ты говоришь, что она тебе не нужна. smile


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Лёха
Дата 7.7.2005, 20:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











for sharq
Не мог бы ты подробнее написать текст, в котором используется OLE технология для открытия файла. Может ты знаешь какие-нибудь функции, делающие примерно то же самое.


for korob2001
Если открывать файл *.dat вне интернет-странички Windows откроет окно "Открыть с помощью", в нем можно выбрать "MicrosoftExcel" и при соответсвующем формате файла *.dat он откроется в виде Excel-таблицы, теперь содержимое файла можно редактировать и визуально оно будет очень даже ничего, а при сохранении изменений они будут записаны обратно в файл *.dat.
Что-то вроде этого я и хочу сделать и *.xls файл мне совершенно не нужен.

  Вверх
sharq
Дата 7.7.2005, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



Лёха perldoc Win32::OLE!

Вот пример - открывает Exel-приложение, записывает туда, что нужно и куда нужно,
этот файл можно редактировать в ручную и сохранять туда, куда нужно. smile
Код
use Win32::OLE;

my $ex = Win32::OLE->new('Excel.Application') or die "oops\n";

$ex->{Visible} = 1;

# get a new workbook
my $book = $ex->Workbooks->Add;

# write to a particular cell
my $sheet = $book->Worksheets(1);

$sheet->Cells(7,13)->{Value} = "sharq wrote this";



Читай доку, юзай методы и будет тебе счастье. smile

ЗЫ если это то, что тебе нужно, то формулируй свои вопросы точнее.


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
Guest
Дата 8.7.2005, 08:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











for sharq
Спасибо. Попробую.
Но я бы хотел не создавать новый докумет в экселе, а подгрузить уже созданный файл (*.dat).
smile
  Вверх
Secandr
Дата 8.7.2005, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 1
Всего: 39



Лёха, ты не можешь заставить клиентскую машину прочитать файл dat в экселе при помощи перла.

При помощи перла ты можешь конвертировать файл в экселевский и отдать клиенту.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Guest
Дата 8.7.2005, 08:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











for Secandr.
Напиши, пожалуйста, подробнее как это реализовать
  Вверх
korob2001
Дата 8.7.2005, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Цитата
Если открывать файл *.dat вне интернет-странички Windows откроет окно "Открыть с помощью", в нем можно выбрать "MicrosoftExcel" и при соответсвующем формате файла *.dat он откроется в виде Excel-таблицы, теперь содержимое файла можно редактировать и визуально оно будет очень даже ничего, а при сохранении изменений они будут записаны обратно в файл *.dat.
Что-то вроде этого я и хочу сделать и *.xls файл мне совершенно не нужен.

1.) .xls это как раз и есть формат Excel'я. Что касается .dat, то его нужно сначало открыть, затем читать, конвертировать в формат .xls ( Excel ) и выдавать пользователю, не проще ли хранить всё изначально в .xls фомате?
2.) После того как данные изменены - нужно ковертировать из формата .xls всю таблицу и записывать её в файл .dat. Опять же, зачем всё это делать, если можно просто сохранить всё в тот же .xls, т.е. Excel фомат.
3.) Если ты хочешь таким образом в сети сохранять всё изменения, а не локально, то сразу тебе говорю ничего без ActiveX и OLE у тебя не выйдет и работать будет только под виндой.

Это сообщение отредактировал(а) korob2001 - 8.7.2005, 08:53


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
sharq
Дата 8.7.2005, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: 23
Всего: 28



Цитата(Guest @ 8.7.2005, 08:08)
Но я бы хотел не создавать новый докумет в экселе, а подгрузить уже созданный файл (*.dat).

Ты запускал пример??? Он, как раз создает новый файл, инициализирует его какими-то значениями и открывает в Exel. Инициализировать ты можешь как хочешь, что и чем хочешь, хоть логами севрера smile .

Ты геммор себе придумал, зачем тебе так мучатся:

Цитата(korob2001 @ 8.7.2005, 08:49)
1.) .xls это как раз и есть формат Excel'я. Что касается .dat, то его нужно сначало открыть, затем читать, конвертировать в формат .xls ( Excel ) и выдавать пользователю, не проще ли хранить всё изначально в .xls фомате?
2.) После того как данные изменены - нужно ковертировать из формата .xls всю таблицу и записывать её в файл .dat. Опять же, зачем всё это делать, если можно просто сохранить всё в тот же .xls, т.е. Excel фомат.


Лучше напиши подробнее что тебе необходимо сделать, мы тебе поможем... наверно. smile



--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.