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

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

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

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
1042 / 577 / 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
1042 / 577 / 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
Ответ Создать тему
Новые блоги и статьи
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер