Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267

Вывод чисел из html таблицы в Excel ячейки

16.05.2019, 19:49. Показов 4637. Ответов 9

Студворк — интернет-сервис помощи студентам
ребят хелп нужна срочно помощь по выводу данных в готовый exls файл. есть таблица в html у каждой ячейки там есть свой id и мне нужно вывести из каждой id ячейки в определенную ячейку в Excel.
вот код html и в самом низу код js
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{% load static %}
<!DOCTYPE html>
<html>
<head>
<link rel='stylesheet' href='{% static "css/bootstrap.css" %}'>
<link rel='stylesheet' href='{% static "css/menu.css" %}'>
</head>
      <h1 style="text-align: center;">Калькулятор стандарта СКС</h1>
  <table class=" table-bordered" id="myTable">
    <tr>
      <th class="table-dark"></th>
      <th class="table-dark">Эконом</th>
      <th class="table-dark">Оптима</th>
      <th class="table-dark">Премиум</th>
      <th class="table-dark">Лофт</th>
    </tr>
    <tr >
      <td class="table-dark">Кол-во портов рабочих мест, шт.</td>
      <th class="bg-success"><div id="d1" contenteditable ></div></th>
      <th class="bg-success"><div id="d2" contenteditable ></div></th>
      <th class="bg-success"><div id="d3" contenteditable ></div></th>
      <th class="bg-success"><div id="d4" contenteditable ></div></th>
    </tr>
    <tr>
      <td class="table-dark">Средняя длина кабеля (от шкафа до рабочего места), м</td>
      <td class="bg-success" colspan="4"><div id='a' contenteditable ></div></td>
    </tr>
    <tr>
      <td class="table-dark">% кабинетов где необходим горизонт кабель-канал, %</td>
      <th class="table-dark"></th>
      <th class="bg-success"><div id='b2' contenteditable ></div></th>
      <th class="bg-success"><div id='b3' contenteditable ></div></th>
      <th class="bg-success"><div id='b4' contenteditable ></div></th>
    </tr>
    <tr>
      <td class="table-dark">% кабинетов где необходим горизонт кабель-канал, %</td>
      <th class="table-dark"></th>
      <th class="bg-success"><div id="c2" contenteditable ></div></th>
      <th class="table-dark"></th>
      <th class="table-dark"></th>
    </tr>
  </table>
<h1></h1>
  <div class="" style="text-align: center;">
  <a href="#" class="btn btn-success" id="test"> Вывод в Excel</a>
</div>
<script type="text/javascript" src="{% static 'js/jquery-3.4.1.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/jquery-migrate-1.4.1.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/bootstrap.min.js' %}"></script>
<script type="text/javascript">
  
 $(document).ready(function() {
    $('#test').click(function (event) {
      event.preventDefault();
      var url = window.location.pathname
      var a = document.getElementById('d1');
      console.clear();
      console.log(a);
      console.log(a.innerHTML);
      $.post("/table/", { 'd1': d1.textContent},  function (response) {
      });
    });
});
</script>
</html>
вот файл views.py где и происходит ввод данных в Excel.
так же если увидите после ввода он должен открывать мне сам файл куда будут введены эти данные, он его так же не хочет открывать. ошибок в консоли нет.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@csrf_exempt
def table(request):
    if request.POST:
 
        shutil.copy("media/xl1.xls", "media/xl2.xls")
        destination_filename = "media/xl2.xls"
 
    def get_document(filename):
        local = uno.getComponentContext()
        resolver = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
        context = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
        desktop = context.ServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", context)
        document = desktop.loadComponentFromURL(uno.systemPathToFileUrl(filename), "_blank", 0, tuple())
        return document
 
 
        write_book = get_document(destination_filename)  # Окроем исходный документ
        sheet = write_book.getSheets().getByIndex(0)  # Получем первый лист
        cell = sheet.getCellByPosition(3, 1)  # Получим необходимую нам ячейку
        cell.setString(int(cell.getString()))  # И запишем в неё новый результат
        write_book.storeToURL(uno.systemPathToFileUrl(destination_filename), ())
        with open('media/xl2.xls', 'rb') as f:
            profile.mugshot = File(f)
            profile.save()
 
        os.system("start media/xl2.xls")
    return render(request,'table.html', {})
очень прошу помощи так как я уже в тупике а работу надо уже сдать. ошибки она не выдает и я понятия не имею что не так.
python 3.6.7
django 2.2
Миниатюры
Вывод чисел из html таблицы в Excel ячейки   Вывод чисел из html таблицы в Excel ячейки  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.05.2019, 19:49
Ответы с готовыми решениями:

Вывод результата выполнения программы в ячейки таблицы в excel
Здравствуйте, подскажите пожалуйста, как, собственно, отобразить результат в таблице? Задание: При помощи датчика случайных чисел...

Вывод чисел в ячейки Excel
подскажите пожалуйста как сделать что что бы при выборе данных из выпадающего списка из базы подтягивались другие данные относящиеся к...

Html границы ячейки таблицы
Всем привет. Можете подсказать, как можно нарисовать границы ячейки таблицы? но не выходя за её пределы и не увеличивая размер самой...

9
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 9
10.11.2019, 01:26
Друг, Приветствую, скажи пожалуйста, ты решил проблему с таблицей, можешь скинуть где её можно глянуть.
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
10.11.2019, 13:35  [ТС]
Himir, завтра отвечу. Все данные на рабочем ПК.
0
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 9
10.11.2019, 13:44
Добро
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
11.11.2019, 07:11  [ТС]
Цитата Сообщение от Himir Посмотреть сообщение
Добро
HTML5
1
<a  class="btn btn-success" id="test"> Формирование документа</a>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$(document).ready(function() {
    $('#test').click(function (event) {
      event.preventDefault();
      var d1 = document.getElementById("d1");
      var d2 = document.getElementById("d2");
      var d3 = document.getElementById("d3");
      var d4 = document.getElementById("d4");
      var a = document.getElementById("a");
      var b2 = document.getElementById("b2");
      var b3 = document.getElementById("b3");
      var b4 = document.getElementById("b4");
      var c2 = document.getElementById("c2");
 
      var f8 = document.getElementById("f8");
      var f9 = document.getElementById("f9");
      var f10 = document.getElementById("f10");
      var f11 = document.getElementById("f11");
      var f12 = document.getElementById("f12");
      var f13 = document.getElementById("f13");
      var f14 = document.getElementById("f14");
      var f15 = document.getElementById("f15");
      var f16 = document.getElementById("f16");
      var f17 = document.getElementById("f17");
      var f18 = document.getElementById("f18");
      var f19 = document.getElementById("f19");
      var f20 = document.getElementById("f20");
      var f21 = document.getElementById("f21");
      $.post("/download/", { "d1": d1.textContent,"d2": d2.textContent,"d3": d3.textContent,"d4": d4.textContent,"a": a.textContent,"b2": b2.textContent,"b3": b3.textContent,"b4": b4.textContent,"c2": c2.textContent,"f8": f8.textContent,"f9": f9.textContent,"f10": f10.textContent,"f11": f11.textContent,"f12": f12.textContent,"f13": f13.textContent,"f14": f14.textContent,"f15": f15.textContent,"f16": f16.textContent,"f17": f17.textContent,"f18": f18.textContent,"f19": f19.textContent,"f20": f20.textContent,"f21": f21.textContent},  function (response) {
      });
    });
});
urls.py
Python
1
url(r'^download/$', download, name='download'),
вот это все во views
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
@csrf_exempt
def download(request):
    if request.POST:
        shutil.copy("media/xl1.xlsx", "static/media/xl2.xlsx") 
        destination_filename = "static/media/xl2.xlsx"
       # принимаю данные из html
        d1 = request.POST["d1"]
        d2 = request.POST["d2"]
        d3 = request.POST["d3"]
        d4 = request.POST["d4"]
        a = request.POST["a"]
        b2 = request.POST["b2"]
        b3 = request.POST["b3"]
        b4 = request.POST["b4"]
        c2 = request.POST["c2"]
        f8 =  request.POST["f8"]
        f9 =  request.POST["f9"]
        f10 = request.POST["f10"]
        f11 = request.POST["f11"]
        f12 = request.POST["f12"]
        f13 = request.POST["f13"]
        f14 = request.POST["f14"]
        f15 = request.POST["f15"]
        f16 = request.POST["f16"]
        f17 = request.POST["f17"]
        f18 = request.POST["f18"]
        f19 = request.POST["f19"]
        f20 = request.POST["f20"]
        f21 = request.POST["f21"]
        # если будешь производить расчеты с числами то переводи их в int
        d1 = int(d1)
        d2 = int(d2)
        d3 = int(d3)
        d4 = int(d4)
        a = int(a)
        b2 = int(b2)
        b3 = int(b3)
        b4 = int(b4)
        c2 = int(c2)
 
        f8 = int(f8)
        f9 = int(f9)
        f10 = int(f10)
        f11 = int(f11)
        f12 = int(f12)
        f13 = int(f13)
        f14 = int(f14)
        f15 = int(f15)
        f16 = int(f16)
        f17 = int(f17)
        f18 = int(f18)
        f19 = int(f19)
        f20 = int(f20)
        f21 = int(f21)
       # открываем файл 
        wb = openpyxl.load_workbook('static/media/xl2.xlsx')
       # выберем лист
        worksheet = wb['Лист1'] 
       # вносим данные
        worksheet["B4"]= d1
        worksheet["C4"]=d2
        worksheet["D4"]=d3
        worksheet["E4"]=d4
        worksheet["B5"]= a
        worksheet["C6"]=b2
        worksheet["D6"]=b3
        worksheet["E6"]= b4
        worksheet["C7"]= c2
        worksheet["F8"]=f8
        worksheet["F9"]=f9
        worksheet["F10"]= f10
        worksheet["F11"]=f11
        worksheet["F12"]= f12
        worksheet["f13"]=f13
        worksheet["F14"]= f14
        worksheet["F15"]=f15
        worksheet["F16"]= f16
        worksheet["F17"]=f17
        worksheet["F18"]= f18
        worksheet["F19"]=f19
        worksheet["f20"]=f20
        worksheet["F21"]=f21
         # сохраняем изменения
        wb.save('static/media/xl2.xlsx')
        return render(request,'table.html', {})
