После пересмотра вопроса, вот ваша проблема: вы используете неправильную версию chart.js
. Согласно в этом разделе , если вы хотите использовать ось, основанная на времени, вам либо нужно явно включить moment.js
, либо использовать версию пакета.
Изменение ресурса в jsfiddle до https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.4/Chart.bundle.min.js
покажет ожидаемую диаграмму. Не нужно вообще менять код.
Только пользовательская машина может "вызвать" его в Excel. Тем не менее 99% времени при отправке корректного типа пантомимы и пользователя, имеют Excel, затем он откроется в Excel, предполагающем, что они одобряют.
И только сервер может отправить корректный тип пантомимы. Тип документа Вы передаете JavaScript window.open вызов, не будет иметь никакого эффекта на это. На самом деле вызов window.open в лучшем случае просто откроет лишнее окно.
Лучше просто связываться с документом с <a href="foo.xls">
. И если Ваш сервер отправляет тип пантомимы application/x-excel
или application/x-msexcel
это будет почти всегда пошагово перемещать браузер в открытие нового окна с документом Excel.
Если это - просто статический файл, и Вы используете Apache на Linux, проверяете на файл, названный/etc/mime.types, и удостоверяетесь, что это имеет следующую строку там для соединения .xls расширения файла с корректным типом MIME:
application/vnd.ms-excel xls
Я предполагаю, что местоположение того файла могло бы варьироваться через системы, но это находится в/etc/mime.types на моем сервере, который выполняет RHEL4.
AFAIK Вы не можете сделать этого с одним только JavaScript. Если у Вас есть своего рода язык сценариев на стороне сервера, можно изменить заголовок для принуждения загрузки.
Вот простое учебное руководство в PHP, но можно легко найти один на любимом языке.
Я не думаю, что Вы можете: Вы не можете назвать внешние программы с помощью JavaScript из соображений безопасности. Предполагая, что пользователю установили Excel, можно хотеть открыть новое окно без строки поиска, чтобы дать пользователю "иллюзию", что файл был открыт с Excel в Internet Explorer.
Вы не можете вызвать его в Excel. Можно позволить браузеру обрабатывать его, какой бы ни способ, которым это настроено, чтобы сделать так, или можно попытаться вынудить это загрузить файл и позволить пользователю открыться если от их рабочего стола. Для принуждения загрузки ищите "загрузку силы" и язык серверной стороны (PHP, ASP.NET, JSP, и т.д.)
Я не думал бы, что это возможно из JavaScript из-за проблем безопасности, не было бы ничего мешающего веб-странице жулика открыть десятки экземпляров Excel/слова.
Разве Вы не могли установить гиперссылку на URL .xls, тот способ, которым пользователь заставил бы обычную подсказку загрузки просматривать файл.
Это - установка в браузере каждого пользователя а не в чем-то, что может быть установлено кодом. Таким образом, к сожалению, Вы не имеете контроля над этим.
Вы не можете, поскольку это зависит от клиентской машины.
Например, в Windows, если Вы хотите, чтобы это всегда открыло его с Excel, не в окне браузера, необходимо открыть My Computer, Tools, Folder Options, File Types, выбрать тип XLS и нажать на Advanced. Существует два флажка: Обзор в том же окне и Открытых веб-документах на месте. Снимите флажок с обоими, близким окном браузера, откройте его снова и попробуйте еще раз.
Однако, поскольку я сказал: это зависит от клиента, Вы не можете вызвать его.
Вот шаги, чтобы вернуть это всплывающее окно при открытии сохраненного файла Excel.
В меню выберите Инструменты \ Параметры папки…
• Выберите вкладку «Типы файлов» и прокрутите вниз список файлов.
• Щелкните левой кнопкой мыши, чтобы выделить расширение XLS Microsoft Excel Worksheet, и нажмите кнопку «Дополнительно».
В окне «Изменить тип файла» снимите флажок «Обзор в том же окне».
Нажмите кнопку «ОК», чтобы принять изменения. .
Начать новый сеанс браузера. При следующем открытии электронной таблицы Excel в папке «Входящие» вам будет предложено следующее окно. Не забудьте оставить «Всегда спрашивать, прежде чем открывать этот тип файла», как отмечено. Нажав кнопку Открыть, вы должны открыть свой файл в Excel.
Можно сделать это использование LaunchinIE, элемент управления ActiveX, который позволит страницам HTML запустить безотносительно приложения на машине клиента без предупреждений системы безопасности.
Кавычка от сайта: "Наконец, веб-страницы могут запустить Word, Excel или любое другое корпоративное приложение без жалоб. Надежно".
Для этого действительно необходимо установить управление на пользовательской машине и также добавить URL, которому позволяют выполнить локальные приложения к реестру Windows.
Другая кавычка от сайта: "Для обеспечения безопасности LaunchinIE должен быть тщательно настроен клиентский; из-за этого ограничения это только подходит для использования интранет".
Я использую LaunchinIE в нашем учебном центре, таким образом, я могу использовать Internet Explorer в качестве меню, которое позволяет пользователю выбрать установку машины. LaunchinIE затем называет сценарий пакетной обработки, который настраивает машину для лучшей поддержки выбранного обучения.