Mime-типы

Определить mime-тип файла.xlsx через php

PHP библиотека PHPExcel для работы с Excel

Для работы с Excel использовал библиотеку PHPExcel. Установка простейшая – кладем папку Classes в нужную папку на сервере, указываем корректные пути в include/require.

Примеры кода по чтению/генерации файлов Excel можно посмотреть на github странице библиотеки.

Красивости

и этим не ограничивается функционал, это лишь то, что использовал:

mergeCells(“cell_range”) – Объединение указанных ячеек в одну. Данные должны лежать в первой ячейке, иначе они теряются.

setSize(16) – Делаем размер шрифта 16 для указанных ячеек.

setBold(true) – Делаем текст “жирным”

setWrapText(true) – Делаем перенос слов по умолчанию для всех ячеек

setAutoFilter – Включить фильтр по умолчанию

freezePane – Закрепить какие либо строки, например первую

borders – делается через создание стиля, а потом его применение на указанный диапазон ячеек

color – Аналогично с помощью стилей меняем цвет шрифта (Font)

  • setARGB – Изменить цвет ячейки, например
    • всей первой строки
    • конкретной ячейки (делал так цвет был переменным и задавался на основе данных – формировался разноцветный показательный Excel)
    • диапазона ячеек по диагонали
ЧТЕНИЕ

Код для чтения (два столбца):

Редактирование

Открываем файл test.xlsx, на его основе создаем новый new.xlsx с измененными парой ячеек.

ГЕНЕРАЦИЯ

Пример генерации на основе результата MySQL (не тестил, использовал универсальную функцию ниже).

Если нужно протестить базовую работу генерации на основе двумерного массива

Пример генерации xls из двумерного массива с настройками

  • имени (определяется на основе значения в переменной $_POST),
  • ширины столбца (на основе $_POST),
  • bold первой строки (setBold),
  • переноса слов (setWrapText).

Пример вызова и код по генерации кнопки, добавлению к названию файла даты/времени (формат 20170123_003800_Название.xlsx) и переходу на страницу генерации xls.

Вызов функции (про функцию iconv_for_xls ниже):

Особенности

Мусор

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

Например, возможны кракозябры при генерации файла больше 20-40 строк, если оставить включенным debug типа print_r($_POST); (почему не воспроизводиться при генерации мелких файлов – это вопрос :)).

Аналогично, будет выдавать ошибку:

  1. Если в конце кода php нет “exit;”
  2. Если перед генерацией файла нет очистки буфера вывода через “ob_end_clean();”
  3. Если используется генерация xlsx (Excel2007), но не установлены xml и xmlwriter модули PHP. Так же может выдаваться ошибка “Fatal error: Class ‘XMLWriter’ not found in /

/XMLWriter.php on line 37” т.к. библиотека PHPExcel использует наследование класса от XMLWriter (“class PHPExcel_Shared_XMLWriter extends XMLWriter”), т.е. требует установленного модуля xmlwriter. Для “нормальных” дистрибутивов это делается простым sudo apt-get/yum install php-xmlwriter (или php5-xml) и перезагрузкой apache, для gentoo это делается через пересборку всего php с новым модулем.

Отправка array на другую страницу

Чтобы функция по генерации xlsx была универсальной, сделал отдельную страницу по генерации, но на эту страницу потребовалось передать двумерный массив. В интернете гуляет два варианта решения: сохранить массив в сессии/куках, передать его через json (лучше) или serialize (хуже).

Через сессии все передавалось, только значение почему то не апдейтилось корректно. Сходу не разобрался в причинах, использовал сначала serialize (полный пример см. в function create_xls), но потом мигрировал на json из-за периодических проблем со спец. символами serialize.

Кодировка

Если на сайте кодировка cp-1251, то при генерации обязательно нужно использовать iconv в utf-8. В противном случае вместо русских символов в ячейке будет бред (например, “ИСТИНА”).

Node.js Download/Export Excel File overview

Assume that we have a tutorials table in MySQL database like this:

We’re gonna create a Node.js Application that provides APIs for downloading MySQL database table data as Excel file with following content:

If you send request to , the server will return a response with an Excel file tutorials.xlsx that contains data in MySQL table:

How to do this?
You need to set the HTTP header:

We’re gonna apply the information above later in this tutorial.

You can also find how to upload Excel File to the Node.js Express Server & store data in MySQL Database in the post:Node.js: Upload/Import Excel file data into Database

How to see the content of an Excel file, including the XML structure

It’s actually very simple to see all the content of your Excel file. Not the workbook itself in Excel, but rather its source code files. If you save your Excel workbook, it usually got the .xlsx ending. That means, your file is an Excel file which will open in Excel.

There is a trick:

  1. Save your workbook and close it.
  2. Rename it: Replace the .xlsx ending of the file name by .zip.
  3. Unzip it.

So you basically just replace the .xlsx by .zip. That way, your file will open in a new Windows Explorer and you can see all it’s content. When you enter or extract the contents it now you got a new folder with some subfolders. Each contains some XML files. You can open them with the text editor or – and that usually looks better – when a browser, e.g. Chrome.

Triggering a download

What many programmers don’t realise is that you don’t have to create
a file, even a temporary one, in order for one to be downloaded. It’s
sufficient to ‘mimic’ a download by passing the equivalent HTTP headers
followed by the data.

If we create a PHP file with the following code then when it’s called
a file will be downloaded which can be opened directly using Excel.

Note that we’ve added an extra line to the cleanData
function to detect double-quotes and escape any value that contains
them. Without this an uneven number of quotes in a string can confuse
Excel.

click here to trigger XLS download
source

This should result in a file being downloaded and saved to your
computer. If all goes well then the filename will be
named «website_data_20231028.xls» and will open in Excel looking something like this:

How does it work? Setting the headers tells the browser to expect a
file with a given name and type. The data is then echoed, but instead
of appearing on the page it becomes the downloaded file.

Because of the .xls extension and the vnd.ms-excel file
type, most computers will associate it with Excel and double-clicking
will cause that program to open. You could also modify the file name
and mime type to indicate a different spreadsheet package or database
application.

There is no way to specify data/cell formatting, column widths,
etc, using this method. To include formatting try generating HTML code
or a script that actually builds an Excel file. Or create your own
macro in Excel that applies formatting after the import.

A similar technique can be used to allow users to download files that
have been uploaded previously using PHP and stored with different names.
More on that later…

Are XLSX files UTF-8 encoded by definition?

Question:

I am attempting to utilize gneustaetter/XLSXReader in PHP to read
XLSX files
. As these XLSX files are created by various companies using diverse software, I aimed to verify if they have the correct encoding and constantly encountered UTF-8.

Hence, my inquiry is whether XLSX files are inherently encoded in UTF-8 or if there are any anomalies that could potentially disrupt the operation of the import script I’m developing.

Solution:

Assuming that the data is always encoded in UTF-8 could be dangerous. Instead, it is better to rely on the information provided in the XML header to set your expectations. It is common for Windows-1252 encoded data to appear unexpectedly, so it is advisable to check the XLSX specification for more detailed information.

A possible finding in the wild is a Chromium
bug relating
that links to a Windows-1252 encoded XLSX file. It could be produced by software aside from Microsoft Office. Because of the increasing popularity of LibreOffice, your code might interact with older versions that have less reliable XLSX support. To avoid a bug like this appearing in your code, it is advisable to be cautious.

Unless you have a specific reason for rejecting invalid encoding, strive to be as accommodating as possible. JSON is strictly defined as UTF-8, but the encoding of XLSX, which appears to be XML, is not as clearly defined. The default convention for XLSX, however, appears to be UTF-8.

Handle content types, Various content types can flow through a logic app, for example, JSON, XML, flat files, and binary data. While Logic Apps supports all content types, some have native support and don’t require casting or conversion in your logic apps. Other types might require casting or conversion as necessary. This article …

Что такое тип MIME?