1
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 9
11.11.2019, 12:41
Спасибо Друг
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.11.2019, 12:58
Lastik228, а если бы у тебя было 1000 ячеек?)
0
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 9
11.11.2019, 13:13
мне сложно пока ответить, я сам только разбираюсь с питоном,джанго,js. У меня интерес вызвала проблема, мне тоже надо вывести на эксель данные, но это полноценный документ и я ищу варианты, как лучше реализовать это, поэтому с твоим кодом я ещё буду разбираться. У тебя вопрос о 1000 яч., не можешь найти решение или интерес на сколько я компетентен))))? Учусь Друг, с нуля начал, есть идеи, хочу попробовать их реализовать, а получиться денег заработать, да вообще будет замечательно)))
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
11.11.2019, 14:05  [ТС]
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
1000 ячеек?)
ну на такую тему я хз тут js поможет. есть такая js bootstrap-table-export.js. она тебе сама сформирует файл xlsx. почитай про нее вдруг оно твое решение.
0
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
12.11.2019, 11:11
Lastik228, причём тут жс, если это бек?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2019, 11:11
Помогаю со студенческими работами здесь

Нужен Калькулятор чисел в Excel с считыванием чисел ячейки и суммированием к нему еще чисел
Нужен калькулятор для каждой ячейки в таблице, таблица может быть где угодно поэтому 1) нужно взять ту цифру из ячейки и считать 2)...

Как выборочно обновлять ячейки таблицы html
есть таблица. необходимо некоторые ячейки оставлять без обновления. как сделать это - только фреймами? есть таблица текст|...

Свойство Color ячейки таблицы Excel
Пытаюсь установить свойство Cells(j, i + 2).Font.Color = 16777164 на что получаю: 'Невозможно установить свойство Color...

Считать значение из ячейки таблицы Excel
Как например в int x записать значение из ячейки таблицы эксель файла... ? { //Создаём приложение. ...

Вывод из таблицы MySQL записей в виде html таблицы и дальнейшая их обработка
И снова здравствуйте! На этот раз я со сложным вопросом. Мне нужно вывести определенные записи из таблицы MySQL и собрать их в таблицу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru