Data application vnd ms excel

Содержание

  1. Data application vnd ms excel
  2. data application vnd ms excel
  3. 1 ответ 1
  4. Введение
  5. Все написано до нас
  6. Все написано до нас. Подход 2
  7. Форматирование
  8. В заключение
  9. Читают сейчас
  10. Похожие публикации
  11. Особенность протокол javascript или генерация случайного пароля в закладке браузера
  12. YARG — open-source библиотека для генерации отчётов
  13. Zen Reports и %XML.Writer для генерации отчётов Excel в Caché
  14. Вакансии
  15. Комментарии 29
  16. What is MIME application/vnd.ms-excel?
  17. application/vnd.ms-excel
  18. What Are MIME Types?
  19. Why Do I Need MIME Types Like application/vnd.ms-excel?
  20. What Are The Most Common Problems Associated With application/vnd.ms-excel?
  21. How To Fix application/vnd.ms-excel Issues
  22. Do I have the application/vnd.ms-excel “player application” installed?
  23. Do I have broken application/vnd.ms-excel file associations?
  24. mime application/vnd.ms-excel
  25. Загружать файлы xls или xlsx с помощью codeigniter, mime-type error
  26. ASP.NET MVC 3: Экспорт в Excel или что такое XMLExport?
  27. Тестовый проект “MvcExportToXML”
  28. Начнем с Nuget-пакета
  29. Download

Data application vnd ms excel

data application vnd ms excel

Нашел код который сохраняет данные из таблицы в xls

Сохраняет,все хорошо.Но есть два важных вопроса:

1)При сохранении файла он сохраняется как скачанные файлы.xls.Как можно пометь это имя?я не смог понять(

2)При открытии в Excel выдавает такое(но все хорошо отображается)

1 ответ 1

Потому что расширение должно быть .xlsx (XML-образный формат, который используется у вас), а не .xls (бинарный формат, который давно устарел).

Введение

Все написано до нас

Подумал я и начал искать, нашел очень быстро SheetJS , но, боже мой, как там запущено все! Если с форматированием еще можно справиться, то стили — это головная боль.

Все написано до нас. Подход 2

В старом-старом SharePoint 2007 есть такая возможность экспортировать эксель файл, на удивление это работает до сих пор и хорошо поддается описанию.

  • Современный браузер (проверьте в старых)
  • Отформатированная таблица
  • Colspan, rowspan, border — знание табличной верстки

Форматирование

Оформите саму сетку в таблице с помощью атрибутов colspan, rowspan, добавьте стили и после этого вызывайте генерацию файла.

В заключение

Читают сейчас

Похожие публикации

Особенность протокол javascript или генерация случайного пароля в закладке браузера

YARG — open-source библиотека для генерации отчётов

Zen Reports и %XML.Writer для генерации отчётов Excel в Caché

Вакансии

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Комментарии 29

Сегодня я опишу довольно тривиальную, но ни где не освященную тему экспорт из страницы данных в Excel.

Вы глубоко заблуждаетесь.

SheetJS, но боже мой как там запущено все. Если с форматированием еще можно справится, то стили — это головная боль.

Потому что целью является сконструировать настоящий XLS.

Оформите саму сетку в таблице с помощью атрибутов colspan, rowspan, добавьте стили и после этого вызывайте генерацию файла.

И в результате получим несовместимый с альтернативными программами документ. В LibreOffice, если повезёт, хотя бы сетка ячеек сохранится. В Numbers документ откроется, но без контента. А ещё есть всякие мобильные офисы, в том числе GDrive Viewer. Вам-то может быть всё равно, а клиенты будут жутко недовольны.

У меня есть таблица HTML в шаблоне скорости. Я хочу экспортировать данные таблицы html в excel, используя java script или jquery, comatibale со всеми браузерами. Я использую ниже script

Этот script отлично работает в Mozilla Firefox, он всплывает с диалоговым окном excel и просит открыть или сохранить параметры. Но когда я тестировал один и тот же script в браузере Chrome, он не работает, как ожидалось, при нажатии на кнопку нет всплывающего окна для excel. Данные загружаются в файл с «file type: file», без расширения, например .xls Ошибок в консоли хром нет.