Разработчики могут убедиться, что клиент электронной почты получателя правильно форматирует и интерпретирует сообщение электронной почты с помощью типов MIME, независимо от используемого программного обеспечения или платформы. Эта информация помогает убедиться, что сообщение электронной почты доставлено правильно, и получатель может получить доступ к содержимому по мере необходимости. Кроме того, использование типов MIME также может помочь повысить безопасность сообщений электронной почты, так как они могут использоваться для указания того, включает ли сообщение исполняемое содержимое или другие потенциально опасные элементы.

What is the content type for Excel file?

Data classes identify the type of content in the column….File extensions and mime types of previewed files.

Extension Mime type
xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsb application/vnd.ms-excel.sheet.binary.macroEnabled.12
xls application/vnd.ms-excel
xlsm application/vnd.ms-excel.sheet.macroEnabled.12

What is the maximum file name length allowed by Microsoft Office?

259 characters
Microsoft Word, Microsoft PowerPoint, and Microsoft Access: The total length of the path and the file name, including file name extension, exceeds 259 characters.

How do you rename a file when the filename is too long?

1 Answer

  1. open command prompt and find the directory with the file.
  2. type dir /X.
  3. this command will show the short 8+3 names followed by long names.
  4. find the file you want to rename and use command. rename “shortname” “newname”
  5. “shortname” is 8+3 name and “newname” is name you want to rename to.

What is the maximum number of characters allowed in a file name?

The maximum combined length of the file name and path name is 1024 characters. The Unicode representation of a character can occupy several bytes, so the maximum number of characters that a file name might contain can vary. On Linux: The maximum length for a file name is 255 bytes.

XLSX File Format Specifications

The official XLSX file format specifications are available online from Microsoft. In order to see what is inside the XLSX file, just rename it to ZIP file by changing its extension and then extract it to view the constituent files of this Excel workbook. A blank workbook, when extracted to its files, has the following constituent files and folders.

.xml

This is the only file that is found at the base level when the zip is extracted. It lists the content types for parts within the package. All references to the XML files included in the package are referenced in this XML file.

_rels (Folder)

This is the Relationships folder that contains a single XML file that stores the package-level relationships. Links to the key parts of the Xlsx files are contained in this file as URIs. These URIs identify the type of relationship of each key part to the package. This includes the relationship to primary office document located as xl/workbook.xml and other parts within docProps as core and extended properties.

docProps

This folder contains the overall document properties. These include a set of core properties, a set of extended or application-specific properties and a thumbnail preview of the document. A blank workbook has two files in this folder namely app.xml and core.xml. The core.xml contains information like author, date created and saved, and modified. App.xml contains information about the content of the file.

xl (Folder)

This is the main folder that contains all the details about the contents of the workbook. By default, it has following folders:

  • _rels
  • theme
  • worksheets

and following xml files:

  • styles.xml
  • workbook.xml

How do I convert XML to CSV in Excel?

How to convert an XML Document to CSV File or Excel Spreadsheet

  1. Open the XML file and select all the text by clicking Ctrl + A then copy it by clicking Ctrl+C.
  2. Open Notepad ++ and paste the text from the previous step.
  3. From the top menu, open the Language sub-menu, then select XML.

How do I convert an XML file to a readable file?

This section covers how to convert XML to text in 3 easy steps:

  1. Open an XML. In this first step, double-click your XML file to open it via your default browser on the computer.
  2. Print XML. Having opened this XML file, you should next click the “Print” option in the browser used for loading it.
  3. Convert XML to Text.

How do I convert XML files?

You can convert data in an extract file into XML format….Converting to XML format

  1. Expand a folder in the Directory Explorer that contains the convert service, expand the Convert Services node, and double-click the convert service to edit.
  2. Select the Target File Options tab.
  3. In the Target file format list, select XML.

What is Content-Type for XML?

XML: text/xml , application/xml (RFC 2376). There are also many other media types based around XML, for example application/rss+xml or image/svg+xml . It’s a safe bet that any unrecognised but registered ending in +xml is XML-based.

What is the Mimetype for Xlsx?

A textual file should be human-readable and must not contain binary data. application/octet-stream is the default value for all other cases….Common MIME types.

Extension Kind of document MIME Type
.xlsx Microsoft Excel (OpenXML) application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

What is VND MS-Excel?

