Member 13092275 Ответов: 4

Открыть/редактировать/сохранить лист Excel из браузера с помощью JavaScript


Я хотел бы знать как я могу это сделать
open/edit/save excel sheet from browser using javascript without getting the excel popup asking to open or save

What I have tried:

<pre>var Excel = new ActiveXObject("Excel.Application");
        Excel.Visible = true;
        Excel.Workbooks.Open("store_funnel.xlsx");

Richard Deeming

Этот код будет только работа в Internet Explorer на Windows, а также только если у пользователя установлен Office, а также только если пользователь изменил свои настройки, чтобы разрешить вашему сайту "инициализация и использование элементов ActiveX, не помеченных как безопасные для использования".

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

И поскольку, как вы упомянули в комментариях ниже, вы пытаетесь отредактировать файл в локальной файловой системе пользователя, решения нет. Javascript не имеет доступа к файловой системе пользователя, потому что это было бы серьезной уязвимостью системы безопасности.

4 Ответов

Рейтинг:
2

Member 13036251

var newwindow=window.open("url of .xls","window1","");


Make sure that the permissions for 'directory' (755) and 'file (644)' access are set to at least 'read' for all users for the .xls you wish to download.


Member 13092275

Разве это позволить в Excel, чтобы открыть в браузере?
Или он предложит открыть/сохранить лист excel?

Member 13036251

Просто попробовал it..it загружает его, но не открывает.Я немного читал в интернете, но, похоже, вы не хотите, чтобы ActiveX появился..

Member 13092275

Я согласен с любым подходом, который откроет excel в браузере.
ActiveX не работает для меня. Есть намек?

Member 13036251

Активный X не работает. Что ты имеешь в виду?

Рейтинг:
1

Member 13036251

Это работает в IE:

<html>

  <body>

    <form name="form1">
      <input type=button onClick="test()" value="Open File">
      <br><br>
    </form>

    <script type="text/javascript">
      function test() {
        var Excel = new ActiveXObject("Excel.Application");
        Excel.Visible = true;
        Excel.Workbooks.Open("http://go.microsoft.com/fwlink/?LinkID=521962");
      }
    </script>
  </body>
</html>


Возможно, Вам также придется возиться с системой безопасности, но она открывает электронную таблицу Excel в отдельном окне..


Member 13092275

На самом деле мне нужно открыть локальный файл excel

Рейтинг:
1

Member 13991472

функция write_to_excel()
{
стр="D:\test1\test\Email_Far";

var mytable = document.getElementsByTagName("таблица")[0];

ВАР row_Count = таблица mytable.строк.длина;
var col_Count =6;

var ExcelApp = новый ActiveXObject("Excel.Приложение");
ExcelApp.Видимое=истинное;
var ExcelSheet=ExcelApp.Workbooks.Открыть("D:\\test1\\test\\Email_Far");



for(var i=0; i < row_Count ; i++)
{
for(var j=0; j < col_Count; j++)
{
стр= таблица mytable.метод getelementsbytagname("тр")[я].метод getelementsbytagname("тд")[Дж].innerHTML будет;
Отличный лист.Активный лист.Клетки(i+1,j+1).Значение = str;
}
}
Отличный лист.Сохранить("D:\\test1\\test\\Email_Far.xlsx");

}


Этот код откроет файл Excel и запишет данные с Html-страницы. Пожалуйста, попробуйте..
Примечание: это всего лишь скрипт, поэтому вам просто нужно создать html-страницу, например, в ней есть таблица, из которой данные должны быть извлечены и помещены в excel.


Richard Deeming

Точно такая же проблема, как и вопрос:

Этот код будет только работа в Internet Explorer на Windows, а также только если у пользователя установлен Office, а также только если пользователь изменил свои настройки, чтобы разрешить вашему сайту "инициализация и использование элементов ActiveX, не помеченных как безопасные для использования".

Рейтинг:
0

Patrice T

Цитата:
откройте/отредактируйте/сохраните лист excel из браузера с помощью javascript, не получая всплывающего окна excel с просьбой открыть или сохранить
Цитата:
На самом деле мне нужно открыть локальный файл excel

Такого рода действия запрещены современными браузерами по соображениям безопасности.
Internet Explorer, вероятно, единственный, кто позволяет эту деятельность с помощью activex, проблема в том, что по умолчанию activex деактивирован, а IE не так популярен в наши дни.

Боюсь, вам придется искать другой способ.