Это отлично работает в мозилле, но не в хроме.

Тест браузера Chrome:

Первое изображение. Я нажимаю кнопку «Экспорт в Excel»

What is MIME application/vnd.ms-excel?

application/vnd.ms-excel

Microsoft Excel spreadsheet.

Compatible with Windows 10, 8, 7, Vista, XP and 2000

Optional Offer for WinThruster by Solvusoft | EULA | Privacy Policy | Terms | Uninstall

What Are MIME Types?

A Multi-Purpose Internet Mail Extension (eg. “application/vnd.ms-excel”), also known as a MIME, is type of Internet standard originally developed to allow the exchange of different types of data files through e-mail messages. MIME types like application/vnd.ms-excel are classified into specific data categories such as Video, Audio, Image, and many more. This categorization provides instructions to your computer or mobile device about how these files should be opened / viewed.

Why Do I Need MIME Types Like application/vnd.ms-excel?

Categorizing MIME types like application/vnd.ms-excel into a data type such as “Application” allows your e-mail client or Internet browser to display the content as intended. For example, when you attach a digital camera photo file to an e-mail, an Image MIME type will be associated with that file to allow your recipient to view the photograph.

Here’s how it works: Web servers (computers that host websites and e-mail) insert a set of MIME instructions into the beginning of a data transmission, such as an e-mail message or webpage, in the following format:

Content-Type: application/vnd.ms-excel

[Format Explanation: The MIME type, which in this example is “Application”, is separated by a forward slash (“/”) and followed by a subtype.]

This set of instructions tells your client application, such as an e-mail program (eg. Microsoft Outlook, Apple Mail) or web browser (eg. Google Chrome, Mozilla Firefox), which “player application” should be used to properly display the application/vnd.ms-excel content.

Many modern web browsers include built-in components to display common data types such as image players (eg. GIF, JPEG), Adobe Flash Player, Javascript, and many more. Other less-common types of players must be downloaded separately in order to properly display the MIME content.

What Are The Most Common Problems Associated With application/vnd.ms-excel?

Sometimes you’ll find that your web browser or e-mail client is unable to properly display your application/vnd.ms-excel content. This could be due to one of two reasons:

1. You are missing the proper Application “player software” to display the application/vnd.ms-excel content.

2. Your Windows Registry contains an incorrect file extension (eg. XLS, PDF) association with the application/vnd.ms-excel MIME type.

How To Fix application/vnd.ms-excel Issues

Do I have the application/vnd.ms-excel “player application” installed?

The first step in troubleshooting issues with opening application/vnd.ms-excel content is to first make sure that you have the correct “player application” installed for this MIME type. Because there can be several (or even hundreds) of related software applications to application/vnd.ms-excel, it is very difficult for us to compile a comprehensive list.

Therefore, a key strategy in determining the correct application is to look for clues on what software programs might be related to application/vnd.ms-excel. Look at the naming of the subtype for clues about a related program (eg. Word, Excel) or software developer name (eg. Microsoft).

Furthermore, if you’ve been sent MIME type application/vnd.ms-excel as an e-mail attachment, look for the file extension of the attached file. This file extension (eg. XLC, XLT, XLM, etc.) can provide you with a clue of what “player application” is associated with this Application MIME. Take a look at our file extension list below to see if there are any clues to finding the right “player application”.

Do I have broken application/vnd.ms-excel file associations?

The second step in troubleshooting application/vnd.ms-excel issues is making sure that you have correct file associations in the Windows Registry. Installing and uninstalling programs can lead to incorrect file associations with application/vnd.ms-excel. Take a look at your Windows Registry settings to ensure that the MIME type is correctly associated with the “player application” and file extension.

WARNING: DO NOT edit the Windows Registry unless you are an advanced computer user with experience editing the Registry. Making an error in editing the Registry can create irreversible damage to your PC.

If you are not comfortable editing the Windows Registry, we highly recommend using an automated registry cleaning program, or taking you computer to a qualified professional.

mime application/vnd.ms-excel

The MIME type application/vnd.ms-excel is used to denote the presence of a Microsoft Excel spreadsheet or Microsoft Excel template. The category for this MIME type is «application».