Hear this out loudPauseThe 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”. Excel spreadsheet files take the extension XLS and Excel templates take the extension XLT.

What is JSON content type?

application/json
Hear this out loudPauseJSON has to be correctly interpreted by the browser to be used appropriately. text/plain was typically used for JSON, but according to IANA, the official MIME type for JSON is application/json .

What is MIME type for video?

Hear this out loudPauseMIME type stands for multipurpose internet mail extensions and is a format for a video file that is transmitted across the internet. These components are a video type and a sub-type. While MIME types can be used to help web servers understand a variety of elements including text, images, and audio.

How many MIME types are there?

Hear this out loudPauseThere are two classes of type: discrete and multipart. Discrete types are types which represent a single file or medium, such as a single text or music file, or a single video.

Can I convert XLSX to XLS?

Hear this out loudPauseOption 1: Convert XLSX to XLS directly in Excel Open the XLSX file you want to convert. In Microsoft Excel, go to the File tab located at the top left. Click on the “Save as” option and select “Excel 97-2003 Workbook (*. xls)” from the drop-down menu.

What is JSON stand for?

JavaScript Object Notation
Hear this out loudPauseJavaScript Object Notation, more commonly known by the acronym JSON, is an open data interchange format that is both human and machine-readable. Despite the name JavaScript Object Notation, JSON is independent of any programming language and is a common API output in a wide variety of applications.

vnd¶

Вендорные файлы

  • application/vnd.oasis.opendocument.text: OpenDocument
  • application/vnd.oasis.opendocument.spreadsheet: OpenDocument
  • application/vnd.oasis.opendocument.presentation: OpenDocument
  • application/vnd.oasis.opendocument.graphics: OpenDocument
  • application/vnd.ms-excel: Microsoft Excel файлы
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: Microsoft Excel 2007 файлы
  • application/vnd.ms-powerpoint: Microsoft Powerpoint файлы
  • application/vnd.openxmlformats-officedocument.presentationml.presentation: Microsoft Powerpoint 2007 файлы
  • application/msword: Microsoft Word файлы
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document: Microsoft Word 2007 файлы
  • application/vnd.mozilla.xul+xml: Mozilla XUL файлы
  • application/vnd.google-earth.kml+xml: KML файлы (например, для Google Earth)

Generating Single-Worksheet Snapshots​

The functions accept a worksheet object.

API

Generate a CSV from a single worksheet

This snapshot is designed to replicate the «CSV UTF-8 ()» output type.
«CSV and Text» describes the function and the
optional argument in more detail.

Generate «Text» from a single worksheet

This snapshot is designed to replicate the «UTF-16 Text ()» output type.
«CSV and Text» describes the function and the
optional argument in more detail.

Generate a list of formulae from a single worksheet

This snapshot generates an array of entries representing the embedded formulae.
Array formulae are rendered in the form while plain cells are
rendered in the form . String literals are prefixed with
an apostrophe , consistent with Excel’s formula bar display.

«Formulae Output» describes the function in more detail.

Создание, выгрузка XLS файла

Алгоритм действий следующий. После создания и работы с таблицей, используется фабрика объектов выгрузки:

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’);

1 $objWriter=PHPExcel_IOFactorycreateWriter($objPHPExcel,’Excel5′);

где определяется формат файла.

В качестве пункта назначения можно указать файл или консоль, если выгрузить требуется сразу пользователю в браузер.

<?php
//здесь мы создаём таблицу $objPHPExcel и наполняем её данными
//или правим существующий файл

//выводим файл для скачки пользователем
//формируем заголовки
header(‘Content-Type: application/vnd.ms-excel’);
header(‘Content-Disposition: attachment;filename=»myfile.xls»‘);
header(‘Cache-Control: max-age=0’);
//инициализируем объект через ферму для записи,
//к примеру, в формате Excel5
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’);
//выводим XLS
$objWriter->save(‘php://output’);
?>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<?php
//здесь мы создаём таблицу $objPHPExcel и наполняем её данными
//или правим существующий файл

 
//выводим файл для скачки пользователем
//формируем заголовки

header(‘Content-Type: application/vnd.ms-excel’);

header(‘Content-Disposition: attachment;filename=»myfile.xls»‘);

header(‘Cache-Control: max-age=0’);

//инициализируем объект через ферму для записи,
//к примеру, в формате Excel5

$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,’Excel5′);

