Создание выходных данных формата Excel с использованием HTML и JavaScript - PullRequest
1 голос
/ 08 февраля 2012

У меня было интервью и задан вопрос:

Напишите плагин JS, который может принимать в качестве входных данных ячейку и значение и выводить формат Excel в браузере. Например,

Данные ввода (ячейка и значение):

J3 = 5
A2 = 20
K1 = 10

Вывод в браузере должен быть в формате Excel

   A   B   C ....... J    K .......
1                         10
2  20 
3                    5
..

Я искал правильное решение проблемы.

Я пытался решить эту проблему (написание кода psudeo)

var  cell = {"J3": 5, "A2":20, "K1": 10}

// Function they will call for generate excel style table
generateExcel(cell, selector) {     
1.  create blank table  which has A-Z column (with selector as A-Z resp) and 1 to 100 rows (with selector as 1 to 100 resp)
2. Loop through each cell and for each cell
  2.1 find the column (J) and row (3)
  2.2 Add/replace value in that TD

3. Once all the information from cell in enter in table,  print the table in the document at given selector        

}

Они сказали, что это не будет эффективно для огромного количества входов в ячейки. Я предлагаю использовать Матрицу создания таблицы

   A   B...    J  K .... 
1 [               10      ]
2   20
3              5   

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Я думаю, вы хорошо начали. Начните с создания таблицы, которая будет содержать элементы. Это будет 26 столбцов шириной и высотой с наибольшим значением y. Преобразуйте буквы в цифры.

Извините за ссылку на w3schools, я могу быть опущен даже за то, что упомянул их, но у них самая лучшая документация по объекту таблицы, которую я мог бы найти для вас в Google. Я обновлю его, если у кого-то будет что-то лучше.

http://www.w3schools.com/jsref/dom_obj_table.asp

MDN Tutorial

https://developer.mozilla.org/en/Traversing_an_HTML_table_with_JavaScript_and_DOM_Interfaces

После этого вы можете наиболее эффективно получить доступ к ячейке таблицы через

var table = ;//get by id or create element, not sure what they expect
table.rows[y].cells[x].appendChild(...);
0 голосов
/ 08 февраля 2012

Таблицы Excel - это таблицы. Вы можете использовать простую таблицу? Если это так, я бы порекомендовал свойство CSS border-collapse , чтобы оно выглядело лучше, а также, возможно, уменьшив отступы и поля ячеек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...