Microsoft Excel or Microsoft Office Excel is a spreadsheet application developed by Microsoft. It is available from Microsoft for both the Windows series of OS» and Mac OS». It has graphing tools, calculation features, pivot tables and also a macro programming language called VBA (Visual Basic for Application). It is a widely used program that is also a part of the Microsoft Office suite of office software. Excel spreadsheet files take the extension XLS and Excel templates take the extension XLT. XLS is also the default file extension of MS Excel. They are both represented using this MIME type.

Excel has been widely adopted within the financial industry and it is considered to be one of the best software out there for making digital spreadsheets. Due to the VBS macro programming capabilities, the spreadsheets are also capable of being programmed individually to act as smaller programs themselves for generating output from given inputs. When used properly, it drastically reduces the effort required to be put into making complicated spreadsheets.

If you believe that some information on this page is incorrect — please let us know!

Copyright © 2020 mimeapplication.net

Загружать файлы xls или xlsx с помощью codeigniter, mime-type error

Ну, я считаю, что это не проблема Codeigniter как таковая, поскольку это скорее тип mime .

Я пытаюсь загрузить файл, файл xls (или xlsx), а mime-тип – браузер, а отчет php – это приложение / октет-поток вместо приложения / excel , application / vnd.ms-excel или application / msexcel для файла xls. Разумеется, модуль плагина codeigniter сообщит об ошибке (недопустимый тип файла), поскольку он пытается сопоставить расширение файла с типом mime.

Странным (est) может быть то, что тот же самый код работал месяцами и теперь перестал работать с последними браузерами Chrome (16.0.912.77), Firefox (10.0) и IE9.

У кого-то была такая же (или аналогичная) проблема и помощь в решении проблемы?

Большое спасибо. PS: Я не буду предоставлять код, так как это не вопрос кода, но при необходимости я загружу некоторые фрагменты.

РЕДАКТИРОВАТЬ

Это может иметь значение: ошибка не возникает с теми же браузерами в аналогичной конфигурации, но с MS Office вместо Libre Office (на моем компьютере). Это не происходит в системе на базе Linux + Libre. SO, может ли это быть Windows-играми в комплекте с открытым исходным кодом, или Libre Office меняет типы mime только для этого?

Я тоже получаю эту ошибку.

CI сообщает о типе файла «application / zip», который имеет смысл, так как формат xlsx является сжатым форматом (переименуйте его в zip, и вы можете открыть его содержимое).

Я добавил / заменил следующую строку в файл типов mime (application / config / mimes.php):

и это работает (для этого браузера хотя бы!)

Пожалуйста, ознакомьтесь со следующим описанием и подсказкой и получите ответ легко!

Описание:

Фактически, многие из них рекомендовали добавить / заменить следующую строку в файле (application / config / mimes.php):

Но я понял, что в CodeIgniter Version 2.2. * Проблема немного другая! Они уже добавили эту строку, но забыли добавить следующий «file_type» ==> ‘application / vnd.ms-excel’

Поэтому добавив вышеприведенное «application / vnd.ms-excel» в массив типа xlsx , позвольте мне загрузить файлы .xlsx !

Подсказка:

Всякий раз, когда вы получаете следующую ошибку, на платформе CodeIgniter и загружаете файлы:

Тип файла, который вы пытаетесь загрузить, не разрешен.

Сделайте следующее в методе загрузки вашего контроллера,

И это даст вам огромный массив, который вы можете получить по этой ссылке . (Пожалуйста, посмотрите на конец этой страницы). В этом массиве вы можете получить то, что является реальным mime_type файла, который вы пытаетесь загрузить, но не позволяете загружать.

Ответ:

В моем случае расширение файла было .xlsx , а типом mime было application / vnd.ms-excel , которое не было добавлено в

Поэтому я добавил его вручную, и после этого он работает VERRY WELL .

То же самое случилось с загрузкой CSV еще раз, когда я проверил расширение файла .csv, но тип mime был text / plain , когда я добавил его в следующую строку:

и сохраняется следующим образом,

Отлично работает! : D Попробуйте, если вы найдете что-то новое в вышеуказанных шагах, прокомментируйте здесь . Поэтому, надеясь, что это будет полезно для всего сообщества CodeIgniter, я отправил его на некоторое время!

С наилучшими пожеланиями, ребята,

Это было ошибкой CI несколько месяцев назад: https://github.com/EllisLab/CodeIgniter/issues/394 . mimes.php в рамках был обновлен, и ошибка была решена. Обновите библиотеку CodeIgniter до версии 2.1.0 (или новее).

Также хорошей проверкой / дампом является ваш тип mime сервера.

Другой альтернативой является принудительный тип mime. С .htaccess это будет

Для целого отладочного приключения протестируйте различные офисные файлы с помощью get_mime_by_extension($file) с помощью File Helper (http://codeigniter.com/user_guide/helpers/file_helper.html)

Только для записей, я нашел причину, mime-type отсутствовал в реестре Windows, решил добавить эти ключи с REG-файлом:

Но предпочел бы использовать вышеприведенные решения, мне не нравится возиться с реестром.

ASP.NET MVC 3: Экспорт в Excel или что такое XMLExport?

ru-RU | создано: 18.08.2011 | опубликовано: 18.08.2011 | обновлено: 02.01.2018 | просмотров за всё время: 29906

При работе над очередным проектом, потребовалось реализовать экспорт данных в MS Excel. Решил поделиться информацией о том, как это можно сделать без особых усилий. Сборка создана согласно спецификации XML Spreadsheet Reference.

Тестовый проект “MvcExportToXML”

Я создал простой тестовый проект на ASP.NET MVC 3. Установил пакет с SampleData и на главной странице вывел список Person и добавил ссылку “Export to Excel”, вот эта ссылка и будет отправной точкой для моей статьи. Сборка создана согласно спецификации XML Spreadsheet Reference.

Это код контроллера (Controller):

Это код представления (View)

Начнем с Nuget-пакета

Устанавливаем экспортный Nuget-пакет. Да, я в очередной раз из простой сборки сделал Nuget-пакет, потому что считаю, что это очень удобно (да и людям приятно). Для установки пакета XmlExport вводим в консоли менеджера пакетов:

Готово! пакет установлен. Теперь перейдем к выгрузке отображаемых данных на странице в XML. Это не просто XML, этот XML с легкостью понимает MS Excel, а значит, данные можно будет увидеть в Excel-таблице.

Создадим новый метод в контроллере Home:

Теперь надо сделать новый ExcelResult, унаследовав его от ActionResult, чтобы нажатие на кнопку экспорта пользователю предлагался сгенерированный файл для сохранения. Мой ExcelResult выглядит так:

Надо в методе Export указать возращаемый тип ExcelResult и сгенерировать данные для экспорта. Не буду расписывать “что и почем”, а просто приведу немного кода:

Многовато получилось, но зато всё понятно. Правда? Особенно если учесть наличие комментариев. Единственное что осталось сделать, так это привести скриншоты каждого из трёх листов сформированной книги Person.xls.

И, наконец, то ради чего…

Обратите внимание, что формулы не просчитаны потому что книга показана в режиме “Защищенный просмотр”.

Но если нажать кнопку “Разрешить редактирование”, то сразу же увидим результат работы формул:

Вот и всё. Пишите в комментарии свои вопросы, дополнения, пожелания и замечания.

P.S.: После добавления некоторых необходимых классов и свойств для Worksheet и Workbook пришлось отказать от поддержки библиотеки под Silverlight 4.

Версия 1.1.6 от 30.09.2011: Добавлена возможно экспорта простого HTML в MS Word. Например рассмотрим такой пример. Есть текст какого-то договора, редактирование которого производится в html-редакторе (в моем случае это ckeditor). В своем приложении (MVC3) создал:

Обратите внимание на строку номер 34. Именно в ней я и превращаю свой договор из формата HTML в формат, которой MS Word воспринимает как «родной». Естественно, что перед печатью договора, я подменяю нужные поля на требуемые значения (строка 6):

Вот и всё пока для этой библиотеки. Пишите комментарии.

Версия пакета 0.3.1 от 26.03.2013: Версия nuget-пакета обновилась (новая версия 0.3.1). Добавлены новые возможности: ширина колонок и авторазмер для ширины колонок, сквозные ячейки при печати нескольких страниц и многое другое.

Download

По просьбе некоторых активных читателей блога (привет тебе Алексей О.) работоспособность демонстрационного проекта восстановлена:

  • обновлены nuget-пакеты, вернее их версии;
  • установлена опция автоматического скачивания недостающих nuget-пакетов;
  • адаптирован для версии Visual Studio 2012;
  • поправлены ошибки.

Скачать демонстрационный проект для Visual Studio 2012 (обновление от 09.05.2013 года, кстати, с праздником! С Днем победы! Ура!)

​Проект выложен в github. Nuget-пакет обновился до .NET 4.5.2. Сборка создана согласно спецификации XML Spreadsheet Reference.

Источник

Нашел код который сохраняет данные из таблицы в xls

< 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>

Сохраняет,все хорошо.Но есть два важных вопроса:

1)При сохранении файла он сохраняется как скачанные файлы.xls.Как можно пометь это имя?я не смог понять(

2)При открытии в Excel выдавает такое(но все хорошо отображается)введите сюда описание изображения