//выводим XLS

$objWriter->save(‘php://output’);

?>

Exporting to CSV format

As newer versions of Excel are becoming fussy about opening files
with a .xls extension that are not actual Excel binary files, making CSV
format with a .csv extension is now a better option.

The tab-delimited text options describe above may be a bit limiting
if your data contains newlines or tab breaks that you want to preserve
when opened in Excel or another spreadsheet application.

A better format then is comma-separated variables (CSV) which can be
generated as follows:

Normally the fputcsv command is used to write data in CSV
format to a separate file. In this script we’re tricking it into
writing directly to the page by telling it to write to
php://output instead of a regular file. A nice trick.

click here to trigger CSV download
source

As an aside, to export directly to CSV format from the command line
interface in PostgreSQL you can use simply:

and for MySQL, something like the following:

Причина

SharePoint 2010 г. реализует новую функцию безопасности под названием «Вседозволенная или строгая обработка файлов браузера». Каждый тип файла, доставленного с веб-сервера, имеет связанный тип MIME (также называемый «тип контента»), который описывает природу контента (например, изображения, текста, приложения и т.д.). Internet Explorer (IE) имеет функцию MIME-sniffing, которая будет пытаться определить тип контента для каждого загруженного ресурса. Для Office файлов, если контент-тип, отправленный сервером, не найден в базе данных MIME в реестре клиентской машины, IE «нюхает» типы контента MIME, чтобы узнать, есть ли другой аналогичный тип MIME в базе данных MIME клиента и откроет файл с помощью аналогичного типа MIME. Однако строгое управление файлами браузера включено в каждом веб-приложении в SharePoint 2010 г. по умолчанию, и это не позволяет нюхать типы контента, поэтому если в базе данных MIME клиента в реестре не будет обнаружено точного совпадения типа контента, отправленного на сервер, файл откроется из временных интернет-файлов клиентской машины вместо открытия с сервера. Нюхание MIME также может привести к проблемам с безопасностью для серверов, на которые размещен неоправдаированный контент.

Например. При открытии файла .docx из гиперссылки, которая указывает на документ, расположенный в библиотеке документов SharePoint 2010 г., тип контента, отправленный сервером SharePoint 2010 г., в ответе «vnd.ms-word.document.12» вместе с загонщиком «X-Content-Type-Options: nosniff», который выглядит так:

Так как этого точного типа контента нет в области MIME реестра клиентского компьютера Office и не будет сделано нюхание MIME, документ открывается из временных файлов Интернета.

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

How are XML files used in Microsoft Excel?

Choose the XML Files (*.xml) file type before you click the Open button to see the XML files in the folder. By using XML and Excel, you can manage workbooks and data in ways that were previously impossible or very difficult. By using XML maps, you can easily add, identify, and extract specific pieces of business data from Excel documents.

How do I create an XML table in Excel?

An XML table is created when you: Use the Import command (in the XML group on the Developer tab) to import an XML data file. Use the Open command from within Excel to open an XML data file — and then select As an XML table in the Open XML dialog box.

Can a XSLT file be linked to an Excel file?

If XSLT files are linked to XML data files that you import into Excel, you do have the option to apply or not apply the formatting before the data is added to the worksheet, but only when you open an XML file by using the Open command from within Excel.

How to create schema.xml file in Excel?

The schema defines the structure of the XML file. We have to do this outside Excel. 1. For example, open Notepad and add the following lines. Note: the tags refer to the column names, but you can give them any name you want! For example, instead of LastName use Name. 2. Save the file as schema.xml.

application/vnd.ms-excel

Файлы с MIME-типом application/vnd.ms-excel обычно имеют расширение .xls или .xlsx. Такие файлы содержат таблицы с данными, которые можно форматировать, анализировать и преобразовывать с помощью различных функций и инструментов программы Microsoft Excel. Таблицы Excel используются во многих сферах деятельности, включая бизнес, науку, образование и т. д.

Для работы с файлами MIME-типа application/vnd.ms-excel требуется программа, способная открывать и редактировать таблицы Excel. Самой популярной программой для работы с такими файлами является Microsoft Excel, однако существуют и другие программы, поддерживающие этот формат. Например, программа LibreOffice Calc также может открывать и редактировать файлы с MIME-типом application/vnd.ms-excel.

Для использования файлов с MIME-типом application/vnd.ms-excel можно использовать различные подходы. Например, можно открыть файл в программе Microsoft Excel и работать с ним непосредственно внутри приложения. Также можно использовать программный интерфейс для чтения и записи данных из файлов Excel. Например, веб-разработчики могут использовать JavaScript библиотеки, такие как ExcelJS, для работы с таблицами Excel в своих веб-приложениях. Это позволяет автоматизировать процессы работы с данными и создавать интерактивные отчеты и диаграммы на основе таблиц Excel.

В заключение, MIME-тип application/vnd.ms-excel указывает на то, что файл является таблицей Excel, созданной в программе Microsoft Excel. Этот формат широко используется для хранения и обработки данных в различных сферах деятельности. Для работы с такими файлами можно использовать программы Microsoft Excel и LibreOffice Calc, а также различные программные интерфейсы и библиотеки.

Source Code

<html>
<head>
<script src="jquery-2.1.4.js"></script>
<script lang="javascript" src="xlsx.full.min.js"></script>
<script lang="javascript" src="FileSaver.min.js"></script>

<link rel="stylesheet" type="text/css" href="styles.css">

</head>
<body>
<div id="navbar"><span>Red Stapler - SheetJS </span></div>
<div id="wrapper">
    
        <button id="button-a">Create Excel</button>

</div>
<script>
        var wb = XLSX.utils.book_new();
        wb.Props = {
                Title: "SheetJS Tutorial",
                Subject: "Test",
                Author: "Red Stapler",
                CreatedDate: new Date(2017,12,19)
        };
        
        wb.SheetNames.push("Test Sheet");
        var ws_data = ];
        var ws = XLSX.utils.aoa_to_sheet(ws_data);
        wb.Sheets = ws;

        var wbout = XLSX.write(wb, {bookType:'xlsx',  type: 'binary'});
        function s2ab(s) {
  
                var buf = new ArrayBuffer(s.length);
                var view = new Uint8Array(buf);
                for (var i=0; i<s.length; i++) view = s.charCodeAt(i) & 0xFF;
                return buf;
                
        }
        $("#button-a").click(function(){
                saveAs(new Blob(,{type:"application/octet-stream"}), 'test.xlsx');
        });
  
