Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.11.2013, 11:20
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

Экспорт HTML table в excel
Доброго всем времени суток, есть работающий скрипт который успешно сохраняет текущий HTML документ в ексель:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.js"></script>
<script type="text/javascript">
$(function(){
    $('button').click(function(){
        var url='data:application/vnd.ms-excel,' + encodeURIComponent($('#tableWrap').html()) 
        location.href=url
        return false
    })
})
</script>

вызывается так:
<button>click me</button>
    <div id="tableWrap">
    <table>
    <thead>
    <tr><th>A</th><th>B</th><th>C</th></tr>
    </thead>
    <tbody>
    <tr><td>1</td><td>2</td><td>3</td></tr>
    <tr><td>1</td><td>2</td><td>3</td></tr>
    <tr><td>1</td><td>2</td><td>3</td></tr>
    <tr><td>1</td><td>2</td><td>3</td></tr>
    </tbody>
    </table>
    </div>

Но беда в том что некоторые ячейки с цифрами он распознает как дату, здесь можно что нибудь добавить дабы указать тип ячеек при экспорте как float? Я не силен в javascript потому вынужден обратится к вам, прошу не ругайте сильно.
Ответить с цитированием
  #2 (permalink)  
Старый 22.11.2013, 11:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Это не excel, это html, который тупо сохраняется с экселевским расширением. Поищи библиотеки для работы с xlsx, но будет непросто. Вдобавок, xlsx не откроется в древних офисах.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 22.11.2013, 12:11
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

И что никак нельзя задать параметры для сохранения?
Ответить с цитированием
  #4 (permalink)  
Старый 22.11.2013, 12:28
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

параметры? нужно конвертировать
Ответить с цитированием
  #5 (permalink)  
Старый 22.11.2013, 12:33
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

нашел замечательный скрипт, но снова таки не знаю как задать тип ячеек флоат:
<script type="text/javascript">
var tableToExcel = (function() {
  var uri = 'data:application/vnd.ms-excel;base64,'
    , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'
    , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
    , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }
  return function(table, name) {
    if (!table.nodeType) table = document.getElementById(table)
    var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
    window.location.href = uri + base64(format(template, ctx))
  }
})()
</script>

<h1>tableToExcel Demo</h1>
<p>Exporting the W3C Example Table</p>

<input type="button" onclick="tableToExcel('testTable', 'W3C Example Table')" value="Export to Excel">

<table id="testTable" summary="Code page support in different versions of MS Windows." rules="groups" frame="hsides" border="2"><caption>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</caption><colgroup align="center"></colgroup><colgroup align="left"></colgroup><colgroup span="2" align="center"></colgroup><colgroup span="3" align="center"></colgroup><thead valign="top"><tr><th>Code-Page<br>ID</th><th>Name</th><th>ACP</th><th>OEMCP</th><th>Windows<br>NT 3.1</th><th>Windows<br>NT 3.51</th><th>Windows<br>95</th></tr></tbody></table>
</body>
</html>

Мож кто подскажет?
Ответить с цитированием
  #6 (permalink)  
Старый 22.11.2013, 12:51
Аспирант
Отправить личное сообщение для Skesh Посмотреть профиль Найти все сообщения от Skesh
 
Регистрация: 18.03.2011
Сообщений: 30

Вопрос закрыт, решение нашел сам: заменить точку на запятую при выводе данных, и все норм =)
Ответить с цитированием
  #7 (permalink)  
Старый 16.02.2016, 16:08
Интересующийся
Отправить личное сообщение для drno-reg Посмотреть профиль Найти все сообщения от drno-reg
 
Регистрация: 16.02.2016
Сообщений: 23

предложенные методы работают, НО возникают случаи когда браузер к примеру google chrome возвращает "Опаньки".
у меня сложилось впечатление, что сконвертированный из html таблицы файл excel весит более 2 МБ, то возникает это исключение.

Есть ли действительно такие ограничения или проблема в другом?
Ответить с цитированием
  #8 (permalink)  
Старый 16.09.2016, 13:34
Новичок на форуме
Отправить личное сообщение для Den_DL Посмотреть профиль Найти все сообщения от Den_DL
 
Регистрация: 16.09.2016
Сообщений: 1

Сообщение от Skesh Посмотреть сообщение
Вопрос закрыт, решение нашел сам: заменить точку на запятую при выводе данных, и все норм =)
Если не секрет поделитесь, я в этом деле начинающий и никак не могу разобраться.
Ответить с цитированием
  #9 (permalink)  
Старый 04.10.2023, 02:10
Новичок на форуме
Отправить личное сообщение для ABabiy Посмотреть профиль Найти все сообщения от ABabiy
 
Регистрация: 05.01.2015
Сообщений: 4

Есть ли возможность вывести файл в кодировке windows-1251?
Ответить с цитированием
  #10 (permalink)  
Старый 04.10.2023, 08:34
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,700

Сообщение от ABabiy
Есть ли возможность вывести файл в кодировке windows-1251?
Какой файл и куда вывести?
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
xml и css - тег table torsar (X)HTML/CSS 1 19.11.2012 19:21
Типографика и HTML код Manjuriano (X)HTML/CSS 3 23.11.2011 12:22
Передача кода HTML Владимир Седов Общие вопросы Javascript 2 12.04.2011 16:48
Динамические html элементы sky Элементы интерфейса 2 07.03.2010 11:58
из html в excel megaterik Общие вопросы Javascript 2 28.10.2009 22:25