2016-12-22 2 views
0

Я создаю сценарий создания небольшого списка. Я нашел этот код в Stack Overflow, и он отлично работает, но я хочу, чтобы он помещал файл в определенную папку, а не в загрузки.В программу Excel, как я могу привязать ее к определенной папке?

var tableToExcel = (function() { 
    var uri = 'data:application/vnd.ms-excel;base64,' 
    , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>' 
    , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) } 
    , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) } 
    return function (table, name, filename) { 
     if (!table.nodeType) table = document.getElementById(table) 
     var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML } 
     var d = new Date(); 
     var hh = d.getHours(); 
     var mm = d.getMinutes(); 
     var ss = d.getSeconds(); 
     var time = hh + ":" + mm + "." + ss; 
     document.getElementById("dlink").href = uri + base64(format(template, ctx)); 
     document.getElementById("dlink").download = time + filename; 
     document.getElementById("dlink").click(); 

    } 
})() 

код выполняется с помощью кнопки, как так

<input type="button" onclick="tableToExcel('tablename', 'name', '.xls')" value="Export to Excel" > 

И эта связь необходима для облегчения загрузки.

<a id="dlink" style="display:none;"></a> 

Примечание Часть в середине о новой дате() для автоматического именования файлов.

+0

Это не действительный HTML. –

+0

Что это значит? Мне нужно было поставить пробелы между «<' and the '>», чтобы код был видимым. –

+0

Значит, вы не читали никаких инструкций на странице [ask]? –

ответ

0

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

Firefox

IE

Chrome

Safari

Кроме того, я просто наткнулся на this пост, который обсуждает методы для разных браузеров от доступа к файловой системе с помощью Javascript

+0

Ссылка на слайд-шоу о методах хранения html5 идеальна. Я попытаюсь сделать работу localstorage, я продолжу обновление потока, если найду действительно хороший метод. –

Смежные вопросы