</script>
</body>
</html>

Written By

Установка типа mime для документа excel

MS Excel имеет следующие наблюдаемые типы MIME:

  • application/vnd.ms-excel (официальный)
  • application/msexcel
  • application/x-msexcel
  • application/x-ms-excel
  • application/x-excel
  • application/x-dos_ms_excel
  • application/xls
  • application/x-xls
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX-файл)

Есть ли какой-то один тип, который будет работать для всех версий? Если нет, то нужно ли устанавливать response.setContentType() для каждого из этих типов mime отдельно?

Кроме того, мы используем потоковую передачу файлов в нашем приложении для отображения документа (а не только excel — любого типа документа). При этом, как мы можем сохранить имя файла, если пользователь решает сохранить файл — в настоящее время имя сервлета, который отображает файл, отображается как имя по умолчанию.

7 Ответов

Я считаю, что стандартный тип MIME для файлов Excel — это application/vnd.ms-excel .

Что касается названия документа, то в ответе следует задать следующий заголовок:

Здесь я вижу просыпающуюся старую нить, но я почувствовал желание добавить формат «new» .xlsx.

Согласно http://filext.com/file-extension/XLSX расширение для .xlsx равно application/vnd.openxmlformats-officedocument.spreadsheetml.sheet . Это может быть хорошей идеей, чтобы включить его при проверке на наличие типов mime!

Вы всегда должны использовать тип ниже MIME, если вы хотите обслуживать файл excel в формате xlsx

