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

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

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

Author24 — интернет-сервис помощи студентам
ребят хелп нужна срочно помощь по выводу данных в готовый 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 границы ячейки таблицы
Всем привет. Можете подсказать, как можно нарисовать границы ячейки таблицы? но не выходя за её...

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

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

9
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 9
10.11.2019, 01:26 2
Друг, Приветствую, скажи пожалуйста, ты решил проблему с таблицей, можешь скинуть где её можно глянуть.
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
10.11.2019, 13:35  [ТС] 3
Himir, завтра отвечу. Все данные на рабочем ПК.
0
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 9
10.11.2019, 13:44 4
Добро
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
11.11.2019, 07:11  [ТС] 5
Цитата Сообщение от 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 6
Спасибо Друг
0
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
11.11.2019, 12:58 7
Lastik228, а если бы у тебя было 1000 ячеек?)
0
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 9
11.11.2019, 13:13 8
мне сложно пока ответить, я сам только разбираюсь с питоном,джанго,js. У меня интерес вызвала проблема, мне тоже надо вывести на эксель данные, но это полноценный документ и я ищу варианты, как лучше реализовать это, поэтому с твоим кодом я ещё буду разбираться. У тебя вопрос о 1000 яч., не можешь найти решение или интерес на сколько я компетентен))))? Учусь Друг, с нуля начал, есть идеи, хочу попробовать их реализовать, а получиться денег заработать, да вообще будет замечательно)))
0
1 / 1 / 1
Регистрация: 20.04.2017
Сообщений: 267
11.11.2019, 14:05  [ТС] 9
Цитата Сообщение от m0nte-cr1st0 Посмотреть сообщение
1000 ячеек?)
ну на такую тему я хз тут js поможет. есть такая js bootstrap-table-export.js. она тебе сама сформирует файл xlsx. почитай про нее вдруг оно твое решение.
0
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
12.11.2019, 11:11 10
Lastik228, причём тут жс, если это бек?)
0
12.11.2019, 11:11
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2019, 11:11
Помогаю со студенческими работами здесь

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

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

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

Получить из excel цвет ячейки таблицы word
Здравствуйте,нужно получить макросом vba в excel,цвет определенной таблицы определенной ячейки из...

Как узнать цвет ячейки из таблицы excel?
Доброго времени суток! Собственно весь вопрос в теме. Никак не получается узнать цвет фона ячейки...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru