Страницы: 1
Тут была тема про Excel, но там чутос не то.
У меня есть двумерный массив- матрица. И мне надо распечатать его в Excel'e. То есть чтоб созадлся документ excel'а с таблицей- матрицей в нём.
Можно ли это осуществить и как?
Заранее спасибо!
Отсутствует
Innuendo
Можно записать матрицу в текстовый файл, разделяя значения табуляцией. Такой файл excel откроет как таблицу.
Для записи в файл удобно использовать библиотеку Io.js.
Пример использования:
var data='...'; ... var fileOut=FileIO.open('С:\\test.txt); FileIO.write(fileOut, data,'','windows-1251');
Само собой для записи в файл нужны привилегии.
P.S. Если это web-страница, то файл генерировать надо на сервере.
Отредактировано Yan (01-03-2006 20:23:46)
Отсутствует
можно так файлы создавать?
то есть просто .txt файл, разделенный проблеами и ентерами?
ну я знаю есть .csv файлы, которые разделяются точкой с запятой.. и их читает excel.
А где можно прочитать про привелегии, я не очень хорошо с ними знаком.
То есть надо будет спросить разрешение у пользователя?
Отсутствует
Innuendo
можно так файлы создавать?то есть просто .txt файл, разделенный
проблеамитабуляцией и ентерами?
Да, excel всё это распихает по ячейкам. Можно проверить на практике.
А где и как создается матрица? JavaScript'ом на web-странице? Или на сервере?
Отсутствует
Да. Проверил! работает. (ну про txt в excel)
А в них потмо можно будет делать кнопки, и использовать вообще VBA?
и расскажите плз по-подробнее, как файл создать... ну что-там надо в привелегиях прописать)
Заранее спасибо!
Отсутствует
Да. Проверил! работает. (ну про txt в excel)А в них потмо можно будет делать кнопки, и использовать вообще VBA?
Не знаю. Надо попробовать.
Про привилегии - ими скрипт будет обладать по умолчанию, если написать расширение и вызывать его оттуда. Если же расширение не писать, то придется задать их через
Но какие конкретно привилегии задавать для записи в файл не помню.
Я вот еще подумал, можно и без файла обойтись:
var data='1\t2\t3\n1\t2\t3' ; document.location.href='data:application/vnd.ms-excel,'+escape(data);
Отсутствует
INFOMAN
А проверить? Вбить в строку адреса
и посмотреть результат?
Отсутствует
А. Ну да. Оно не ссылку передает, а сохраняет во временный файл и потом его открывает.
Но при этом вылазит окно Открытие файла.
Лень было вбивать.
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
Да, окно открытия конечно напрягает, но это пожалуй лучше, чем окно, запрашивающее привилегии на запись файла. Тем более можно поставить галку "Выполнять для всех таких файлов автоматически".
Отредактировано Yan (02-03-2006 03:03:12)
Отсутствует
Innuendo
А способ с data: не подошел?
P.S. Ссылки на документацию по написанию расширений есть в этой теме.
Отредактировано Yan (02-03-2006 16:35:20)
Отсутствует
Innuendo
Escape переводит
1\t2\t3\n1\t2\t3
в
1%092%093%0A1%092%093
.
Имена задать не удастся..
Если писать расширение, то можно будет сохранить файл под нужным именем в нужной папке, и потом запустить файл на исполнение.
Отсутствует
Yan
спасибо
я там почитал инфу по расиширениям.. по идее надо хоть как-то знать XML, что я не знаю
Ну вот щас книгу купил... буду читать, мне работу сдать надо через полтора месяца, желательно сохранение в Excel'е включиьт в неё)
Отсутствует
Страницы: 1