Я устанавливал тип MIME из кода .NET, как показано ниже —

Мое приложение генерирует excel, используя OpenXML SDK. Этот тип MIME работал —

Для .xls используйте следующий тип содержимого

Для версии Excel 2007 и выше формат файлов .xlsx

Для тех, кто все еще спотыкается с этим после использования всех возможных типов MIME, перечисленных в вопросе:

Я обнаружил, что iMacs, как правило, также бросает MIME тип «text/xls» для файлов XLS Excel, надеюсь, это поможет.

Похожие вопросы:

Таким образом, в CouchDB вы можете предположительно изменить типы mime. В футоне вам просто нужно пойти и отредактировать источник документа и изменить поле content_type на вложения в поле.

Невозможно получить тип MIME из bytearray-возвращает NULL для любого документа типа MIME. byte[] res.

Как я могу установить правильный тип MIME, который работает с excel 2007? прямо сейчас у меня есть это: header(Content-type: application/vnd.ms-excel; charset=utf-8); мой браузер постоянно говорит.

Проверка типа mime в php довольно проста, но, насколько я знаю, mime можно подделать. Злоумышленник может загрузить сценарий php, например, с типом jpeg mime. Одна вещь, которая приходит на ум, это.

Я пытаюсь развернуть сайт Jekyll. Вот вам и поток: Содержимое добавляется и перемещается в BitBucket BitBucket трубопровод строит сайт Находит все файлы HTML в _site/ и удаляет их расширение.

Кроме LSCopyDefaultApplicationURLForURL существует LSCopyApplicationURLsForURL , чтобы получить все приложения, а не только один по умолчанию. Если вы просто хотите получить приложения по умолчанию.

Я хочу написать excel и отправить его пользователю в качестве ответа в приложении с помощью Play framework 1.x . Но я не уверен, как установить ответ content-type/MIME-type для возврата doc или.

Для веб-приложения, которое позволяет просматривать документы в браузере, я хотел бы проверить, поддерживает ли браузер пользователя предварительный просмотр текущего типа mime документа. Существует.

Существует ли официальный URN для типа MIME? Mozilla Firefox и другие приложения используют обозначения типа urn:mimetype:text/plain или urn:mimetype:handler:text/plain . Есть две проблемы с этим.

4 ответов

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

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

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

и это работает (по крайней мере, для этого браузера!)

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

описание:

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

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

Итак, добавив выше ‘ application / vnd.ms-excel’ в массив xlsx тип файла, позвольте мне загрузить .XLSX-файл файлы!

подсказка:

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

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

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

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

ответ:

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

так что я добавил его вручную, и после этого он работает ВЕРРИ ХОРОШО.

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

и сохраненный следующим образом:

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

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

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

также хорошей вещью для тестирования / дампа являются типы mime вашего сервера.

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

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

только для записей, я нашел причину, MIME-тип отсутствовал в реестре windows, решил добавить эти ключи с a .reg-файл:

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

What is the content type of an xlsx file?

The content type for .xlsx files is: Copy Code. application/vnd.openxmlformats-officedocument.spreadsheetml.sheet. Or use this: Copy Code. Response.ContentType = “application/vnd.ms-excel” ; Response.AppendHeader ( “content-disposition”, “attachment; filename=myfile.xls” ); For Excel 2007 and above the MIME type differs. Copy Code.

What is correct content-type for Excel files?

Do keep in mind that the file.getContentType could also output application/octet-stream instead of the required application/vnd.openxmlformats-officedocument.spreadsheetml.sheet when you try to upload the file that is already open. Not the answer you’re looking for? Browse other questions tagged excel mime-types or ask your own question.

How to set MIME type for Excel document Stack Overflow?

How To Fix application/excel Issues

Do I have the application/excel “player application” installed?

The first step in troubleshooting issues with opening application/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/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/excel. Look at the naming of the subtype for clues about a related program (eg. Word, Excel) or software developer name (eg. Microsoft).

Do I have broken application/excel file associations?

The second step in troubleshooting application/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/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.

Понравилась статья? Поделиться с друзьями:
Technology trends
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: