| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Открытие файла |
| Автор: Лёха 7.7.2005, 13:22 |
| Помогите кто чем может. У меня есть база данных, которая лежит в файле *.dat. Я сделал кнопку и хочу, чтобы при нажатии на нее файл с базой данных открывался в отдельном окне как Excel-приложение. Пробовал делать ссылку на файл, но Internet Explorer сам открывает его как блокнот и в нем ничего исправить я не могу. Напишите как можно решить эту проблему. |
| Автор: Secandr 7.7.2005, 13:44 |
| надо писать парсер файла и выдавать его в виде таблички. |
| Автор: Лёха 7.7.2005, 13:56 |
| for Secandr При просмотре страницы база данных подгружается в HTML-табличку (я не могу ее редактировать при просмотре - так и должно быть), но мне надо чтобы саму базу данных была возможность редактировать у обычного пользователя (по-моему Excel довольно удобен для этого и его знают многие) |
| Автор: korob2001 7.7.2005, 14:07 |
| Генерируй HTML страницу с таблицей и текстовыми полями, поля заполняй информацией из файла. Если файл большой, делай разбивку по страницам. А вообще, если тебе нужена такая база в формате .xls, то почему бы не хранить её в этом же формате? Можно также хранить в Access. |
| Автор: Лёха 7.7.2005, 14:28 |
| for korob2001 У меня есть HTML-страница с табличкой и все туда прекасно загружается из файла *.dat. И мне не нужна таблица в формате *.xls. И не хочу хранить базу в Access. Я просту хочу, чтоб как в винде открыть файл *.dat с помощью Microsoft Excel (в отдельном окне). Неужели в Perl это нельзя сделать? |
| Автор: Secandr 7.7.2005, 16:11 |
| Перл тут не причём. Перл манипулирует с информацией на сервере. А клиентская машина ведёт себя независимо от перла. Хочешь открывать экселем отдавай xls файл с соответствующим содержимым |
| Автор: sharq 7.7.2005, 18:30 |
| Лёха может сделать так: 1. пользователь получает ссылку на файл, скачивает его, редактирует в Exel'е и с помощью формы закачивает на сервер. 2. создаешь имитацию Exel'я - на html-странице выводишь форму для редактирования информации, похожую на Exel. Первый способ - не очень... второй как раз то, что нужно! Если ты делаешь CGI-приложение, то у тебя не получится через него открывать файлы во внутреннем приложении (например, в Exel'е), изменять их и сохранять на сервере. Иначе - если, ты делаешь скрипт, кот. вызывается через командную строку, то ты можешь открывать Exel, используя технологию OLE, изменять данные в нем и сохранять на диск. |
| Автор: korob2001 7.7.2005, 19:05 | ||
Я что-то не пойму, сначала ты говоришь, что она тебе нужна. Теперь ты говоришь, что она тебе не нужна. |
| Автор: Лёха 7.7.2005, 20:31 |
| for sharq Не мог бы ты подробнее написать текст, в котором используется OLE технология для открытия файла. Может ты знаешь какие-нибудь функции, делающие примерно то же самое. for korob2001 Если открывать файл *.dat вне интернет-странички Windows откроет окно "Открыть с помощью", в нем можно выбрать "MicrosoftExcel" и при соответсвующем формате файла *.dat он откроется в виде Excel-таблицы, теперь содержимое файла можно редактировать и визуально оно будет очень даже ничего, а при сохранении изменений они будут записаны обратно в файл *.dat. Что-то вроде этого я и хочу сделать и *.xls файл мне совершенно не нужен. |
| Автор: sharq 7.7.2005, 23:28 | ||
| Лёха perldoc Win32::OLE! Вот пример - открывает Exel-приложение, записывает туда, что нужно и куда нужно, этот файл можно редактировать в ручную и сохранять туда, куда нужно.
Читай доку, юзай методы и будет тебе счастье. ЗЫ если это то, что тебе нужно, то формулируй свои вопросы точнее. |
| Автор: Guest 8.7.2005, 08:08 |
| for sharq Спасибо. Попробую. Но я бы хотел не создавать новый докумет в экселе, а подгрузить уже созданный файл (*.dat). |
| Автор: Secandr 8.7.2005, 08:19 |
| Лёха, ты не можешь заставить клиентскую машину прочитать файл dat в экселе при помощи перла. При помощи перла ты можешь конвертировать файл в экселевский и отдать клиенту. |
| Автор: Guest 8.7.2005, 08:38 |
| for Secandr. Напиши, пожалуйста, подробнее как это реализовать |
| Автор: korob2001 8.7.2005, 08:49 | ||
1.) .xls это как раз и есть формат Excel'я. Что касается .dat, то его нужно сначало открыть, затем читать, конвертировать в формат .xls ( Excel ) и выдавать пользователю, не проще ли хранить всё изначально в .xls фомате? 2.) После того как данные изменены - нужно ковертировать из формата .xls всю таблицу и записывать её в файл .dat. Опять же, зачем всё это делать, если можно просто сохранить всё в тот же .xls, т.е. Excel фомат. 3.) Если ты хочешь таким образом в сети сохранять всё изменения, а не локально, то сразу тебе говорю ничего без ActiveX и OLE у тебя не выйдет и работать будет только под виндой. |
| Автор: sharq 8.7.2005, 09:52 | ||||
Ты запускал пример??? Он, как раз создает новый файл, инициализирует его какими-то значениями и открывает в Exel. Инициализировать ты можешь как хочешь, что и чем хочешь, хоть логами севрера Ты геммор себе придумал, зачем тебе так мучатся:
Лучше напиши подробнее что тебе необходимо сделать, мы тебе поможем... наверно. |