задан 30 июл 2015 в 8:32

DarkVss's user avatar

  1. Уже обсуждалось, ищите решения тут: Как задать имя скачиваему файлу на JavaScript c помощью data url

  2. Потому что расширение должно быть .xlsx (XML-образный формат, который используется у вас), а не .xls (бинарный формат, который давно устарел).

Нужно заменить одну строчку:

var uri = 'data:application/vnd.ms-excel;base64,',

на:

var uri = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,',

Вот, кстати, полный список типов для разных офисных файлов: https://stackoverflow.com/questions/4212861/

Дух сообщества's user avatar

ответ дан 30 июл 2015 в 8:47

Sergey Snegirev's user avatar

3

We can use window.open() to export table data into Excel or any required format. It is the easiest and simplest way of creating a file with data without server side trip. window.open() requires 2 input parameters for this-

  1. the required MIMEtype  and 
  2. element that contains our data table.

If you want to export your Gridview data, then place that Gridview inside a container (like DIV etc.) and supply the DIV to winodw.open(). Also, be noted that window.open() has its scope and limitations in terms of browser vendors and customizing output file name.

Recently, I got a thread on Microsoft’s asp.net forum regarding exporting GridView/table/div data into MS Excel at client side. You can refer that link — http://forums.asp.net/t/1854204.aspx/1?Export+to+Excel 

So, I decided to write this post in context of helping other needy toubleshooters. 


This is the second version you are reading as first was to help a forum user only. You know GridView gets rendered into «table» format. So, if you are using asp.net and looking for your GridView then keep your GridView inside a div element to make it easy.


If you are just looking for code snippet that do magic job for our Excel-export then it is single line code as below —

window.open('data:application/vnd.ms-excel,' +  $('div[id$=divTableDataHolder]').html());

Understanding how it works: 
To export our table data, we are going to use window.open(). I know most of you would be definitely familiar with this version of the window.open()-

window.open(URL, name , specs , replace )

But here you will see its another version : 

window.open(MIMEtype, dataContainerItem)

window.open (MIMEtype   ,  replace )      //replace=> dataContainerItem 

                      |                          |________  It takes the element from window opener

                      |___________   Default MIME type is «text/html«


We have to just specify our required MIMEtype and it does the job for us! So for converting into MS Excel, we will specify data:application/vnd.ms-excel as MIME type. 

Replace is the item taken from opener-window whose html we are going to send into Excel sheet. This container element shouldn’t have special characters. If it contains then we have to encode those characters using JavaScript’s encodeURIComponent(). For more details on encodeURIComponent() refer — http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp 

So we will create a simple html table inside a div as —

<button id="myButtonControlID">Export Table data into Excel</button>
<div id="divTableDataHolder">
<table>
    <tr><th>ColumnOne </th><th>ColumnTwo</th></tr>
<tr>
<td>row1ColValue1</td><td>row1ColValue2</td>
</tr>
<tr>
<td>row2ColValue1</td><td>row2ColValue2</td>
</tr>
</table>
</div>

