В данный момент вы копируете полный двоичный объект в файл Excel (только с расширением, поскольку Excel не распознает его как действительный xls). Когда я открываю созданный jsFiddle Excel, это именно то, что я вижу. Поэтому вам нужно написать процедуру для перебора элементов, помещая их в формат csv и экспортировать их как csv в Excel.
Ваша задача будет проще, если данные хранятся в табличном формате, а не в виде коллекции div. В любом случае вам нужен элемент (класс preudo), разделяющий разные строки = записи данных. Тогда вы можете сделать, например, (частично псевдокод):
var csvContent= "First Name, Middle Name, Last Name, .... , Mobile Number;"; // Headers for CSV file
var dataElements = document.getElementsByClassName("dataEntry");
for (var i = 0; i < dataElements.length; i++) { // we iterate through all data entries
// If your ids per entry (one person) are fix (which is a bad idea)
var entryLineCsv = document.getElementById("kaf_x1").value + ","
+ document.getElementById("kaf_x2").value + ","
... some more colums ...
document.getElementById("kaf_xlast").value + ";"; // here we got on csv line
createCsvFile(entryLineCsv);
}
function createCsvFile(addEntryLineIoCsv) {
csvContent = csvContent + addEntryLineIoCsv;
}
Затем вы экспортируете CSV в Excel.
Подумайте об уменьшении html - «ада» до гибкой таблицы, чтобы вам было легче захватить данные.