Я учитель и отправляю отчеты об оценках через функцию электронной почты MailApp.sendEmail с помощью Googlescript. Для тела электронного письма я создаю длинную переменную. Электронное письмо содержит отчет: одна строка на оценку. Мне нужно выровнять столбцы отчета. Вот что у меня есть прямо сейчас (из электронного письма, полученного от Mailapp.sentMail:
Ученик: Кент, школа Дэвида
Неделя в магазине: видео с заданиями, работа....................................... ......01-18........01-28........100% Домашнее задание: работа................................................... ................01-28........01-28........100% Викторина: работа................................................... .................01-28........01-28........100% Классная работа: работа................................................... ...................01-28........01-28........100% Домашнее задание: рабочий лист с видео, работа на энергию................................01- 28........01-29........100% Домашнее задание: работайте, чтобы получать энергию .................................. ........01-29........01-29........100% Непрерывная викторина: работайте на энергию.................................................. ..........01-29........01-29........100% Работа в классе: работайте на энергию.................................................. ...........01-29........01-29........100% Домашнее задание: Введение в энергию .................................................. ...........01-29........01-30........100%
Как видите, столбцы не выровнены. Когда я понял, что HTML не отображает несколько пробелов, я предпринял слабую попытку, заменив "." для космоса. Я попытался использовать "& NBSP;" и смог добавить несколько пробелов, но меня все еще смущает тот факт, что разные символы занимают разное количество горизонтального пространства. Это делает неэффективным подсчет символов при построении строки отчета.
Мне нужен способ построить строку отчета, которая при просмотре в электронном письме будет иметь выстроенные столбцы.
Почему бы просто не использовать <table>?
Мальпомене: я ничего не знаю о столах. Можете ли вы кратко описать, как они работают, и, возможно, указать мне, где я могу узнать о них?
Нильс: Вот код, в котором я экспериментировал с добавлением и подсчетом символов, чтобы получить строки, которые будут выстраиваться в отчете. Я думал, что решу проблему, когда использовал "& nbsp;" но затем я попытался запустить с разностным символом «@», который отображался намного шире в электронном письме.
Мельпомена Спасибо. Мне нужно выбежать на час или около того, но я проверю столы, когда вернусь. Спасибо еще раз.
Нильс, я новичок в переполнении стека. Когда я попытался вставить код в комментарий, мне сказали, что он слишком длинный. Должен быть способ прикрепить файл, но я не могу найти эту функцию на веб-сайте. , Вы можете дать мне совет?
Я не думаю, что вы можете прикрепить сюда файл, тогда вам нужно будет сделать ссылку на него самостоятельно, но я бы не рекомендовал этого делать. Вы должны взять часть своего кода, которую вы идентифицировали как проблему, а затем вставить ее.
Но что вы должны сделать, так это использовать <table>, это лучший вариант при создании HTML-кода электронной почты, поскольку он поддерживается большинством почтовых клиентов. Это лучший способ структурировать ваши данные при отправке электронных писем, и ваш случай кажется идеальным примером для его использования. Взгляните на мэйлчимпс пост об этом
@NilsKähler Самое смешное, что на самом деле не имеет значения, что это электронная почта. Это прямо табличные данные, поэтому <table> — это семантически правильный HTML-элемент для использования. :-)
@melpomene да, я согласен, что таблицы семантически правильны для табличных данных, я также говорю, что его случай - идеальный пример для таблиц. Я думаю, мы согласны. :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Мне удалось найти генератор кода для таблиц по адресу https://www.tablesgenerator.com/html_tables
Я создал таблицу в соответствии со своими спецификациями (столбцы, заголовки строк и т. д.). Я ввел пару строк с фиктивными данными, чтобы получить HTML/CSS для создания таблицы, заголовков и строк. Затем я взял этот код и использовал его в своем Javascript для создания строки текста, которую я отправляю утилите MailApps для отправки и электронной почты. Это сработало как чемпион, за исключением того факта, что мне нужно внести пару корректировок, таких как изменение высоты строки. Я изо всех сил пытаюсь добавить код CSS для изменения высоты строки.
Можете ли вы вставить свой текущий код.