Now, we will write our magic jQuery/JavaScript code to get done our job. In this snippet I am using encodeURIComponent() to handle special characters. You can use without it also as I have mentioned in top of this post.

$("[id$=myButtonControlID]").click(function(e) {
    window.open('data:application/vnd.ms-excel,' + encodeURIComponent( $('div[id$=divTableDataHolder]').html()));
    e.preventDefault();
});​

I am giving you the ready-reference snippet that contains a single line of code window.open() to export table data into MS excel   :)

You can get more details on jQuery website: http://forum.jquery.com/topic/anyway-to-export-html-table-to-excel

Blog Extended On: 21-July-2013

window.open() has its scope and limitations(ex IE not working & filename) that has been well explained in this post: Export to CSV using jQuery and html

In terms of huge data export, I have already tested with 2500 rows and it works fine and I am sure it will work for more than this figure also. You can see it live : http://jsfiddle.net/AnilAwadh/wJyWm/

Время на прочтение
2 мин

Количество просмотров 58K

Введение

Всем привет! Сегодня я опишу довольно тривиальную, но нигде не освещенную тему экспорта из страницы данных в Excel. На мое удивление сам процесс не описан нигде в полной мере. Итак, приступим.

Все написано до нас

Подумал я и начал искать, нашел очень быстро SheetJS , но, боже мой, как там запущено все! Если с форматированием еще можно справиться, то стили — это головная боль.

Все написано до нас. Подход 2

В старом-старом SharePoint 2007 есть такая возможность экспортировать эксель файл, на удивление это работает до сих пор и хорошо поддается описанию.

Что нужно:

  • Современный браузер (проверьте в старых)
  • Отформатированная таблица
  • Colspan, rowspan, border — знание табличной верстки

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]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></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]; }) 
		}
		, downloadURI = function(uri, name) {
		    var link = document.createElement("a");
		    link.download = name;
		    link.href = uri;
		    link.click();
		}

		return function(table, name, fileName) {
			if (!table.nodeType) table = document.getElementById(table)
				var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
			var resuri = uri + base64(format(template, ctx))
			downloadURI(resuri, fileName);
		}
	})();  


    // params: element id, sheet name, file name
    tableToExcel('resultTable','Смета', 'Ремрайон_смета.xls');

Форматирование

Оформите саму сетку в таблице с помощью атрибутов colspan, rowspan, добавьте стили и после этого вызывайте генерацию файла.

В заключение

Могу ответить в комментах на ваши вопросы.

У меня есть таблица HTML в шаблоне скорости. Я хочу экспортировать данные таблицы html в excel, используя java script или jquery, comatibale со всеми браузерами.
Я использую ниже script

<script type="text/javascript">
function ExportToExcel(mytblId){
       var htmltable= document.getElementById('my-table-id');
       var html = htmltable.outerHTML;
       window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html));
    }
</script>

Этот script отлично работает в Mozilla Firefox, он всплывает с диалоговым окном excel и просит открыть или сохранить параметры. Но когда я тестировал один и тот же script в браузере Chrome, он не работает, как ожидалось, при нажатии на кнопку нет всплывающего окна для excel. Данные загружаются в файл с «file type: file», без расширения, например .xls
Ошибок в консоли хром нет.

Пример Jsfiddle:

http://jsfiddle.net/insin/cmewv/

Это отлично работает в мозилле, но не в хроме.

Тест браузера Chrome:

Первое изображение. Я нажимаю кнопку «Экспорт в Excel»

Изображение 10310

и результат:

Изображение 10311

11 март 2014, в 08:16

Поделиться

Источник

7 ответов

Экспорт Excel script работает на IE7 +, Firefox и Chrome.

function fnExcelReport()
{
    var tab_text="<table border='2px'><tr bgcolor='#87AFC6'>";
    var textRange; var j=0;
    tab = document.getElementById('headerTable'); // id of table

    for(j = 0 ; j < tab.rows.length ; j++) 
    {     
        tab_text=tab_text+tab.rows[j].innerHTML+"</tr>";
        //tab_text=tab_text+"</tr>";
    }

    tab_text=tab_text+"</table>";
    tab_text= tab_text.replace(/<A[^>]*>|</A>/g, "");//remove if u want links in your table
    tab_text= tab_text.replace(/<img[^>]*>/gi,""); // remove if u want images in your table
    tab_text= tab_text.replace(/<input[^>]*>|</input>/gi, ""); // reomves input params

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE "); 

    if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv:11./))      // If Internet Explorer
    {
        txtArea1.document.open("txt/html","replace");
        txtArea1.document.write(tab_text);
        txtArea1.document.close();
        txtArea1.focus(); 
        sa=txtArea1.document.execCommand("SaveAs",true,"Say Thanks to Sumit.xls");
    }  
    else                 //other browser not tested on IE 11
        sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));  

    return (sa);
}

Просто создайте пустой iframe:

<iframe id="txtArea1" style="display:none"></iframe>

Вызов этой функции:

<button id="btnExport" onclick="fnExcelReport();"> EXPORT </button>

sampopes
06 июнь 2014, в 13:06

Поделиться

Datatable plugin решает цель лучше всего и позволяет экспортировать данные таблицы HTML в Excel, PDF, TEXT. легко настраивается.

Пожалуйста, найдите полный пример в ссылке ниже ссылочной ссылки:

https://datatables.net/extensions/buttons/examples/html5/simple.html

(скриншот из ссылочного сайта с данными)
Изображение 113761

Aditya
04 авг. 2016, в 07:54

Поделиться

Это может помочь

function exportToExcel(){
var htmls = "";
            var uri = 'data:application/vnd.ms-excel;base64,';
            var 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>'; 
            var base64 = function(s) {
                return window.btoa(unescape(encodeURIComponent(s)))
            };

            var format = function(s, c) {
                return s.replace(/{(w+)}/g, function(m, p) {
                    return c[p];
                })
            };

            htmls = "YOUR HTML AS TABLE"

            var ctx = {
                worksheet : 'Worksheet',
                table : htmls
            }


            var link = document.createElement("a");
            link.download = "export.xls";
            link.href = uri + base64(format(template, ctx));
            link.click();
}

todotresde
08 янв. 2015, в 16:39

Поделиться

Uchit Shrestha
18 март 2014, в 07:52

Поделиться

Относительно ответов на sampopes с 6 по 14 июня в 11:59:

У меня есть стиль css с размером шрифта 20px, чтобы отображать данные excel больше. В коде sampopes отсутствуют теги <tr>, поэтому я сначала выводил заголовок и другие строки строк в цикле.

function fnExcelReport()
{
    var tab_text = '<table border="1px" style="font-size:20px" ">';
    var textRange; 
    var j = 0;
    var tab = document.getElementById('DataTableId'); // id of table
    var lines = tab.rows.length;

    // the first headline of the table
    if (lines > 0) {
        tab_text = tab_text + '<tr bgcolor="#DFDFDF">' + tab.rows[0].innerHTML + '</tr>';
    }

    // table data lines, loop starting from 1
    for (j = 1 ; j < lines; j++) {     
        tab_text = tab_text + "<tr>" + tab.rows[j].innerHTML + "</tr>";
    }

    tab_text = tab_text + "</table>";
    tab_text = tab_text.replace(/<A[^>]*>|</A>/g, "");             //remove if u want links in your table
    tab_text = tab_text.replace(/<img[^>]*>/gi,"");                 // remove if u want images in your table
    tab_text = tab_text.replace(/<input[^>]*>|</input>/gi, "");    // reomves input params
    // console.log(tab_text); // aktivate so see the result (press F12 in browser)

    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE "); 

     // if Internet Explorer
    if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv:11./)) {
        txtArea1.document.open("txt/html","replace");
        txtArea1.document.write(tab_text);
        txtArea1.document.close();
        txtArea1.focus(); 
        sa = txtArea1.document.execCommand("SaveAs", true, "DataTableExport.xls");
    }  
    else // other browser not tested on IE 11
        sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));  

    return (sa);
}   

Bettelbursche
16 март 2016, в 13:52

Поделиться

Изображение 113763

TableExport — простая, простая в использовании библиотека для экспорта таблиц HTML в файлы xlsx, xls, csv и txt.

Чтобы использовать эту библиотеку, просто вызовите конструктор TableExport:

new TableExport(document.getElementsByTagName("table"));

// OR simply

TableExport(document.getElementsByTagName("table"));

// OR using jQuery

$("table").tableExport(); 

Дополнительные свойства могут быть переданы, чтобы настроить внешний вид ваших таблиц, кнопок и экспортированных данных. Подробнее см. здесь

insign
28 июль 2017, в 19:17

Поделиться

Ещё вопросы

  • 0очередь шаблонов получает неправильные результаты
  • 0Как отобразить статью, когда в модуле joomla указан идентификатор тега
  • 0Почему angularjs выдает ошибку, если я пытаюсь использовать «resolv» внутри «views»?
  • 1настроить автономный SDK для Android Studio
  • 1Строковый метод для возврата всех размещений указанной строки?
  • 0как заставить WinDivert работать на Windows 8
  • 0log4cpp — конструктор по умолчанию для log4cpp :: AppenderSkeleton не существует
  • 1Вращение вокруг двух точек в Android не работает
  • 1Получить Float ИЛИ целочисленное значение из строки в Java
  • 0php json_encode с пользовательскими ключами
  • 0Странная ошибка: AngularJS может искать отдельные поля, но не несколько полей
  • 0Прокрутка страницы с помощью нажатия клавиш не работает с помощью jQuery?
  • 1Как мы оцениваем строку постфикса с унарным оператором?
  • 0Очистка HTML-документа с помощью BeautifulSoup и нескольких абзацев
  • 0Добейтесь балансировки нагрузки и высокой доступности с кластером MySQL NDB
  • 1Получить токен доступа в Instagram с помощью python
  • 1Некоторое время музыка не останавливает андроид
  • 1Ошибка 500 при создании проблемы в jira с использованием python
  • 0Передача параметров для моего приложения jquery_mobile
  • 1Соединение Android Bluetooth SPP, кажется, обрывается через пару секунд
  • 1ASP.NET Создание многоуровневого JSON
  • 1Ошибка изменения параметра sql
  • 0Выполнение серверной части, простые вычисления
  • 0Проблема с MySQL для Visual Studio / Visual Studio 2017 Мастер источников данных. В экземпляре объекта не задана ссылка на объект
  • 1Выбор даты с использованием оператора выбора оракула
  • 1Простой пример ContactsContract API
  • 0Получить существующее количество элементов, сравнивая две таблицы в MySQL
  • 1Visual Studio — перейти к методу по его полному имени
  • 1Проблемы со строкой меню в Eclipse Java ADT в Ubuntu
  • 0В PHP fopen () в режиме ‘a’ меняет окончания строк
  • 1Установить значение и строку в datagridview
  • 0Создание класса из файла
  • 1JS: GET запрос с добавленным параметром «data», например cURL -d ‘{ключ: значение, ключ2: значение}’
  • 0Пустое поле Mysql (NULL) заканчивается строкой «ноль» в Java
  • 0получить сумму нескольких значений по месяцам в одной таблице
  • 1Как мне построить дт.час за 2 дня
  • 0Сохранение значений в виде просмотров на странице (посте) для пользователей, которые не вошли в систему?
  • 0Как предотвратить запуск сервисов до авторизации пользователя в приложении AngularJS
  • 1Java 7 — Mac + Eclipse
  • 1Java jmxremote не открывает порт
  • 1Клик по изображению после анимации
  • 1Потери в тензорном потоке не сходятся
  • 1Преобразование типов с помощью JPA зависит от другого атрибута в том же объекте
  • 0Регулируемые размеры div
  • 0MySQL исключение «соединение потеряно во время запроса», «сервер MySQL пропал» и «команда не синхронизирована»
  • 1Ошибка преобразования Pandas Dataframe в плавающую запятую
  • 1Ошибка установки python-pip
  • 0Хорошая практика программирования для назначения прямых значений
  • 1RxJS — мне нужно отписаться

Сообщество Overcoder

Понравилась статья? Поделить с друзьями:
  • Data analysis with microsoft excel
  • Data analysis tool for excel
  • Data analysis for microsoft excel
  • Data analysis excel как включить
  • Cxgrid to excel delphi