При сохранении книги Excel 2013 по умолчанию она сохраняется в формате .xlsx . Excel 2013 поддерживает сохранение в других форматах, но при сохранении книги в другом формате некоторые ее форматирование, данные и функции могут не сохраняться.
Форматы файлов (типы файлов), которые поддерживаются в Excel 2013 –
- Форматы файлов Excel
- Форматы текстовых файлов
- Другие форматы файлов
Форматы файлов Excel
Формат | расширение | Описание |
---|---|---|
Книга Excel | .xlsx | Стандартный формат файла на основе XML для Excel 2007-2013. Не удается сохранить код макроса Microsoft Visual Basic для приложений (VBA) или листы макросов Microsoft Office Excel 4.0 (.xlm). |
Строгая таблица Open XML | .xlsx | Строгая версия ISO формата файла книги Excel (.xlsx). |
Книга Excel (код) | .xlsm | XML-формат файла с поддержкой макросов для Excel 2007-2013. Хранит код макроса VBA или листы макроса Excel 4.0 (.xlm) |
Двоичная книга Excel | .xlsb | Бинарный формат файла (BIFF12) для Excel 2007-2013. |
шаблон | .xltx | Формат файла по умолчанию для шаблона Excel для Excel 2007-2013. Не удается сохранить код макроса VBA или листы макросов Excel 4.0 (.xlm). |
Шаблон (код) | .xltm | Формат файла с поддержкой макросов для шаблона Excel в Excel 2007-2013. Хранит код макроса VBA или листы макроса Excel 4.0 (.xlm). |
Excel 97 – Excel 2003 Workbook | .xls | Excel 97 – двоичный формат Excel 2003 (BIFF8). |
Excel 97 – шаблон Excel 2003 | .xlt | Excel 97 – двоичный формат файла Excel 2003 (BIFF8) для шаблона Excel |
Microsoft Excel 5.0 / 95 Workbook | .xls | Двоичный файл формата Excel 5.0 / 95 (BIFF5). |
XML Spreadsheet 2003 | .xml | Формат файла XML Spreadsheet 2003 (XMLSS). |
Данные XML | .xml | Формат данных XML. |
Excel-надстройка | .xlam | Формат надстроек на основе XML и макросов для Excel 2007-2013. Надстройка – это дополнительная программа, предназначенная для запуска дополнительного кода. Поддерживает использование проектов VBA и листов макросов Excel 4.0 (.xlm). |
Excel 97-2003 Надстройка | .xla | Надстройка Excel 97-2003, дополнительная программа, предназначенная для запуска дополнительного кода. Поддерживает использование проектов VBA. |
Excel 4.0 Workbook | .xlw | Формат файла Excel 4.0, который сохраняет только рабочие листы, листы диаграмм и листы макросов. Вы можете открыть книгу в этом формате в Excel 2013, но не можете сохранить файл Excel в этом формате. |
Форматы текстовых файлов
Если вы сохраните книгу в любом текстовом формате, все форматирование будет потеряно.
Формат | расширение | Описание |
---|---|---|
Форматированный текст (Spacedelimited) | .prn | Lotus разделенный пробелами формат. Сохраняет только активный лист. |
Текст (Tabdelimited) | .текст | Сохраняет книгу в виде текстового файла с разделителями табуляции для использования в другой операционной системе Microsoft Windows и обеспечивает правильную интерпретацию символов табуляции, разрывов строк и других символов. Сохраняет только активный лист. |
Текст (Macintosh) | .текст | Сохраняет книгу в виде текстового файла с разделителями табуляции для использования в операционной системе Macintosh и обеспечивает правильную интерпретацию символов табуляции, разрывов строк и других символов. Сохраняет только активный лист. |
Текст (MS-DOS) | .текст | Сохраняет книгу в виде текстового файла с разделителями табуляцией для использования в операционной системе MS-DOS и обеспечивает правильную интерпретацию символов табуляции, разрывов строк и других символов. Сохраняет только активный лист. |
Unicode Text | .текст | Сохраняет рабочую книгу как текст Unicode, стандарт кодировки символов, разработанный консорциумом Unicode. |
CSV (через запятую) | .csv | Сохраняет книгу в виде текстового файла с разделителями-запятыми для использования в другой операционной системе Windows и обеспечивает правильную интерпретацию символов табуляции, разрывов строк и других символов. Сохраняет только активный лист. |
CSV (Macintosh) | .csv | Сохраняет книгу в виде текстового файла с разделителями-запятыми для использования в операционной системе Macintosh и обеспечивает правильную интерпретацию символов табуляции, разрывов строк и других символов. Сохраняет только активный лист. |
CSV (MS-DOS) | .csv | Сохраняет книгу в виде текстового файла с разделителями-запятыми для использования в операционной системе MS-DOS и обеспечивает правильную интерпретацию символов табуляции, разрывов строк и других символов. Сохраняет только активный лист. |
DIF | .dif | Формат обмена данными. Сохраняет только активный лист. |
SYLK | .slk | Формат символической ссылки. Сохраняет только активный лист. |
Другие форматы файлов
Формат | расширение | Описание |
---|---|---|
DBF 3, DBF 4 | .dbf | База III и IV. Вы можете открыть эти форматы файлов в Excel, но не можете сохранить файл Excel в формате dBase. |
OpenDocument Spreadsheet | .ods | OpenDocument Spreadsheet. Вы можете сохранять файлы Excel 2010, чтобы их можно было открывать в приложениях для работы с электронными таблицами, которые используют формат электронных таблиц OpenDocument, таких как Google Docs и OpenOffice.org Calc. Вы также можете открывать электронные таблицы в формате .ods в Excel 2010. Форматирование может быть потеряно при сохранении и открытии файлов .ods. |
Формат переносимого документа (PDF). Этот формат файла сохраняет форматирование документа и обеспечивает общий доступ к файлам. Когда файл формата PDF просматривается онлайн или распечатывается, он сохраняет нужный вам формат. Данные в файле не могут быть легко изменены. Формат PDF также полезен для документов, которые будут воспроизводиться с использованием коммерческих методов печати. | ||
Документ XPS | .xps | XML Paper Specification (XPS). Этот формат файла сохраняет форматирование документа и обеспечивает общий доступ к файлам. Когда файл XPS просматривается онлайн или распечатывается, он сохраняет именно тот формат, который вы предполагали, и данные в файле не могут быть легко изменены. |
Шаг 1 – Выберите меню Файл .
Шаг 2 – Нажмите на опцию Сохранить как . Вы можете выбрать место для сохранения рабочей книги как на локальных устройствах (например, на компьютере), так и в Интернете (например, OneDrive).
Шаг 3 – Нажмите на компьютер .
Откроется диалоговое окно « Сохранить как» .
Шаг 4 – Нажмите « Сохранить как ». Форматы файлов будут перечислены.
Отображаемые форматы файлов зависят от типа активного рабочего листа в рабочей книге (рабочий лист данных, рабочий лист диаграммы или другой тип рабочего листа).
Шаг 5 – Нажмите на нужный формат файла.
Форматы файлов, использующие буфер обмена
Вы можете использовать буфер обмена для копирования данных в буфер обмена в нескольких форматах файлов, которые можно вставить в Excel с помощью команды Вставить или Специальная вставка .
Формат | расширение | Идентификаторы типа буфера обмена |
---|---|---|
Картина | .wmf или .emf |
Изображения в формате метафайла Windows (WMF) или в формате расширенного метафайла Windows (EMF). ПРИМЕЧАНИЕ. – Если вы копируете изображение метафайла Windows из другой программы, Excel вставит изображение как расширенный метафайл. |
Битовая карта | .bmp | Изображения хранятся в растровом формате (BMP). |
Форматы файлов Microsoft Excel | .xls | Двоичные форматы файлов для версий Excel 5.0 / 95 (BIFF5), Excel 97-2003 (BIFF8) и Excel 2013 (BIFF12). |
SYLK | .slk | Формат символической ссылки. |
DIF | .dif | Формат обмена данными. |
Текст (с ограничением по вкладке) | .текст | Разделенный табуляцией текстовый формат. |
CSV (Commadelimited) | .csv | Формат значений через запятую. |
Форматированный текст (разделенный пробелами) | .rtf | Rich Text Format (RTF). Только из Excel. |
Встроенный объект | .gif, .jpg, .doc, .xls или .bmp | Объекты Microsoft Excel, объекты из правильно зарегистрированных программ, поддерживающих OLE 2.0 (OwnerLink), и Picture или другой формат презентации. |
Связанный объект | .gif, .jpg, .doc, .xls или .bmp | OwnerLink, ObjectLink, Link, Picture или другой формат. |
Офисный чертежный объект | .emf | Офисный чертежный формат объекта или Изображение (расширенный формат метафайла Windows, EMF). |
Текст | .текст | Текст на дисплее, OEM текст. |
Веб-страница с одним файлом | .mht, .mhtml | Однофайловая веб-страница (MHT или MHTML). Этот формат файла объединяет встроенную графику, апплеты, связанные документы и другие вспомогательные элементы, на которые есть ссылки в документе. |
Страница интернета | .htm, .html |
Язык разметки гипертекста (HTML). ПРИМЕЧАНИЕ. – При копировании текста из другой программы Excel вставляет текст в формате HTML независимо от формата исходного текста. |
Изображения в формате метафайла Windows (WMF) или в формате расширенного метафайла Windows (EMF).
ПРИМЕЧАНИЕ. – Если вы копируете изображение метафайла Windows из другой программы, Excel вставит изображение как расширенный метафайл.
Язык разметки гипертекста (HTML).
ПРИМЕЧАНИЕ. – При копировании текста из другой программы Excel вставляет текст в формате HTML независимо от формата исходного текста.
Форматы файлов не поддерживаются в Excel 2013
Excel 2013 больше не поддерживает следующие форматы файлов, и вы не можете открывать или сохранять файлы в этих форматах.
Формат | расширение | Идентификаторы типа буфера обмена |
---|---|---|
Диаграмма Excel | .xlc | Форматы файлов Excel 2.0, 3.0 и 2.x |
WK1, FMT, WK2, WK3, FM3, WK4 | .wk1, .wk2, .wk3, .wk4, .wks | Форматы файлов Lotus 1-2-3 (все версии) |
Microsoft Works | .wks | Формат файла Microsoft Works (все версии) |
DBF 2 | .dbf | Формат файла DBASE II |
WQ1 | .wq1 | Quattro Pro для формата файлов MS-DOS |
WB1, WB3 | .wb1, .wb3 | Quattro Pro 5.0 и 7.0 для Windows. |
Если вам нужно работать с данными рабочей книги в программе, которая больше не поддерживается, попробуйте следующее:
Найдите в Интернете компанию, которая производит конвертеры форматов файлов для форматов файлов, которые не поддерживаются в Excel 2013.
Сохраните вашу книгу в другой формат файла, который можно открыть в другой программе. Например, сохраните в электронную таблицу XML или текстовый формат файла, который также может поддерживать другая программа.
Excel File Extensions and Their Uses
XLS, XLSX, XLSM, XLTX and XLTM
A file extension is the group of letters that appear after the last period in a file name. File extensions are usually 2 to 4 characters long, although they can be of any length. Excel uses a handful of standard extensions to disambiguate certain kinds of spreadsheet files.
The information in this article applies to Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel Online, and Excel for Mac.
XLS vs. XLSX
The current default file extension for an Excel file is XLSX. Prior to Excel 2007, the default file extension was XLS. The main difference between the two is that XLSX is an XML-based open file format and XLS is a proprietary Microsoft format. But, the newer versions of Excel save and open XLS files for the sake of compatibility with earlier versions of the program.
Determine if a file contains macros before you open it. Macros contain code that could damage files and compromise computer security if they come from untrusted sources. Excel files containing VBA and XLM macros use the XLSM extension.
XML and HTML
XML stands for extensible markup language. XML is related to HTML, the extension used for web pages. Advantages of this file format include:
- Smaller file sizes for storage and transfer.
- Better recovery of information from damaged files.
- Easier detection of files containing macros.
XLTX and XLTM
If an Excel file has either an XLTX or an XLTM extension, it is saved as a template file. Template files are used as starter files for new workbooks. Templates contain saved settings such as the default number of sheets per workbook, formatting, formulas, graphics, and custom toolbars. The difference between the two extensions is that the XLTM format can store VBA and XML macro code.
Macintosh computers do not rely on file extensions to determine which program to use when opening a file. However, for the sake of compatibility with the Windows version of the program, Excel for Mac uses the XLSX file extension.
Excel files created in one operating system can be opened the other. One exception to this is Excel 2008 for the Mac, which does not support VBA macros. As a result, it cannot open XLMX or XMLT files created by Windows or later Mac versions that support VBA macros.
Change File Formats With Save As
To change an Excel format (and its extension), follow these steps:
-
Open the workbook and select File > Save As. In Excel 2019, select Save a Copy instead.
-
In the dialog box, accept the suggested file name or type a new name for the workbook.
-
In the Save as type or File Format list, choose the format for the resulting file.
-
Select Save to save the file in the new format and return to the current worksheet.
If a file is saved in a format that does not support all the features of the current format, such as formatting or formulas, an alert message box appears prompting you to continue or to cancel.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
6262
Содержание:
- Для чего написана эта статья.
- Получение xlsx-файла по
данным из xml+xsd. - Извлечение xml-таблицы данных из xlsx-файла.
- Краткое описание кода примеров.
- Заключение.
- Ссылки по теме.
Для чего написана эта статья.
Если вы имеете установленную у Вас серию продуктов из MS Office 2007, Вы наверное
обратили внимание на тип файла «Книга Excel (*.xlsx)«,
имеющегося в диалоге «Сохранить [как/Другие форматы]«,
расширение которого, как и структура содержащихся в нём данных, отличается от
прежнего xls-формата (совместимого с
Excel 97-2003). Этот типа принадлежит к т.н. типам файлов
Office 2007, известных как Office XML Open Format. См. также
статьи Алексея Федорова в разделе: Внешние ссылки по теме.
Ниже приведена таблица форматов, поддерживаемых Excel
из MS Office 2007 с краткими пояснениями к ним
(позаимствована из документации):
Формат | Расширение | Описание |
---|---|---|
Книга Excel | XLSX | Стандартный формат файлов Office Excel 2007 на основе XML. Не сохраняет код VBA-макросов, а также листы макросов Microsoft Excel 4.0 (XLM). |
Лист Excel (код) | XLSM | Формат файлов Office Excel 2007 на основе XML, поддерживающий сохранение макросов. Сохраняет код VBA-макросов, а также листы макросов Excel 4.0 (XLM). |
Двоичная книга Excel | XLSB | Формат двоичных файлов Office Excel 2007 (BIFF12). |
Шаблон | XLTX | Стандартный формат файлов шаблонов Office Excel 2007Excel. Не сохраняет код VBA-макросов, а также листы макросов Microsoft Excel 4.0 (XLM). |
Шаблон (код) | XLTXM | Формат файлов шаблонов Office Excel 2007Excel, поддерживающий сохранение макросов. Сохраняет код VBA-макросов, а также листы макросов Microsoft Excel 4.0 (XLM). |
Книга Microsoft Excel 97-2003 |
XLS | Формат двоичных файлов Excel 97 — Excel 2003 (BIFF8). |
Шаблон Excel 97- Excel 2003 |
XLT | Формат двоичных файлов Excel 97 — Excel 2003 (BIFF8) для хранения шаблонов Excel. |
Книга Microsoft Excel 5.0/95 |
XLS | Формат двоичных файлов Excel 5.0/95 (BIFF5). |
XML-таблица 2003 | XML | Формат файлов XML-таблиц 2003 (XMLSS). |
Данные XML Data | XML | Формат данных XML. |
Надстройка Microsoft Excel |
XLAM | Формат файлов надстроек Office Excel 2007, обеспечивающих дополнительные возможности программ, создаваемых для исполнения дополнительного кода, на основе XML, и поддерживающих макросы. Поддерживает использование проектов VBA и листов макросов Excel 4.0 (XLM). |
На самом деле, любой файл xlsx-формата представляет собой
zip-файл, содержащий в себе несколько подкаталогов, в которых имеются ряд
файлов с данными в xml(eXtensible Markup Language)-формате. В этом нетрудно
убедиться, если заменить расширение xlsx-файла на
zip и попробовать разархивировать полученный после
переименования zip-файл с помощью какой-нибудь
утилиты, способной это сделать, например используя WinRAR.exe, а в старших версиях OS Windows это можно
также осуществить и с помощью обычного «Проводника» OS
Windows.
Цель данной заметки заключается в том, чтобы на конкретном примере показать способ извлечений
таблицы данных из xlsx-файла, используя
XSLT(eXtensible Stylesheet Language Transformations)-преобразования над xml-данными,
хранящимися в xlsx-файлах. Нами будет проделано две
вещи:
- во-первых, имея некоторую таблицу xml-данных, с
описывающей её структуру xsd-схемой, мы получим
xlsx-файл с этой таблицей в качестве данных, - во-вторых, мы попробуем извлечь таблицу данных из полученного таким образом
xlsx-файла, а для выполнения необходимых
преобразований при этом, мы будем использовать XSLT
с помощью утилиты msxsl.exe или средств, входящих
в MSXML 4.0 Service Pack 2 (Microsoft XML Core Services),
которые
можно свободно и бесплатно загрузить по ссылкам, приведённом мной в разделе: Внешние ссылки по теме.
Получение xlsx-файла по данным
из xml+xsd.
Чтобы самим не придумывать данные для Excel-таблицы, воспользуемся тем, что можно загрузить из
интернета по ссылке: Сопоставление XML-элементов и отмена их сопоставления.
Продублирую прямо сюда текст файлов, позаимствованных из этого источника. Итак, там
взяты два файла: Расходы.xml — пример данных,
на основе которых, нами будет построена Excel-таблица и
Расходы.xsd — схема для него.
В файле Расходы.xml имеем следующее:
<?xml
version=«1.0«
encoding=«UTF-8«
standalone=«no«
?>
<Root>
<EmployeeInfo>
<Name>Jane
Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi
Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long
Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal
Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi
Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New
Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>
а в файле Расходы.xsd:
<?xml
version=«1.0«
encoding=«UTF-8«
standalone=«no«?>
<xsd:schema
xmlns:xsd=«http://www.w3.org/2001/XMLSchema«>
<xsd:element
name=«Root«>
<xsd:complexType>
<xsd:sequence>
<xsd:element
minOccurs=«0«
maxOccurs=«1«
name=«EmployeeInfo«>
<xsd:complexType>
<xsd:all>
<xsd:element
minOccurs=«0«
maxOccurs=«1«
name=«Name«
type=«xsd:anyType«
/>
<xsd:element
minOccurs=«0«
maxOccurs=«1«
name=«Date«
type=«xsd:anyType«
/>
<xsd:element
minOccurs=«0«
maxOccurs=«1«
name=«Code«
type=«xsd:anyType«
/>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element
minOccurs=«0«
maxOccurs=«unbounded«
name=«ExpenseItem«>
<xsd:complexType>
<xsd:sequence>
<xsd:element
name=«Date«
type=«xsd:date«
/>
<xsd:element
name=«Description«
type=«xsd:string«
/>
<xsd:element
name=«Amount«
type=«xsd:decimal«
/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Далее, создадим на основе данных этих двух файлов таблицу в
Excel из MS Office 2007.
Ниже шаг за шагом и т.с. в картинках показано, как это можно сделать. Но прежде
всего, если у Вас на «Панели
быстрого доступа» отсутствует вкладка «Разработчик», то проделайте действия,
изображённые на Рис.1:
Рис.1
т.е. отметьте пункт «Показывать вкладку «Разработчик» на ленте» в диалоге
«Параметры Excel» и подтвердите изменения, нажав
кнопку «Ok» в правой нижней части окна этого диалога.
Следующим действием загрузим файл-схему Расходы.xsd
в Excel, для чего выполните
пункты, отмеченные красными кружками на Рис.2:
Рис.2
Если всё предшествующее не вызвало никаких ошибок, то в результате Вы должны
получить то, что изображено на Рис.3:
Рис.3
т.е. в правой панели «Источник XML» у Вас должна
появиться древовидная структура полей, описанных в фале-схеме Расходы.xsd.
Следующим действием, мы должны сопоставить данные в области листа книги с
полями загруженной xsd-схемы. Для чего следует мышкой
выделить корневой элемент в правой панели «Источник XML»
(Root в нашем случае) и не отпуская мышки, перетащить
его в ячейку A1 на Лист 1. После чего отпустить кнопку
мыши. Проделав это, мы получим ситуацию, подобную изображённой на Рис.4:
Рис.4
Наконец, попробуем выполнить загрузку/импорт собственно самих данных из файла Расходы.xml,
для чего выделив область данных нашей таблицы на Лист 1 (область ячеек:
A2:F2), воспользуемся кнопкой «Импорт» на закладке «Разработчик» так, как
показано на Рис.5:
Рис.5
Если никаких ошибок при загрузке xml-данных из
файла Расходы.xml не возникло, то вы должны получить ситуацию, изображённую на Рис.6:
Рис.6
Наконец-то мы достигли конечной цели данного этапа, и можем сохранить полученное в виде файла
Книга1.xlsx. Только перед сохранением желательно
удалить пустые лишние листы: Лист 2, Лист 3.
Здесь резонно возникает вопрос: а возможна ли загрузка/импорт табличных
xml-данных в MS Excel 2007 в
случае отсутствия файла xsd-схемы? И ответ здесь: да
возможна. В этом случае, Excel 2007 сам попробует
создать схему/карту Ваших xml-данных, опираясь на
анализ значений самих исходных данных. Что же, попробуем открыть файл Расходы.xml
без предварительной загрузки его файла-схемы Расходы.xsd,
а в возникшем при этом вопросе в диалоге «Открытие XML«, подтвердить пункт «XML-таблица».
На Рис.7 ниже изображена ситуация, которую я получил при таком эксперименте:
Рис.7
Обратите внимание, что в столбцах B и
C тип данных будет соответственно: «Дата» и «Общий» в
отличии от «Текст», которые мы имели выше, т.е. при использовании файла-схемы Расходы.xsd
перед загрузкой xml-данных.
Получив после сохранения файл Книга1.xlsx,
сделайте его копию как файл Книга1.zip, и
разархивируйте последний, включая структуру подкаталогов, с помощью используемого
Вами средства работы с zip-архивами в каталог Книга1.
Если скажем, у Вас имеется установленный WinRAR, то
разархивировать файл Книга.xlsx Вы сможете создав и
выполнив командный файл getContentsUseWinRAR.cmd вот с таким
содержанием:
@echo off
mode con: cp select=1251 > _tmp.txt
"C:Program FilesWinRARWinRAR.exe" X -ad -ibck -o+ Книга1.xlsx
del _tmp.txt
Описание структуры полученных после разархивации подкаталогов/файлов можно найти в ссылках, приведённых мной в
разделе Внешние ссылки по теме,
для дальнейшего нас будут интересовать только полученные после распаковки
xml-файлы,
содержащие как собственно данные, так и описания их типов. К ним относятся:
- ..Книга1xlsharedStrings.xml — общие данные, имеющие тип строка
- ..Книга1xlxmlMaps.xml — файл, содержащий схемы данных
- ..Книга1xltablestable1.xml — описание столбцов таблицы,
включая и типы данных столбцов - ..Книга1xlworksheetssheet1.xml — данные листа, не являющиеся
строками, а также ссылки на общие строковые данные из файла
sharedStrings.xml
Скопируйте перечисленные выше файлы: sharedStrings.xml, xmlMaps.xml, table1.xml и sheet1.xml в отдельный рабочий каталог.
Работой только с этими файлами в отдельном рабочем каталоге мы собственно и
займёмся в дальнейшем.
Извлечение xml-таблицы данных из xlsx-файла.
Прежде всего, попытка выполнить экспорт данных, содержащихся в полученном нами файле Книга1.xlsx,
завершается неудачей, изображённой на рисунке ниже:
Рис.8
Я не нашёл разгадки этой очередной MS-загадки…
Однако, если бы даже выполнение экспорта таблицы данных из
xlsx-файла средствами MS Excel
2007 не вызывало бы проблем (например, можно попробовать сохранить содержание листа в формате:
«XML-таблица 2003» и о работе
с данными в рамках этого формата, можно посмотреть здесь: Как получить dbf-таблицы из xls-файла при наличии групп в данных?),
изложенное ниже в этом разделе, может иметь самостоятельный интерес, т.к. позволяет выполнить экспорт
xml-таблицы данных даже в тех случаях, когда у клиента отсутствует
установленный у него на компьютере Excel из MS Office 2007.
Что же, попробуем разобраться во внутреннем представлении
xml-данных, а точнее файлов: sharedStrings.xml, table1.xml и sheet1.xml из
предыдущего раздела, с тем чтобы попытаться всё же выполнить экспорт таблицы
данных.
В полученном нами Книга.zip-файле, начальный
фрагмент файла sharedStrings.xml имеет вид:
<?xml
version=«1.0«
encoding=«UTF-8«
standalone=«yes«?>
<sst
xmlns=«http://schemas.openxmlformats.org/spreadsheetml/2006/main«
count=«46«
uniqueCount=«16«>
<si>
<t>Name</t>
</si>
<si>
<t>Date</t>
</si>
<si>
<t>Code</t>
</si>
<si>
<t>Description</t>
</si>
<si>
<t>Amount</t>
</si>
<si>
<t>Date2</t>
</si>
<si>
<t>Jane
Winston</t>
</si>
<si>
<t>2001-01-01</t>
</si>
<si>
<t>0001</t>
</si>
<si>
<t>Airfare</t>
</si>
<si>
<t>Hotel</t>
</si>
<si>
<t>Taxi
Fare</t>
</si>
<si>
<t>Long
Distance Phone Charges</t>
</si>
…
</sst>
и как не трудно догадаться по названию файла, элементы
<t>…</t> которого, у каждого элемента <si>…</si>
в качестве текста имеют строки из нашей исходной xml-таблицы данных. Точнее,
это заголовки столбцов нашей таблицы, и далее строки-значения данных исходной
таблицы xml-данных. Причём, если непосредственно в
данных одна и та же строка может встретиться несколько раз (как например, строка ‘Jane Winston’ или ‘2001-01-01’), то в
файле sharedStrings.xml такое значение представлено единственным si-элементом.
Забегая слегка вперёд, XPATH-выражение фильтра для
выбора элемента <t>…</t>, содержащего текст у
n-го
элемента <si>…</si>, могло бы выглядеть так: select=»/sst/si[$n]/t»,
где переменная n — имела бы в качестве значения число, означающее
порядковый номер выбираемого si-элемента,
начиная с 1.
В представленном ниже файле table1.xml, нас будет интересовать только
информация о типах данных столбцов таблицы:
<?xml
version=«1.0«
encoding=«UTF-8«
standalone=«yes«?>
<table
xmlns=«http://schemas.openxmlformats.org/spreadsheetml/2006/main«
id=«1«
name=«1«
displayName=«1«
ref=«A1:F11«
tableType=«xml«
totalsRowShown=«0«
connectionId=«1«>
<autoFilter
ref=«A1:F11«/>
<tableColumns
count=«6«>
<tableColumn
id=«1«
uniqueName=«Name«
name=«Name«>
<xmlColumnPr
mapId=«1«
xpath=«/Root/EmployeeInfo/Name«
xmlDataType=«anyType«/>
</tableColumn>
<tableColumn
id=«2«
uniqueName=«Date«
name=«Date«>
<xmlColumnPr
mapId=«1«
xpath=«/Root/EmployeeInfo/Date«
xmlDataType=«anyType«/>
</tableColumn>
<tableColumn
id=«3«
uniqueName=«Code«
name=«Code«>
<xmlColumnPr
mapId=«1«
xpath=«/Root/EmployeeInfo/Code«
xmlDataType=«anyType«/>
</tableColumn>
<tableColumn
id=«4«
uniqueName=«Date«
name=«Date2«>
<xmlColumnPr
mapId=«1«
xpath=«/Root/ExpenseItem/Date«
xmlDataType=«date«/>
</tableColumn>
<tableColumn
id=«5«
uniqueName=«Description«
name=«Description«>
<xmlColumnPr
mapId=«1«
xpath=«/Root/ExpenseItem/Description«
xmlDataType=«string«/>
</tableColumn>
<tableColumn
id=«6«
uniqueName=«Amount«
name=«Amount«>
<xmlColumnPr
mapId=«1«
xpath=«/Root/ExpenseItem/Amount«
xmlDataType=«decimal«/>
</tableColumn>
</tableColumns>
<tableStyleInfo
name=«TableStyleMedium9«
showFirstColumn=«0«
showLastColumn=«0«
showRowStripes=«1«
showColumnStripes=«0«/>
</table>
т.е. значение атрибута xmlDataType у соответствующего элемента tableColumn, в то время как
выбор требуемого столбца можно сделать, опираясь на значение атрибута id,
содержащего в качестве значений порядковый номер столбца, начиная с 1.
Соответствующее XPATH-выражение для выбора типа данных
n-го столбца, могло бы выглядеть так:
select=»/table/tableColumns/tableColumn[@id=$n]/xmlColumnPr/@xmlDataType»
Наконец, рассмотрим содержание файла sheet1.xml
<?xml
version=«1.0«
encoding=«UTF-8«
standalone=«yes«?>
<worksheet
xmlns=«http://schemas.openxmlformats.org/spreadsheetml/2006/main«
xmlns:r=«http://schemas.openxmlformats.org/officeDocument/2006/relationships«>
<sheetPr
codeName=«1«/>
<dimension
ref=«A1:F11«/>
<sheetViews>
<sheetView
tabSelected=«1«
topLeftCell=«C1«
zoomScaleNormal=«100«
workbookViewId=«0«>
<selection
activeCell=«I3«
sqref=«I3«/>
</sheetView>
</sheetViews>
<sheetFormatPr
defaultRowHeight=«15«/>
<cols>
<col
min=«1«
max=«1«
width=«12.85546875«
bestFit=«1«
customWidth=«1«/>
<col
min=«2«
max=«2«
width=«10.42578125«
bestFit=«1«
customWidth=«1«/>
<col
min=«3«
max=«3«
width=«7.7109375«
bestFit=«1«
customWidth=«1«/>
<col
min=«4«
max=«4«
width=«12«
bestFit=«1«
customWidth=«1«/>
<col
min=«5«
max=«5«
width=«27.28515625«
bestFit=«1«
customWidth=«1«/>
<col
min=«6«
max=«6«
width=«10.42578125«
bestFit=«1«
customWidth=«1«/>
</cols>
<sheetData>
<row
r=«1«
spans=«1:6«>
<c
r=«A1«
t=«s«>
<v>0</v>
</c>
<c
r=«B1«
t=«s«>
<v>1</v>
</c>
<c
r=«C1«
t=«s«>
<v>2</v>
</c>
<c
r=«D1«
t=«s«>
<v>5</v>
</c>
<c
r=«E1«
t=«s«>
<v>3</v>
</c>
<c
r=«F1«
t=«s«>
<v>4</v>
</c>
</row>
<row
r=«2«
spans=«1:6«>
<c
r=«A2«
s=«1«
t=«s«>
<v>6</v>
</c>
<c
r=«B2«
s=«1«
t=«s«>
<v>7</v>
</c>
<c
r=«C2«
s=«1«
t=«s«>
<v>8</v>
</c>
<c
r=«D2«
s=«2«>
<v>36892</v>
</c>
<c
r=«E2«
s=«1«
t=«s«>
<v>9</v>
</c>
<c
r=«F2«>
<v>500.34</v>
</c>
</row>
…
</sheetData>
<pageMargins
left=«0.7«
right=«0.7«
top=«0.75«
bottom=«0.75«
header=«0.3«
footer=«0.3«/>
<pageSetup
paperSize=«9«
orientation=«portrait«
r:id=«rId1«/>
<tableParts
count=«1«>
<tablePart
r:id=«rId2«/>
</tableParts>
</worksheet>
На верхнем уровне файл имеет коневой элемент <worksheet>…</worksheet>,
который в свою очередь, содержит элементы: sheetPr, dimension, sheetViews, sheetFormatPr, cols, sheetData, pageMargins, pageSetup, tableParts.
Собственно сами данные (в т.ч. и данные о данных) содержатся в виде списка
дочерних элементов <row>…</row> у элемента <sheetData>…</sheetData>.
Ради сокращения объёма
элементы <row>…</row> с значениями своих атрибутов r=»3″ и до конца (т.е.
до r=»11″ в нашем случае) удалены
из приведённого выше текста, а оставлены только с r=»1″ и r=»2″,
что вполне достаточно, чтобы разобраться в том, как они «устроены».
Разглядывая содержание элементов row (т.е. строк
листа) видим, что каждый из них состоит из набора элементов
<c>…</c>,
(т.е. колонок [или столбцов]),
каждый из которых помимо атрибутов: r [, s, t],
содержит элемент <v>…</v>, текст которого собственно
и представляет из себя значение содержания соответствующей колонки. А
приглядевшись внимательно к значениям элементов <v>…</v>,
можно заметить странность, которая заключается в том, что там, где мы ожидали бы
увидеть текст в виде строки, имеем просто число. Обратите внимание, что атрибут
t у соответствующего элемента
<c>…</c> при этом, имеет значение «s». Однако, вспомнив о
существовании выше рассмотренного нами файла sharedStrings.xml, легко
обнаруживается, что число, используемое в качестве значения у элементов <v>…</v>, есть
ни что иное, как порядковый номер si-элемента в файле sharedStrings.xml,
правда с нумерацией от значения 0, t-элемент которого,
собственно и содержит искомую нами текстовую строку, как значение
колонки/столбца у соответствующей строки из файла sheet1.xml. Этот факт легко
обнаруживается например, у элемента <row>…</row>
при значении его атрибута r=»1″, т.е. когда
дочерние c-элементы должны содержать заголовки
столбцов нашей таблицы… Вот такая нормализация (исключение
дублирования значений) для строк имеет место быть в MS Excel 2007, однако!
Ну хорошо, а как же теперь всем этим воспользоваться, чтобы «собирать»
разбросанные таким образом значения в один xml-файл,
представляющий собой результат экспорта таблицы данных из
xlsx-файла? На мой взгляд, проще всего воспользоваться технологиями
XSLT, чтобы осуществить это «меньшей кровью». Ниже
показывается как это можно сделать.
В качестве первого шага, попробуем написать XSLT-преобразование,
в котором оставаясь в рамках структуры элемента sheetData
из файла sheet1.xml в результате преобразований, заменим все ссылки на
строки из файла sharedStrings.xml (т.е. элементы <v>…</v>
с числовыми значениями, у которых родительский c-элемент
будет иметь атрибут t=»s»).
XSLT-код такого преобразования мог бы быть следующим:
<?xml
version=«1.0«
encoding=«utf-8«?>
<!— File: extractXlsxData.xslt
—>
<xsl:stylesheet
version=«1.0«
xmlns:xsl=«http://www.w3.org/1999/XSL/Transform«
xmlns:r=«http://schemas.openxmlformats.org/officeDocument/2006/relationships«
xmlns:msxsl=«urn:schemas-microsoft-com:xslt«
exclude-result-prefixes=«xsl
r msxsl«>
<
xsl:output
version=«1.0«
method=«xml«
standalone=«yes«
encoding=«utf-8«/>
<
xsl:param
name=«prmPathToSharedStringsFile«>
<xsl:text></xsl:text>
</xsl:param>
<xsl:variable
name=«varDocSharedStrings«>
<xsl:copy-of
select=«document(concat($prmPathToSharedStringsFile,
‘sharedStrings.xml’))«
/>
</xsl:variable>
<
xsl:template
match=«/«>
<sheetData>
<xsl:apply-templates
select=«/./*[local-name()=’worksheet’]/*[local-name()=’sheetData’]/*«
/>
</sheetData>
</xsl:template>
<
xsl:template
match=«@*|node()«>
<xsl:variable
name=«varLocalName«>
<xsl:value-of
select=«local-name()«
/>
</xsl:variable>
<xsl:choose>
<xsl:when
test=«string-length($varLocalName)>0
and $varLocalName != ‘v’«>
<xsl:element
name=«{$varLocalName}«>
<xsl:for-each
select=«@*«>
<xsl:attribute
name=«{local-name()}«>
<xsl:value-of
select=«.«
/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates
select=«*«
/>
</xsl:element>
</xsl:when>
<xsl:when
test=«$varLocalName=’v’«>
<xsl:choose>
<xsl:when
test=«parent::*/@t=’s’«>
<xsl:variable
name=«varNumSs«>
<xsl:value-of
select=«.«
/>
</xsl:variable>
<v>
<xsl:value-of
select=«msxsl:node-set($varDocSharedStrings)/./*[local-name()=’sst’]/*[local-name()=’si’][number($varNumSs)
+ 1]/*[local-name()=’t’]«
/>
</v>
</xsl:when>
<xsl:otherwise>
<v>
<xsl:value-of
select=«.«
/>
</v>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates
select=«@*|node()«
/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</
xsl:stylesheet>
Здесь, кажущиеся утяжелёнными условные XPATH-выражения типа:
/./*[local-name()=’worksheet’]/*[local-name()=’sheetData’]/* вместо прямого
выбора типа: /./worksheet/sheetData/*, на самом деле
необходимы, т.к. обрабатываемые xml-данные, имеют
namespace-ы по умолчанию (default
namespace), а в таких случаях прямое использование названий элементов в XPATH-выражениях
«не работает», в таких случаях приходится использовать относительные пути и
условные выборки.
Для выполнения
XSLT-преобразований, можно воспользоваться бесплатной
утилитой командной строки от Microsoft
msxsl.exe
(см. «Command Line Transformation Utility (msxsl.exe)» в разделе: Внешние ссылки по теме)
и применяя приведённое выше XSLT-преобразование extractXlsxData.xslt над
файлами sharedStrings.xml и sheet1.xml (например,
поместив в командный файл extractToXml.cmd строку: msxsl.exe sheet1.xml extractXlsxData.xslt -o tr.xml) получаем на
выходе tr.xml-файл со следующим содержанием:
<?xml
version=«1.0«
encoding=«utf-8«
standalone=«yes«?>
<sheetData>
<row
r=«1«
spans=«1:6«>
<c
r=«A1«
t=«s«>
<v>Name</v>
</c>
<c
r=«B1«
t=«s«>
<v>Date</v>
</c>
<c
r=«C1«
t=«s«>
<v>Code</v>
</c>
<c
r=«D1«
t=«s«>
<v>Date2</v>
</c>
<c
r=«E1«
t=«s«>
<v>Description</v>
</c>
<c
r=«F1«
t=«s«>
<v>Amount</v>
</c>
</row>
<row
r=«2«
spans=«1:6«>
<c
r=«A2«
s=«1«
t=«s«>
<v>Jane
Winston</v>
</c>
<c
r=«B2«
s=«1«
t=«s«>
<v>2001-01-01</v>
</c>
<c
r=«C2«
s=«1«
t=«s«>
<v>0001</v>
</c>
<c
r=«D2«
s=«2«>
<v>36892</v>
</c>
<c
r=«E2«
s=«1«
t=«s«>
<v>Airfare</v>
</c>
<c
r=«F2«>
<v>500.34</v>
</c>
</row>
…
</sheetData>
Здесь, как и в предыдущем случае, для уменьшения объёма документа оставлены
только две строки (row-элементы с атрибутами r=»1″ и r=»2″),
а остальные данные упущены. Как видим, всё работает так, как и ожидалось!
Однако, обратите внимание на значение даты во второй строке в колонке
D (<c r=»D2″…><v>36892</v></c>).
Хм… дата в xml-представлении не в формате:
YYYY-MM-DD, а в количестве дней с 01.01.1970. Да
уж!… Придётся с этим чего-то делать…
Для выполнения XSLT-преобразований можно пробовать
использовать и другие средства… Например, в MS .NET Framework
2.0, 3.0, C#-код консольного приложения мог бы быть таким:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
namespace testTranse
{
class
Program
{
const
bool IS_DOCFUNC =
true;
const
bool IS_SCRIPT =
false;
const
bool USE_DEBUG =
false;
const
string XSL_FILE =
«extractXlsxData.xslt»;
const
string INP_FILE =
«sheet1.xml»;
const
string OUT_FILE =
«tr.xml»; static
void Main(string[]
args)
{
bool bIsOk =
false;
try
{
XsltSettings
xsltSettings = new
XsltSettings(IS_DOCFUNC,
IS_SCRIPT);
XslCompiledTransform
xslTrans = new
XslCompiledTransform(USE_DEBUG);
xslTrans.Load(XSL_FILE, xsltSettings,
new XmlUrlResolver());
xslTrans.Transform(INP_FILE, OUT_FILE);
bIsOk = true;
}
catch (Exception
ex)
{
Console.WriteLine(«***
Error: « + ex.ToString());
}
if (bIsOk)
{
Console.WriteLine(«Transformation
successfully completed!»);
}
Console.WriteLine(«Press
any key to continue…»);
Console.ReadKey();
}
}
}
Если будете экспериментировать именно с extractXlsxData.xslt, здесь константе
IS_DOCFUNC
следует присвоить именно true, т.к. в его коде
выполняется загрузка файла sharedStrings.xml, используя
XSLT-функцию document().
Аналогичный MS Visual FoxPro 9.0 код с использованием MSXML 4.0 (Microsoft XML Core Services),
мог бы выглядеть так:
#DEFINE
XML_FILE «sheet1.xml»
#DEFINE
XSL_FILE «extractXlsxData.xslt»
#DEFINE
OUT_FILE «tr.xml»
#
DEFINE
XSL_PRM_NAME «prmPathToSharedStringsFile»
#DEFINE
XSL_PRM_VALUE «»
#
DEFINE
XML_VERS «»
&& or «.4.0» && or «.3.0»
#DEFINE
XMLPI ‘<?xml version=»1.0″
encoding=»windows-1251″ standalone=»yes»?>’
#
DEFINE
SW_NORMAL 1
#DEFINE
CRLF
CHR(13)
+ CHR(10)
SET DEFAULT TO (LEFT(SYS(16),
RAT(«»,
SYS(16))))
LOCAL lcXmlFile
as String;
,lcXslFile as String;
,lcHtmFile as String;
,lbResult as
Boolean
lcXmlFile =
LOWER(FULLPATH(XML_FILE))
lcXslFile = LOWER(FULLPATH(XSL_FILE))
lcOutFile = LOWER(FULLPATH(OUT_FILE))
IF !FILE(lcXslFile)
ERROR
101, lcXslFile
RETURN
lbResult
ENDIF
IF !FILE(lcXmlFile)
ERROR
101, lcXmlFile
RETURN
lbResult
ENDIF
DECLARE INTEGER
ShellExecute
IN
shell32.dll
;
INTEGER hwnd,
;
STRING
@lsOperation, ;
STRING
@lsFile, ;
STRING
@lsParameters, ;
STRING
@lsDirectory, ;
INTEGER
liShowCmd
DECLARE INTEGER GetDesktopWindow
IN
user32.dll
LOCAL
loErr
as Exception;
,lcPROGIDmsxml as
String;
,lcPROGIDmsxsl as
String;
,lcPROGIDmstemp as
String;
,loMsXml as
Msxml2.DOMDocument;
,loMsXsl as
Msxml2.FreeThreadedDOMDocument;
,loMsPrc as
Msxml2.XSLTemplate;
,lobjXSLTProc as
Msxml2.IXSLProcessor;
,lbParseError as Boolean
TRY
*/////////////////////////////////////////////////
*// Try do XML + XSL => OUT transformation
lcPROGIDmsxml = «Msxml2.DOMDocument»
+ XML_VERS
lcPROGIDmsxsl = «Msxml2.FreeThreadedDOMDocument» + XML_VERS
lcPROGIDmstemp = «Msxml2.XSLTemplate» + XML_VERS
loMsXml =
CREATEOBJECT(lcPROGIDmsxml)
loMsXsl =
CREATEOBJECT(lcPROGIDmsxsl)
loMsPrc =
CREATEOBJECT(lcPROGIDmstemp)
*
*— Load XML
WITH
loMsXml
.async = .F.
.load(lcXmlFile)
&& Load XML-file
IF
.parseError.errorCode != 0
lbParseError = .T.
ShowXmlErr(.parseError)
ENDIF
ENDWITH
IF !lbParseError
*
*— Load XSL
WITH
loMsXsl
.async = .F.
.load(lcXslFile)
&& Load XSL-file
IF
.parseError.errorCode != 0
lbParseError = .T.
ShowXmlErr(.parseError)
ENDIF
ENDWITH
ENDIF
IF !lbParseError
*
*— XSLT transformation
loMsPrc.stylesheet =
loMsXsl.documentElement
lobjXSLTProc = loMsPrc.createProcessor()
IF VARTYPE(lobjXSLTProc)
= «O»
lobjXSLTProc.input
= loMsXml
IF
!EMPTY(XSL_PRM_VALUE)
lobjXSLTProc.addParameter(XSL_PRM_NAME, XSL_PRM_VALUE, «»)
ENDIF
IF lobjXSLTProc.transform()
LOCAL
lcOutPut
as String
lcOutPut = lobjXSLTProc.output
IF FILE(lcOutFile)
ERASE
(lcOutFile)
ENDIF
LOCAL lnPosXmlPI
as Number
lnPosXmlPI =
ATC(«?>»,
lcOutPut)
IF
lnPosXmlPI > 0
lcOutPut = XMLPI +
SUBSTRC(lcOutPut, lnPosXmlPI + 2)
ENDIF
LOCAL lnBytes
as Number
lnBytes = 0
lnBytes = STRTOFILE(lcOutPut,
lcOutFile)
IF
lnBytes > 0 AND
FILE(lcOutFile)
LOCAL
lnRetCode
as Number
lnRetCode = 0
lnRetCode = ShellExecute(GetDesktopWindow(), «open», lcOutFile, «», «»,
SW_NORMAL)
IF
lnRetCode > 32
lbResult = .T.
ELSE
ERROR «ShellExecute: errorcode = » +
LTRIM(STR(lnRetCode))
ENDIF
ELSE
ERROR 101, lcOutFile
ENDIF
ELSE
ERROR «Error on XML + XSL => XML
transformation»
ENDIF
ELSE
ERROR «Can not createProcessor()»
ENDIF
ENDIF
CATCH TO loErr
MESSAGEBOX(«Error: » + LTRIM(STR(loErr.ErrorNo))
+ CRLF ;
+ «LineNo: » + LTRIM(STR(loErr.LineNo))
+ CRLF ;
+ «Message: » + loErr.Message,16,
_SCREEN.Caption)
FINALLY
STORE NULL TO ;
loMsXml, loMsXsl, loMsPrc, lobjXSLTProc
ENDTRY
CLEAR DLLS
RETURN lbResult
*/////////////////////////////////////////////////
*// ShowXmlErr
FUNCTION ShowXmlErr
LPARAMETERS
toXmlErr
as
Msxml2.IXMLDOMParseError
IF VARTYPE(toXmlErr)
# ‘O’
RETURN
.F.
ENDIF
LOCAL lcMsg
as String
WITH toXmlErr
lcMsg = «Error loading ‘» +
ALLTRIM(.url)
+ «‘»
lcMsg = lcMsg + CRLF + «Code: » +
TRANSFORM(.errorCode,
‘@0’)
IF
!EMPTY(.reason)
lcMsg = lcMsg + CRLF + «Reason: » +
ALLTRIM(.reason)
ENDIF
IF !EMPTY(.filepos)
lcMsg = lcMsg + CRLF + «Filepos: » +
TRANSFORM(.filepos)
ENDIF
IF !EMPTY(.linepos)
lcMsg = lcMsg + CRLF + «Linepos: » +
TRANSFORM(.linepos)
ENDIF
IF !EMPTY(.line)
lcMsg = lcMsg + CRLF + «Line: » +
TRANSFORM(.line)
ENDIF
IF !EMPTY(.srcText)
lcMsg = lcMsg + CRLF + «Text: » +
ALLTRIM(.srcText)
ENDIF
ENDWITH
MESSAGEBOX(lcMsg, 16,
_SCREEN.Caption)
ENDFUNC
Ну хорошо, удачно осуществив «подгруздку» строк-значений в таблицу
xml-данных, давайте сделаем с этим результатом
чего-нибудь действительно полезное. Например, вторым шагом попробуем написать
код XSLT-преобразования такой, чтобы на выходе у нас
получалось html-представление наших
xml-данных.
В общих чертах, такое преобразование должно выполнять следующее:
используя результат предыдущего шага на входе (файл tr.xml
в нашем случае), а также файл table1.xml для
извлечения информации о типах значений данных в столбцах, сформировать
html-таблицу таким образом, чтобы данные из первой
строки входных данных были бы заголовками столбцов формируемой таблицы, а во
время создания строк выходной таблицы из строк исходных данных начиная со
второй, нами должны быть учтены типы значений столбцов (из файла table1.xml) с тем, чтобы
осуществить соответствующее форматирование значений, если требуется. Также
неплохо было бы выровнять текст в каждой из колонок влево или вправо, в зависимости от типа
данных.
В попытке учесть всё вышеперечисленное, мной написан код вот такого XSLT-преобразования:
<?xml
version=«1.0«
encoding=«utf-8«?>
<!— File: getHtml.xslt—>
<xsl:stylesheet
version=«1.0«
xmlns=«http://www.w3.org/TR/html4«
xmlns:xsl=«http://www.w3.org/1999/XSL/Transform«
xmlns:msxsl=«urn:schemas-microsoft-com:xslt«
xmlns:user=«urn:A9A4A767-327E-4c7d-970B-DC3FF20F6DB5:user-function«
exclude-result-prefixes=«xsl
msxsl user«> <xsl:output
version=«4.0«
method=«html«
indent=«no«
encoding=«utf-8«
doctype-public=«-//W3C//DTD
HTML 4.0 Transitional//EN«
/> <msxsl:script
language=«JScript«
implements-prefix=«user«>
function getDate(newdate)
{
var n, d, s, p, td, tm;
n = parseInt(newdate.toString()) — 1;
d = new Date(0, 0, n);
//s = d.toLocaleDateString();
p = «-«;
td = d.getDate().toString();
if (td.length == 1)
{ td = «0» + td; }
tm = (d.getMonth() + 1).toString();
if (tm.length == 1)
{ tm = «0» + tm; }
s = d.getFullYear().toString() + p
+ tm + p
+ td;
return(s);
}
</msxsl:script>
<xsl:decimal-format
name=«russian«
grouping-separator=«
«
decimal-separator=«,«
/> <xsl:param
name=«prmTableFile«>
<xsl:text>table1.xml</xsl:text>
</xsl:param> <xsl:variable
name=«varDocTable«>
<xsl:copy-of
select=«document($prmTableFile)«/>
</xsl:variable>
<xsl:variable
name=«varTableName«>
<xsl:value-of
select=«msxsl:node-set($varDocTable)/./*[local-name()=’table’]/@displayName«
/>
</xsl:variable> <xsl:template
match=«/«>
<html>
<head>
<meta
name=«vs_targetSchema«
content=«http://schemas.microsoft.com/intellisense/ie5«
/>
<meta
http-equiv=«Content-Type«
content=«text/html;
charset=utf-8« />
<style
type=«text/css«>
<xsl:comment>
h4
{font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 8.5pt;}
th
{font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 8.5pt;
color: darkblue;
background-color: WhiteSmoke;}
td
{font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 8.5pt;}
.even
{font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 8.5pt;
background-color: Azure;}
</xsl:comment>
</style>
<title>
<xsl:value-of
select=«$varTableName«
/>
</title>
</head>
<body>
<h4>
<xsl:value-of
select=«$varTableName«
/>
</h4>
<table
border=«1«
cellspacing=«0«
cellpadding=«2«>
<xsl:for-each
select=«/./*/row«>
<tr>
<xsl:choose>
<xsl:when
test=«position()=1«>
<xsl:for-each
select=«c/v«>
<th>
<xsl:value-of
select=«.«
/>
</th>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:variable
name=«varClass«>
<xsl:if
test=«position()
mod 2«>
<xsl:text>even</xsl:text>
</xsl:if>
</xsl:variable>
<xsl:for-each
select=«c«>
<xsl:variable
name=«varNumCol«>
<xsl:value-of
select=«position()«/>
</xsl:variable>
<xsl:variable
name=«varType«>
<xsl:value-of
select=«msxsl:node-set($varDocTable)/./*[local-name()=’table’]/*[local-name()=’tableColumns’]/*[local-name()=’tableColumn’
and @id=$varNumCol]/*[local-name()=’xmlColumnPr’]/@xmlDataType«/>
</xsl:variable>
<xsl:call-template
name=«getValue«>
<xsl:with-param
name=«prmClass«
select=«$varClass«
/>
<xsl:with-param
name=«prmType«
select=«$varType«
/>
<xsl:with-param
name=«prmValue«
select=«v«
/>
</xsl:call-template>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template> <xsl:template
name=«getValue«>
<xsl:param
name=«prmClass«
/>
<xsl:param
name=«prmType«
/>
<xsl:param
name=«prmValue«
/>
<td>
<xsl:if
test=«string-length($prmClass)>0«>
<xsl:attribute
name=«class«>
<xsl:value-of
select=«$prmClass«/>
</xsl:attribute>
</xsl:if>
<xsl:attribute
name=«vAlign«>
<xsl:text>top</xsl:text>
</xsl:attribute>
<xsl:if
test=«$prmType=’decimal’
or $prmType=’int’ or $prmType=’date’«>
<xsl:attribute
name=«align«>
<xsl:text>right</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when
test=«$prmType=’decimal’«>
<xsl:value-of
select=«format-number($prmValue,
‘### ##0,00’, ‘russian’)«
/>
</xsl:when>
<xsl:when
test=«$prmType=’date’«>
<xsl:variable
name=«varDate«>
<xsl:choose>
<xsl:when
test=«contains($prmValue,
‘-‘)«>
<xsl:value-of
select=«$prmValue«
/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select=«user:getDate(string($prmValue))«
/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of
select=«msxsl:format-date($varDate,
‘dd.MM.yyyy’)« />
</xsl:when>
<xsl:otherwise>
<xsl:value-of
select=«$prmValue«
/>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:template>
</
xsl:stylesheet>
Применяя это преобразование к данным из файла tr.xml
(т.е к результату, полученному на первом шаге) используя утилиту
msxsl.exe (например, предварительно создав командный
файл convertToHtml.cmd со строкой:
msxsl.exe tr.xml getHtml.xslt -o tr.htm) или используя вышеприведённый C#-код, заменив в нём
соответствующие константы на:
…
const
bool IS_DOCFUNC =
true;
const
bool IS_SCRIPT =
true;
const
bool USE_DEBUG =
false;
const
string XSL_FILE =
«getHtml.xslt»;
const
string INP_FILE =
«tr.xml»;
const
string OUT_FILE =
«tr.htm»;
…
получаем в файле tr.htm вот такой результат:
Рис.9
что в общем-то и соответствует тому, к чему мы стремились…
Пожалуй, полезным будет привести сюда C#-код с
использованием библиотеки C:Program FilesReference AssembliesMicrosoftFrameworkv3.0WindowsBase.dll,
содержащей namespace System.IO.Packaging и позволяющей работать с частями zip-ованых файлов в
MS .Net Framework 2.0, 3.0. Код консольного приложения
с использованием этих возможностей мог бы быть таким:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.IO.Packaging;
namespace xlsx2html
{
class
Program
{
const
string INPUT_FILE =
«Книга1.xlsx»;
const
string XSLT_SHEET_FILE =
«extractXlsxData.xslt»;
const
string XSLT_HTML_FILE =
«getHtml.xslt»;
const
string ERR_FILE_NOTFOUND =
«Not found file: «;
const
string ERR_PACKAGE_NOTOPEN
= «Not open package for file: «;
const
string
ERR_PACKAGEPART_NOTFOUND = «Not found
PackagePart: «;
const
string ERR_XMLDOC_NOTLOAD =
«Not load XmlDocument: «;
const
string URI_SHARED_STRINGS =
«/xl/sharedStrings.xml»;
const
string URI_FORMAT_SHEET =
«/xl/worksheets/sheet{0}.xml»;
const
string URI_FORMAT_TABLE =
«/xl/tables/table{0}.xml»;
const
int NUMBER_SHEET = 1;
const
int NUMBER_TABLE = 1;static
void Main(string[]
args)
{
string XlsxFile =
INPUT_FILE;
string HtmlFile =
System.String.Empty;
int NumberSheet =
NUMBER_SHEET;
int NumberTable =
NUMBER_TABLE;if (args.Length >
0)
{
XlsxFile = args[0];
}
int nPosLE =
XlsxFile.LastIndexOf(‘.’);
if (nPosLE ==
(-1))
{
XlsxFile += «.xlsx»;
}
if (args.Length >
1)
{
HtmlFile = args[2];
}
else
{
nPosLE = XlsxFile.LastIndexOf(‘.’);
HtmlFile = XlsxFile.Substring(0, nPosLE) +
«.htm»;
}bool bResult =
false;
Package
package = null;
StringBuilder sb
= new
StringBuilder();try
{
if (!File.Exists(XlsxFile))
{
throw (new
FileNotFoundException(ERR_FILE_NOTFOUND
+ XlsxFile));
}
package = Package.Open(XlsxFile);
if (package ==
null)
{
throw (new
NullReferenceException(ERR_PACKAGE_NOTOPEN
+ XlsxFile));
}
if (args.Length >
2)
{
NumberSheet = Convert.ToInt32(args[3]);
}
if (args.Length >
3)
{
NumberTable = Convert.ToInt32(args[4]);
} /////////////////////////////////
// SharedStrings
Uri
UriSharedStrings = new
Uri(URI_SHARED_STRINGS,
UriKind.Relative);
PackagePart
ppSharedStrings = package.GetPart(UriSharedStrings);
if
(ppSharedStrings == null)
{
throw (new
NullReferenceException(ERR_PACKAGEPART_NOTFOUND
+ UriSharedStrings.ToString()));
}
XmlDocument
xmlDocSharedStrings = new
XmlDocument();
xmlDocSharedStrings.Load(ppSharedStrings.GetStream());
if
(xmlDocSharedStrings.DocumentElement ==
null)
{
throw (new
NullReferenceException(ERR_XMLDOC_NOTLOAD
+ UriSharedStrings.ToString()));
} /////////////////////////////////
// Sheet
sb.Length = 0;
sb.AppendFormat(URI_FORMAT_SHEET, NumberSheet);
Uri UriSheet =
new
Uri(sb.ToString(),
UriKind.Relative);
PackagePart
ppSheet = package.GetPart(UriSheet);
if (ppSheet ==
null)
{
throw (new
NullReferenceException(ERR_PACKAGEPART_NOTFOUND
+ UriSheet.ToString()));
}
XmlDocument
xmlDocSheet = new
XmlDocument();
xmlDocSheet.Load(ppSheet.GetStream());
if (xmlDocSheet.DocumentElement == null)
{
throw (new
NullReferenceException(ERR_XMLDOC_NOTLOAD
+ UriSheet.ToString()));
} /////////////////////////////////
// Table
sb.Length = 0;
sb.AppendFormat(URI_FORMAT_TABLE, NumberTable);
Uri UriTable =
new
Uri(sb.ToString(),
UriKind.Relative);
PackagePart
ppTable = package.GetPart(UriTable);
if (ppTable ==
null)
{
throw (new
NullReferenceException(ERR_PACKAGEPART_NOTFOUND
+ UriTable.ToString()));
}
XmlDocument
xmlDocTable = new
XmlDocument();
xmlDocTable.Load(ppTable.GetStream());
if (xmlDocTable.DocumentElement == null)
{
throw (new
NullReferenceException(ERR_XMLDOC_NOTLOAD
+ UriTable.ToString()));
} /////////////////////////////////////////////////////////
// Resolve SharedStrings in sheet
XsltArgumentList
xsltArgListSheet = new
XsltArgumentList();
XslCompiledTransform
xslTransSheet = new
XslCompiledTransform();
xslTransSheet.Load(XSLT_SHEET_FILE);
xsltArgListSheet.AddParam(«prmDocSharedStrings»,
«»,
xmlDocSharedStrings.CreateNavigator());
string
sOutXmlSheet = System.String.Empty;
sb.Length = 0;
using (TextWriter
twSheet = new
StringWriter(sb))
{
xslTransSheet.Transform(xmlDocSheet.CreateNavigator(), xsltArgListSheet,
twSheet);
sOutXmlSheet = sb.ToString();
} /////////////////////////////////////////////////////////
// Convert to html
XmlDocument
xmlDocSheetOut = new
XmlDocument();
xmlDocSheetOut.LoadXml(sOutXmlSheet);
XsltArgumentList
xsltArgListHtml = new
XsltArgumentList();
XsltSettings
xsltSettings = new
XsltSettings(false,
true);
XslCompiledTransform
xslTransHtml = new
XslCompiledTransform();
xslTransHtml.Load(XSLT_HTML_FILE, xsltSettings,
new
XmlUrlResolver());
xsltArgListHtml.AddParam(«prmDocTable»,
«»,
xmlDocTable.CreateNavigator());
string sOutHtml =
System.String.Empty;
sb.Length = 0;
using (TextWriter
twHtml = new
StringWriter(sb))
{
xslTransHtml.Transform(xmlDocSheetOut.CreateNavigator(), xsltArgListHtml,
twHtml);
sOutHtml = sb.ToString();
} /////////////////////////////////////////////////////////
// Write result as html-file
using (TextWriter
twOutHtml = new
StreamWriter(HtmlFile))
{
twOutHtml.Write(sOutHtml);
} package.Close();
package = null;
bResult = true;
}
catch (Exception
ex)
{
Console.WriteLine(«***
Error: « + ex.ToString());
}
if (bResult)
{
Console.WriteLine(«Convert
to html successfully completed!»);
}
Console.WriteLine(«Press
any key to continue…»);
Console.ReadKey();
if
(package !=
null)
{
package.Close();
package =
null;
}
}
}
}
Чтобы воспользоваться этим кодом в MS VS.NET 2005,
создайте консольное приложение на
C# с названием xlsx2html, в Solution Explorer в папку
References добавьте библиотеку C:Program FilesReference AssembliesMicrosoftFrameworkv3.0WindowsBase.dll,
а весь код в Program.cs замените вышеприведённым. В
используемых при этом xslt-файлах: extractXlsxData.xslt
и getHtml.xslt изменён способ подгруздки «дополнительных файлов»,
передаваемых через параметры. Чтобы адаптировать их на новые условия
использования, необходимо внести ряд изменений.
Так, в extractXlsxData.xslt фрагмент кода:
…
<xsl:param
name=«prmPathToSharedStringsFile«>
<xsl:text></xsl:text>
</xsl:param>
<xsl:variable
name=«varDocSharedStrings«>
<xsl:copy-of
select=«document(concat($prmPathToSharedStringsFile,
‘sharedStrings.xml’))«
/>
</xsl:variable>
…
следует изменить на
…
<xsl:param
name=«prmDocSharedStrings«
/>
…
и далее в тексте extractXlsxData.xslt все вхождения varDocSharedStrings
необходимо поменять на
prmDocSharedStrings
Аналогично, в файле getHtml.xslt фрагмент кода:
…
<xsl:param
name=«prmTableFile«>
<xsl:text>table1.xml</xsl:text>
</xsl:param> <xsl:variable
name=«varDocTable«>
<xsl:copy-of
select=«document($prmTableFile)«/>
</xsl:variable>
…
следует изменить на
…
<xsl:param
name=«prmDocTable«
/>
…
и далее в тексте getHtml.xslt все вхождения
varDocTable следует изменить на prmDocTable
Здесь у VFP-программиста может возникнуть
раздражение: мол чего C#-код приводить, если из-под
VFP его нельзя выполнить… и будет неправ… т.к.
использовать библиотеки классов из .NET Framework
из-под VFP всё-таки можно! Один из возможных вариантов
загрузки и использования .NET Framework-сборок описан
на
http://www.west-wind.com/WebLog/posts/104449.aspx — «Hosting the .NET Runtime in Visual FoxPro», by Rick Strahl . Там же можно загрузить весь код, обеспечивающий поддержку такого подхода. Смысл
предложенного в следующем:
1) Имеется возможность через небольшую прослойку C++кода (Unmanaged API) в
виде Win32API-dll (ClrHost.dll)
- загрузить некоторую/указанную .NET Framework-сборку
- создать экземпляр её некоторого класса
- получить IDispatch-интерфейс последнего и передать его клиенту
2) Rick также написал небольшой C#-код в виде
класса в .NET Framework-сборке (wwDotNetBridge.dll), позволяющего:
- создать экземпляр класса из указанной .NET Framework-сборки и передать его клиенту
- далее, клиент может используя эту ссылку обратиться к методам/свойствам экземпляра класса, через некоторый «обобщённый интерфейс» (серию Invoke-методов, реализованных в
This is somewhat a continuation on my previous post VBA – Convert XLS to XLSX in which I provided a simple little procedure to upgrade an older xls file to the newer xlsx file format.
I thought to myself, would it be nice to have a more versatile function that could migrate between various other common file formats.
So I set out to take my original function and transform it to enable to user to specify the desired output format and came up with a nice function that enabled anyone to converts Excel compatible files to another Excel compatible format.
Then I said to myself, it must be possible to do something similar for Word and set out to create a function that would enable people to convert file between the various Word compatible formats.
Below are the 2 functions I came up with.
Excel File Format Conversion Function
The following function can be used to convert files between:
- csv -> xlsx
- xls -> xlsx
- xls -> xlsm
- xls -> txt
- xlsx -> txt
- xlsx -> csv
- and so on…
Enum XlFileFormat 'Ref: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/xlfileformat-enumeration-excel xlAddIn = 18 'Microsoft Excel 97-2003 Add-In *.xla xlAddIn8 = 18 'Microsoft Excel 97-2003 Add-In *.xla xlCSV = 6 'CSV *.csv xlCSVMac = 22 'Macintosh CSV *.csv xlCSVMSDOS = 24 'MSDOS CSV *.csv xlCSVWindows = 23 'Windows CSV *.csv xlCurrentPlatformText = -4158 'Current Platform Text *.txt xlDBF2 = 7 'Dbase 2 format *.dbf xlDBF3 = 8 'Dbase 3 format *.dbf xlDBF4 = 11 'Dbase 4 format *.dbf xlDIF = 9 'Data Interchange format *.dif xlExcel12 = 50 'Excel Binary Workbook *.xlsb xlExcel2 = 16 'Excel version 2.0 (1987) *.xls xlExcel2FarEast = 27 'Excel version 2.0 far east (1987) *.xls xlExcel3 = 29 'Excel version 3.0 (1990) *.xls xlExcel4 = 33 'Excel version 4.0 (1992) *.xls xlExcel4Workbook = 35 'Excel version 4.0. Workbook format (1992) *.xlw xlExcel5 = 39 'Excel version 5.0 (1994) *.xls xlExcel7 = 39 'Excel 95 (version 7.0) *.xls xlExcel8 = 56 'Excel 97-2003 Workbook *.xls xlExcel9795 = 43 'Excel version 95 and 97 *.xls xlHtml = 44 'HTML format *.htm; *.html xlIntlAddIn = 26 'International Add-In No file extension xlIntlMacro = 25 'International Macro No file extension xlOpenDocumentSpreadsheet = 60 'OpenDocument Spreadsheet *.ods xlOpenXMLAddIn = 55 'Open XML Add-In *.xlam xlOpenXMLStrictWorkbook = 61 '(&;H3D) Strict Open XML file *.xlsx xlOpenXMLTemplate = 54 'Open XML Template *.xltx xlOpenXMLTemplateMacroEnabled = 53 'Open XML Template Macro Enabled *.xltm xlOpenXMLWorkbook = 51 'Open XML Workbook *.xlsx xlOpenXMLWorkbookMacroEnabled = 52 'Open XML Workbook Macro Enabled *.xlsm xlSYLK = 2 'Symbolic Link format *.slk xlTemplate = 17 'Excel Template format *.xlt xlTemplate8 = 17 ' Template 8 *.xlt xlTextMac = 19 'Macintosh Text *.txt xlTextMSDOS = 21 'MSDOS Text *.txt xlTextPrinter = 36 'Printer Text *.prn xlTextWindows = 20 'Windows Text *.txt xlUnicodeText = 42 'Unicode Text No file extension; *.txt xlWebArchive = 45 'Web Archive *.mht; *.mhtml xlWJ2WD1 = 14 'Japanese 1-2-3 *.wj2 xlWJ3 = 40 'Japanese 1-2-3 *.wj3 xlWJ3FJ3 = 41 'Japanese 1-2-3 format *.wj3 xlWK1 = 5 'Lotus 1-2-3 format *.wk1 xlWK1ALL = 31 'Lotus 1-2-3 format *.wk1 xlWK1FMT = 30 'Lotus 1-2-3 format *.wk1 xlWK3 = 15 'Lotus 1-2-3 format *.wk3 xlWK3FM3 = 32 'Lotus 1-2-3 format *.wk3 xlWK4 = 38 'Lotus 1-2-3 format *.wk4 xlWKS = 4 'Lotus 1-2-3 format *.wks xlWorkbookDefault = 51 'Workbook default *.xlsx xlWorkbookNormal = -4143 'Workbook normal *.xls xlWorks2FarEast = 28 'Microsoft Works 2.0 far east format *.wks xlWQ1 = 34 'Quattro Pro format *.wq1 xlXMLSpreadsheet = 46 'XML Spreadsheet *.xml End Enum '--------------------------------------------------------------------------------------- ' Procedure : XLS_ConvertFileFormat ' Author : Daniel Pineault, CARDA Consultants Inc. ' Website : http://www.cardaconsultants.com ' Purpose : Converts an Excel compatible file format to another format ' Copyright : The following is release as Attribution-ShareAlike 4.0 International ' (CC BY-SA 4.0) - https://creativecommons.org/licenses/by-sa/4.0/ ' Req'd Refs: Uses Late Binding, so none required ' ' Input Variables: ' ~~~~~~~~~~~~~~~~ ' sOrigFile : String - Original file path, name and extension to be converted ' lNewFileFormat: New File format to save the original file as ' bDelOrigFile : True/False - Should the original file be deleted after the conversion ' ' Usage: ' ~~~~~~ ' Convert an xls file into a txt file and delete the xls once completed ' Call XLS_ConvertFileFormat("C:TempTest.xls", xlTextWindows) ' Convert an xls file into a xlsx file and NOT delete the xls once completed ' Call XLS_ConvertFileFormat("C:TempTest.xls", False) ' Convert a csv file into a xlsx file and delete the xls once completed ' Call XLS_ConvertFileFormat("C:TempTest.csv", xlWorkbookDefault, True) ' ' Revision History: ' Rev Date(yyyy/mm/dd) Description ' ************************************************************************************** ' 1 2018-02-27 Initial Release ' 2 2020-12-31 Fixed typo xlDBF24 -> xlDBF4 '--------------------------------------------------------------------------------------- Function XLS_ConvertFileFormat(ByVal sOrigFile As String, _ Optional lNewFileFormat As XlFileFormat = xlOpenXMLWorkbook, _ Optional bDelOrigFile As Boolean = False) As Boolean '#Const EarlyBind = True 'Use Early Binding, Req. Reference Library #Const EarlyBind = False 'Use Late Binding #If EarlyBind = True Then 'Early Binding Declarations Dim oExcel As Excel.Application Dim oExcelWrkBk As Excel.Workbook #Else 'Late Binding Declaration/Constants Dim oExcel As Object Dim oExcelWrkBk As Object #End If Dim bExcelOpened As Boolean Dim sOrigFileExt As String Dim sNewXLSFileExt As String 'Determine the file extension associated with the requested file format 'for properly renaming the output file Select Case lNewFileFormat Case xlAddIn, xlAddIn8 sNewFileExt = ".xla" Case xlCSV, xlCSVMac, xlCSVMSDOS, xlCSVWindows sNewFileExt = ".csv" Case xlCurrentPlatformText, xlTextMac, xlTextMSDOS, xlTextWindows, xlUnicodeText sNewFileExt = ".txt" Case xlDBF2, xlDBF3, xlDBF4 sNewFileExt = ".dbf" Case xlDIF sNewFileExt = ".dif" Case xlExcel12 = 50 'Excel Binary Workbook *.xlsb sNewFileExt = ".xlsb" Case xlExcel2, xlExcel2FarEast, xlExcel3, xlExcel4, xlExcel5, xlExcel7, _ xlExcel8, xlExcel9795, xlWorkbookNormal sNewFileExt = ".xls" Case xlExcel4Workbook = 35 'Excel version 4.0. Workbook format (1992) *.xlw sNewFileExt = ".xlw" Case xlHtml = 44 'HTML format *.htm; *.html sNewFileExt = ".html" Case xlIntlAddIn, xlIntlMacro sNewFileExt = "" Case xlOpenDocumentSpreadsheet 'OpenDocument Spreadsheet *.ods sNewFileExt = ".ods" Case xlOpenXMLAddIn 'Open XML Add-In *.xlam sNewFileExt = ".xlam" Case xlOpenXMLStrictWorkbook, xlOpenXMLWorkbook, xlWorkbookDefault = 51 sNewFileExt = ".xlsx" Case xlOpenXMLTemplate 'Open XML Template *.xltx sNewFileExt = ".xltx" Case xlOpenXMLTemplateMacroEnabled 'Open XML Template Macro Enabled *.xltm sNewFileExt = ".xltm" Case xlOpenXMLWorkbookMacroEnabled 'Open XML Workbook Macro Enabled *.xlsm sNewFileExt = ".xlsm" Case xlSYLK 'Symbolic Link format *.slk sNewFileExt = ".slk" Case xlTemplate, xlTemplate8 ' Template 8 *.xlt sNewFileExt = ".xlt" Case xlTextPrinter 'Printer Text *.prn sNewFileExt = ".prn" Case xlWebArchive 'Web Archive *.mht; *.mhtml sNewFileExt = ".mhtml" Case xlWJ2WD1 'Japanese 1-2-3 *.wj2 sNewFileExt = ".wj2" Case xlWJ3, xlWJ3FJ3 'Japanese 1-2-3 format *.wj3 sNewFileExt = ".wj3" Case xlWK1, xlWK1ALL, xlWK1FMT 'Lotus 1-2-3 format *.wk1 sNewFileExt = ".wk1" Case xlWK3, xlWK3FM3 'Lotus 1-2-3 format *.wk3 sNewFileExt = ".wk3" Case xlWK4 'Lotus 1-2-3 format *.wk4 sNewFileExt = ".wk4" Case xlWKS, xlWorks2FarEast 'Lotus 1-2-3 format *.wks sNewFileExt = ".wks" Case xlWQ1 'Quattro Pro format *.wq1 sNewFileExt = ".wq1" Case xlXMLSpreadsheet 'XML Spreadsheet *.xml sNewFileExt = ".xml" End Select 'Determine the original file's extension for properly renaming the output file sOrigFileExt = "." & Right(sOrigFile, Len(sOrigFile) - InStrRev(sOrigFile, ".")) 'Start Excel On Error Resume Next Set oExcel = GetObject(, "Excel.Application") 'Bind to existing instance of Excel If Err.Number <> 0 Then 'Could not get instance of Excel, so create a new one Err.Clear On Error GoTo Error_Handler Set oExcel = CreateObject("Excel.Application") Else 'Excel was already running bExcelOpened = True End If On Error GoTo Error_Handler oExcel.ScreenUpdating = False oExcel.Visible = False 'Keep Excel hidden until we are done with our manipulation Set oExcelWrkBk = oExcel.Workbooks.Open(sOrigFile) 'Open the original file 'Save it as the requested new file format oExcelWrkBk.SaveAS Replace(sOrigFile, sOrigFileExt, sNewFileExt), lNewFileFormat, , , , False XLS_ConvertFileFormat = True 'Report back that we managed to save the file in the new format oExcelWrkBk.Close False 'Close the workbook If bExcelOpened = False Then oExcel.Quit 'Quit Excel only if we started it Else oExcel.ScreenUpdating = True oExcel.Visible = True End If If bDelOrigFile = True Then Kill (sOrigFile) 'Delete the original file if requested Error_Handler_Exit: On Error Resume Next Set oExcelWrkBk = Nothing Set oExcel = Nothing Exit Function Error_Handler: MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: XLS_ConvertFileFormat" & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" oExcel.ScreenUpdating = True oExcel.Visible = True 'Make excel visible to the user Resume Error_Handler_Exit End Function
Word File Format Conversion Function
The following function can be used to convert files between:
- doc -> docx
- docx -> dotx
- docx -> pdf
- docx -> html
- and so on…
Enum WdSaveFormat 'Ref: https://msdn.microsoft.com/en-us/vba/word-vba/articles/wdsaveformat-enumeration-word wdFormatDocument = 0 'Microsoft Office Word 97 - 2003 binary file format. wdFormatDOSText = 4 'Microsoft DOS text format. *.txt wdFormatDOSTextLineBreaks = 5 'Microsoft DOS text with line breaks preserved. *.txt wdFormatEncodedText = 7 'Encoded text format. *.txt wdFormatFilteredHTML = 10 'Filtered HTML format. wdFormatFlatXML = 19 'Open XML file format saved as a single XML file. ' wdFormatFlatXML = 20 'Open XML file format with macros enabled saved as a single XML file. wdFormatFlatXMLTemplate = 21 'Open XML template format saved as a XML single file. wdFormatFlatXMLTemplateMacroEnabled = 22 'Open XML template format with macros enabled saved as a single XML file. wdFormatOpenDocumentText = 23 'OpenDocument Text format. *.odt wdFormatHTML = 8 'Standard HTML format. *.html wdFormatRTF = 6 'Rich text format (RTF). *.rtf wdFormatStrictOpenXMLDocument = 24 'Strict Open XML document format. wdFormatTemplate = 1 'Word template format. wdFormatText = 2 'Microsoft Windows text format. *.txt wdFormatTextLineBreaks = 3 'Windows text format with line breaks preserved. *.txt wdFormatUnicodeText = 7 'Unicode text format. *.txt wdFormatWebArchive = 9 'Web archive format. wdFormatXML = 11 'Extensible Markup Language (XML) format. *.xml wdFormatDocument97 = 0 'Microsoft Word 97 document format. *.doc wdFormatDocumentDefault = 16 'Word default document file format. For Word, this is the DOCX format. *.docx wdFormatPDF = 17 'PDF format. *.pdf wdFormatTemplate97 = 1 'Word 97 template format. wdFormatXMLDocument = 12 'XML document format. wdFormatXMLDocumentMacroEnabled = 13 'XML document format with macros enabled. wdFormatXMLTemplate = 14 'XML template format. wdFormatXMLTemplateMacroEnabled = 15 'XML template format with macros enabled. wdFormatXPS = 18 'XPS format. *.xps End Enum '--------------------------------------------------------------------------------------- ' Procedure : Word_ConvertFileFormat ' Author : Daniel Pineault, CARDA Consultants Inc. ' Website : http://www.cardaconsultants.com ' Purpose : Converts a Word compatible file format to another format ' Copyright : The following is release as Attribution-ShareAlike 4.0 International ' (CC BY-SA 4.0) - https://creativecommons.org/licenses/by-sa/4.0/ ' Req'd Refs: Uses Late Binding, so none required ' ' Input Variables: ' ~~~~~~~~~~~~~~~~ ' sOrigFile : String - Original file path, name and extension to be converted ' lNewFileFormat: New File format to save the original file as ' bDelOrigFile : True/False - Should the original file be deleted after the conversion ' ' Usage: ' ~~~~~~ ' Convert a doc file into a docx file but retain the original copy ' Call Word_ConvertFileFormat("C:UsersDanielDocumentsResume.doc", wdFormatPDF) ' Convert a doc file into a docx file and delete the original doc once converted ' Call Word_ConvertFileFormat("C:UsersDanielDocumentsResume.doc", wdFormatPDF, True) ' ' Revision History: ' Rev Date(yyyy/mm/dd) Description ' ************************************************************************************** ' 1 2018-02-27 Initial Release '--------------------------------------------------------------------------------------- Function Word_ConvertFileFormat(ByVal sOrigFile As String, _ Optional lNewFileFormat As WdSaveFormat = wdFormatDocumentDefault, _ Optional bDelOrigFile As Boolean = False) As Boolean '#Const EarlyBind = True 'Use Early Binding, Req. Reference Library #Const EarlyBind = False 'Use Late Binding #If EarlyBind = True Then 'Early Binding Declarations Dim oWord As Word.Application Dim oDoc As Word.Document #Else 'Late Binding Declaration/Constants Dim oWord As Object Dim oDoc As Object #End If Dim bWordOpened As Boolean Dim sOrigFileExt As String Dim sNewFileExt As String 'Determine the file extension associated with the requested file format 'for properly renaming the output file Select Case lNewFileFormat Case wdFormatDocument sNewFileExt = "." Case wdFormatDOSText, wdFormatDOSTextLineBreaks, wdFormatEncodedText, wdFormatOpenDocumentText, wdFormatText, wdFormatTextLineBreaks, wdFormatUnicodeText sNewFileExt = ".txt" Case wdFormatFilteredHTML, wdFormatHTML sNewFileExt = ".html" Case wdFormatFlatXML, wdFormatXML, wdFormatXMLDocument sNewFileExt = ".xml" Case wdFormatFlatXMLTemplate sNewFileExt = "." Case wdFormatFlatXMLTemplateMacroEnabled sNewFileExt = "." Case wdFormatRTF sNewFileExt = ".rtf" Case wdFormatStrictOpenXMLDocument sNewFileExt = "." Case wdFormatTemplate sNewFileExt = "." Case wdFormatWebArchive sNewFileExt = "." Case wdFormatDocument97 sNewFileExt = ".doc" Case wdFormatDocumentDefault sNewFileExt = ".docx" Case wdFormatPDF sNewFileExt = ".pdf" Case wdFormatTemplate97 sNewFileExt = "." Case wdFormatXMLDocumentMacroEnabled sNewFileExt = ".docm" Case wdFormatXMLTemplate sNewFileExt = ".doct" Case wdFormatXMLTemplateMacroEnabled sNewFileExt = "." Case wdFormatXPS sNewFileExt = ".xps" End Select 'Determine the original file's extension for properly renaming the output file sOrigFileExt = "." & Right(sOrigFile, Len(sOrigFile) - InStrRev(sOrigFile, ".")) 'Start Excel On Error Resume Next Set oWord = GetObject(, "Word.Application") 'Bind to existing instance of Word If Err.Number <> 0 Then 'Could not get instance of Word, so create a new one Err.Clear On Error GoTo Error_Handler Set oWord = CreateObject("Word.Application") Else 'Word was already running bWordOpened = True End If On Error GoTo Error_Handler oWord.Visible = False 'Keep Word hidden until we are done with our manipulation Set oDoc = oWord.Documents.Open(sOrigFile) 'Open the original file 'Save it as the requested new file format oDoc.SaveAs2 Replace(sOrigFile, sOrigFileExt, sNewFileExt), lNewFileFormat Word_ConvertFileFormat = True 'Report back that we managed to save the file in the new format oDoc.Close False 'Close the document If bWordOpened = False Then oWord.Quit 'Quit Word only if we started it Else oWord.Visible = True 'Since it was already open, ensure it is visible End If If bDelOrigFile = True Then Kill (sOrigFile) 'Delete the original file if requested Error_Handler_Exit: On Error Resume Next Set oDoc = Nothing Set oWord = Nothing Exit Function Error_Handler: MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: XLS_ConvertFileFormat" & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" oWord.Visible = True 'Make excel visible to the user Resume Error_Handler_Exit End Function
Missing File Extensions
Unlike the Excel function, the Word function is currently missing some of the file extensions. I created the general framework, but could not easily find the associated file extensions to some of the file format. You need only complete the missing entry and it will work. So simply update the
sNewFileExt = "."
entries as applicable.
Формат эксель
Расширение файлов Excel .xls и .xlsx
Файл с расширением *.xls — это формат всех файлов версии Excel 2003 и раньше. Он имеет меньше возможностей, работает медленнее.
Файл с расширением *.xlsx — это формат подавляющего большинства файлов Excel на настоящий момент, используется начиная с версии Microsoft Office 2007.
в большинстве случаев сохранение книги происходит в текущем формате xlsx, но чтобы файл можно было открыть в Excel 2003 или более ранней версии Excel необходимо при сохранении сделать следующее:
открыть файл который необходимо сохранить → Файл → Сохранить как
в появившемся окне выбираем куда необходимо сохранить файл → указываем имя → и тип файла «Книга Excel 97-2003»
Существуют прочие форматы:
Расширение *.xlsm — Расширение файлов Excel 2007 и выше. Способен хранить в себе макросы т.е. программный код на языке VBA (Visual Basic for Applications).
Расширение *.xlsb — говоря откровенно, это самый лучший формат Excel. И это не субъективно. Это расширение позволяет уменьшает размер файла примерно в два раза, а убыстряет его где-то в полтора раза. Дело в том что, это документ хранящий информацию в бинарном коде, что позволяет быстрее работать с форматом .XML. Расширение просто не заменимо когда вы работаете с файлом с десятками тысяч строк, чтобы ускорить его. Почему тогда все не пользуются этим форматом? Потому что ни один редактор не сможет открыть его, только excel, т.е. теряется универсальность.
Расширение *.xltx — это формат для сохранения шаблонов. Макросы не сохраняет — для этого есть формат *.xltm — тоже самое, но с макросами.
Расширения *.xlam и *.xla — форматы для cохранения надстроек в 2007 и выше и 2003 и ниже соответственно.
Формат .xlс — формат для сохранения диаграмма в excel 2003. Больше не поддерживается новыми версиями. Так же как и форматы WK1 и выше, как форматы отмирающей Lotus 1-2-3.
Пользовательские форматы в Excel
При необходимости Вы можете легко добавить к стандартным числовым форматам Excel свои собственные. Для этого выделите ячейки, к которым надо применить пользовательский формат, щелкните по ним правой кнопкой мыши и выберите в контекстном меню команду Формат ячеек (Format Cells) — вкладка Число (Number) , далее — Все форматы (Custom) :
В появившееся справа поле Тип: введите маску нужного вам формата из последнего столбца этой таблицы:
Как это работает.
На самом деле все очень просто. Как Вы уже, наверное, заметили, Excel использует несколько спецсимволов в масках форматов:
- 0 (ноль) — одно обязательное знакоместо (разряд), т.е. это место в маске формата будет заполнено цифрой из числа, которое пользователь введет в ячейку. Если для этого знакоместа нет числа, то будет выведен ноль. Например, если к числу 12 применить маску 0000, то получится 0012, а если к числу 1,3456 применить маску 0,00 — получится 1,35.
- # (решетка) — одно необязательное знакоместо — примерно то же самое, что и ноль, но если для знакоместа нет числа, то ничего не выводится
- (пробел) — используется как разделитель групп разрядов по три между тысячами, миллионами, миллиардами и т.д.
- [ ] — в квадратных скобках перед маской формата можно указать цвет шрифта. Разрешено использовать следующие цвета: черный, белый, красный, синий, зеленый, жёлтый, голубой.
Плюс пара простых правил:
- Любой пользовательский текст (кг, чел, шт и тому подобные) или символы (в том числе и пробелы) — надо обязательно заключать в кавычки.
- Можно указать несколько (до 4-х) разных масок форматов через точку с запятой. Тогда первая из масок будет применяться к ячейке, если число в ней положительное, вторая — если отрицательное, третья — если содержимое ячейки равно нулю и четвертая — если в ячейке не число, а текст (см. выше пример с температурой).
Как в Эксель расширение файла выбрать: полезные советы
Привет, друзья. Сегодня хочу поговорить о форматах файлов Excel. Когда вы сохраняете рабочую книгу, программа предлагает вам выбрать формат, в котором будет храниться файл. Как выбрать подходящий, а какой выбирать не нужно? Чтобы сделать правильный выбор – читайте этот пост.
Важно знать, что файл Excel 2007 и более поздних версий кардинально отличается от ранних версий программы. Например, документ Microsoft Excel 2003 имел расширение xls, но, начиная с пакета Microsoft Office 2007, разработчики обновили программу, дали ей новый интерфейс и расширение xlsx. Файлы старого образца в материалах этого блога я не буду затрагивать, а вот обновленный – рассмотрим подробно.
Конвертер xlsx в xls
Файлы нового образца старые версии Excel открыть не могут. Если вы используете MS Excel в редакции более ранней, чем Office 2007, разработчики предлагают вам пакет совместимости, который позволит открывать книги с расширением xlsx и сохранять подобные документы. К сожалению, это не расширяет функционал программы, и вам не будут доступны обновленные инструменты. Тем не менее, мы получаем возможность открыть любой документ, независимо от версии Майкрософт Офис.
Выбираем формат файла Excel
Как я уже говорил ранее, при сохранении рабочей книги, вы можете выбрать формат файла, и сейчас я опишу самые популярные из них (на примере Microsoft Excel 2013):
Формат файла Excel
- Книга Excel – сохраняет документ с расширением xlsx без поддержки макросов. Если в рабочей книге есть макросы – они удаляются. Самый обычный документ Excel
- Книга Excel с поддержкой макросов – сохраняет в формате xlsm, макросы разрешены
- Двоичная книга Excel – выбирайте этот пункт, если у вас огромный файл, который вы будете использовать только в Эксель. Такие книги быстрее загружаются, занимают меньше места на жёстком диске, но могут быть проблемы в совместной работе с другими приложениями
- Книга Excel 97-2003 – документ старого формата с расширением xls. Применяйте, если файл будет использоваться в Excel старше, чем 2007
- XML-данные – сохраняется в формате XML, если такая информация есть на рабочих листах
- PDF – сохраняет вашу табличку в формате PDF, что удобно, например, для электронной рассылки
Другие типы файлов применяются реже, можете спрашивать о них в комментариях, отвечу на ваши вопросы.
Хочу добавить, что файлы xlsx занимают на жёстком диске на порядок меньше места, чем xls. Если вы используете MS Office 2007 или новее, можно сохранить документы xls в новом формате, чтобы сэкономить дисковое пространство.
Проверка совместимости файлов Эксель
Когда вы используете Microsoft Excel нового образца (начиная с Office 2007), а сохраняете файл в устаревшем формате xls, некоторые элементы расчетов или оформления могут быть потеряны, т.к. их не поддерживают предыдущие версии программы. Поэтому, перед каждым подобным сохранением пользуйтесь проверкой совместимости
Проверка совместимости файлов Эксель
Для этого, выполните Файл – Сведения – Проверка книги – Проверка совместимости . Программа отобразит окно со списком функций, которые не поддерживается, в комментарии будет указано, как себя поведёт программа, если не принять мер по обеспечению совместимости.
Если программа нашла ошибки совместимости – вам нужно на них отреагировать. Вы можете заменить неподдерживаемые формулы и функции, либо удалить их. Если оставить всё, как есть – это может изменить результаты расчетов и привести к серьёзным ошибкам.
Окно проверки совместимости
Правильный выбор типа файла при сохранении позволит вам избежать проблем совместимости и потери данных.Я рекомендую не использовать Excel старого образца и, тем более, не сохранять свои проекты в их форматах. Пожалуй, порекомендую делать проверку совместимости для всех документов, ведь с каждой новой редакцией программы, добавляются новые функции. Например, если вы пользуетесь срезами в Excel 2013, то Эксель 2007 и 2010 этот инструмент не поддерживают, у вас будут проблемы. Главное — инструмент проверки даёт все возможности оценить возможные сложности с открытием в других версиях программы.
На этом я закончу рассматривать типы файлов Эксель. Если у вас остались вопросы по теме поста – пишите в комментариях, постараюсь ответить быстро.
Спасибо за прочтение этой статьи. Следующий пост будет о защищенном режиме просмотра. Обязательно прочтите, от этого зависит безопасное использование вашей информации!
Сменить формат файлов
Данная функция является частью надстройки MulTEx
- Описание, установка, удаление и обновление
- Полный список команд и функций MulTEx
- Часто задаваемые вопросы по MulTEx
- Скачать MulTEx
Вызов команды:
MulTEx -группа Книги/Листы —Книги —Сменить формат файлов
Команда изменяет формат для всех отобранных файлов на указанный. При этом команда может создать копию файла или заменить формат у исходного файла, а так же применить к каждому файлу указанный макрос из любой выбранной книги.
Для чего это может быть нужно: некоторые программы и макросы позволяют работать исключительно с определенными форматами файлов. А в жизни далеко не всегда все файлы в одном формате. Так же эту команду можно применить для удаления макросов из всех указанных книг. Все книги, макросы в которых необходимо удалить, помещаются в одну папку. Далее запускается эта команда, выбирается формат «xlsx — книга Excel без поддержки макросов» и выполняется. Все файлы будут сохранены в этом формате. После этого можно будет файлы пересохранить и в иной формат(xls, например). Но макросов там уже точно не будет.
Изменение формата данной командой применимо исключительно к файлам Excel и не может быть использовано для изменения форматов файлов других программ (OpenOffice, Paint и т.п.).
Просматривать файлы:
-
Все в выбранной папке — после нажатия кнопки ОК будет предложено выбрать папку с файлами. Форматы всех файлов в этой папке будут изменены на указанный.
-
включая подпапки — доступно для пункта Все в выбранной папке. Если установлен, то файлы будут просматриваться не только в указанной папке, но и во всех вложенных в неё папках до самой глубоко вложенной. Если отключен, то файлы будут просматриваться исключительно в указанной папке.
Только выбранные — после нажатия кнопки ОК будет предложено выбрать группу файлов или файл(несколько файлов можно выделять, зажав клавишу Shift или Ctrl). Форматы всех выбранных файлов будут изменены на указанный.
Изменять формат файлов: — включить, если надо изменять формат файлов. Если отключен, то формат файлов не изменяется. Это можно использовать если необходимо лишь применить для группы файлов определенный макрос, не изменяя сами форматы.
-
Сохранить все файлы в формат — выбирается формат файлов, который будет назначен выбранным файлам после выполнения команды. Доступно девять форматов:
- xlsx — книга Excel без поддержки макросов
- xlsm — книга Excel с поддержкой макросов
- xlsb — двоичная книга Excel (с поддержкой макросов)
- xlam — надстройка Excel
- xltx — шаблон Excel
- xltm — шаблон Excel с поддержкой макросов
- xls — книга Excel (97-2003)
- xla — надстройка Excel (97-2003)
- xlt — шаблон Excel (97-2003)
Все форматы стандартны для Excel
Если файл существует — опция предназначена для возможности выбора действий при возникновении конфликтов создания файлов, которые возникают при наличии такого файла в папке. Что это значит. Если программа должна изменить формат файла «Книга1.xlsx» на «Книга1.xlsm», но файл «Книга1.xlsm» уже существует в папке с исходными файлами — программа может либо заменить существующий файл, либо оставить его и ничего не преобразовывать. И в таких ситуациях Вы можете выбрать как должна поступить программа:
- Запрос действия — если файл уже есть в папке, то программа выдаст сообщение с именем файла и спросит, что необходимо сделать: заменять этот файл или пропустить
- Перезаписывать без запроса — если файл уже есть в папке, то программа перезапишет этот файл, заменив его новым
- Пропустить — если файл уже есть в папке, то программа ничего не будет с ним делать, но и не станет изменять формат исходного файла. Исходный файл при этом не удаляется
Сохранять исходные файлы — если установлен, то при смене формата исходные файлы(формат которых меняется) не удаляются, а остаются в той же папке. Смена формата в таком случае происходит на копиях исходных файлов. Если среди просматриваемых файлов есть файлы, формат которых совпадает с указанным в пункте Сохранить все файлы в формат, то файлы не пересохраняются. Если при этом указано Применить к каждому файлу код(макрос), то код все равно будет применен.
Применить к каждому файлу код(макрос) — если установлен, необходимо выбрать книгу, содержащую макросы. Ниже появится список доступных для выполнения макросов. Можно выбрать один любой макрос, который будет выполнен для каждой просматриваемой книги. В поле попадают только те макросы, которые не содержат обязательных передаваемых аргументов.
-
после выполнения кода
Примечание: применяя данную команду следует убедиться, что у Вас есть все права на запись и изменение файлов в указанных папках. Так же следует осторожно выбирать форматы и файлы — операции по изменению формата необратимы и во избежание потери данных рекомендуется пробовать функционал команды на копиях файлов. В случае утери каких-либо данных вследствие неосмотрительного применения данной команды автор надстройки никакой ответственности не несет
Расширение файла представляет собой группу букв, которые появляются после последнего периода в имени файла. Расширения файлов длиной от 2 до 4 символов и связаны с форматом файла . Давайте узнаем о различных типах расширений файлов, которые использует Excel, и о том, как изменять файлы из одного формата в другой.
Заметка: Информация в этой статье относится к Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel Online и Excel для Mac.
XLS против XLSX
Текущее расширение файла по умолчанию для файла Excel — XLSX. До Excel 2007 расширение по умолчанию было XLS. Основное различие между ними заключается в том, что XLSX представляет собой открытый формат файла на основе XML, а XLS — это собственный формат Microsoft. Но, новые версии Excel сохраняют и открывают файлы XLS для совместимости с более ранними версиями программы.
Определите, содержит ли файл макросы перед его открытием. Макросы могут содержать вредоносный код, который может повредить файлы и поставить под угрозу безопасность компьютера. Файлы Excel, содержащие макросы VBA и XLM, используют расширение XLSM.
XML и HTML
XML означает расширяемый язык разметки. XML связан с HTML (язык разметки гипертекста), расширение, используемое для веб-страниц. Преимущества этого формата файла:
- Меньшие размеры файлов для хранения и передачи.
- Лучшее восстановление информации из поврежденных файлов.
- Более легкое обнаружение файлов, содержащих макросы.
XLTX и XLTM
Если файл Excel имеет либо XLTX, либо XLTM-расширение, он сохраняется как файл шаблона. Файлы шаблонов используются в качестве стартовых файлов для новых книг. Шаблоны содержат сохраненные настройки, такие как количество листов по умолчанию для каждой книги, форматирование, формулы, графика и пользовательские панели инструментов. Разница между двумя расширениями заключается в том, что формат XLTM может хранить VBA и XML макрокоманда.
Excel для Mac
Компьютеры Macintosh не полагаются на расширения файлов, чтобы определить, какую программу использовать при открытии файла. Однако, ради совместимости с Windows версии программы, Excel для Mac использует расширение XLSX.
Файлы Excel, созданные в одной операционной системе, могут быть открыты другим. Исключением является Excel 2008 для Mac, который не поддерживает макросы VBA. В результате он не может открыть файлы XLMX или XMLT, созданные в Windows или более поздних версиях Mac, поддерживающих макросы VBA.
Изменение форматов файлов с помощью Save As
Чтобы изменить формат файла Excel (и его расширение), выполните следующие действия:
-
Откройте книгу, которую вы хотите сохранить в другом формате.
-
Выбрать файл.
-
Выбрать Сохранить как, За исключением Excel 2019, где вы выбираете Сохрани копию.
-
В диалоговом окне примите предложенное имя файла или введите новое имя для книги.
-
В формате «Сохранить как» или «Формат файла» список, выберите формат файла, который вы хотите использовать для сохранения файла.
-
Выбрать Сохранить для сохранения файла в новом формате и возврата к текущему листу.
Если файл сохраняется в формате, который не поддерживает все функции текущего формата, такие как форматирование или формулы, появляется окно предупреждения. Вам предоставляется возможность отменить и вернуться в диалоговое окно «Сохранить как».
Поддерживаемые Excel форматы файлов
Смотрите также продвигаемся с помощьюПосле этого появится точно операционной системе Windows. Excel. нужно в нейСохранение форматов используйте стрелки. в Excel 2013 компьютере и приTXT макросов для шаблонов в конце этойДиаграмма ExcelГлавная
Сохраняется только активныйXMLФайл Excel можно сохранить Проводника Windows или такое же окноПосле активирования окна открытия
Проблема с расширением имени оставить, а выв разделеПримечание:Указанные ниже форматы файлов его печати будетСохраняет книгу в виде Excel в приложениях статьи.WK1, WK2, WK3, WK4,, группа лист.Формат файлов XML-таблиц 2003 в другом формате. любого иного файлового открытия, о котором достаточно передвинуться в файла может возникнуть, хотите сохранить ееСохранение книг В зависимости от типа больше не поддерживаются,
Форматы файлов Excel
сохранено исходное форматирование |
текста в кодировке |
Excel 2007—2013. В |
Откройте книгу, которую вы |
WKS |
Буфер обменаCSV (Macintosh) (XMLSS). Для этого на менеджера в тот был разговор выше. тот каталог, где если книга, которую как шаблон, выберитев поле активного листа (лист |
поэтому вы не и данные файла |
Unicode, стандартной кодировке |
этом формате можно хотите сохранить.Форматы файлов Lotus 1-2-3, кнопкаCSVДанные XML Data вкладке каталог, где размещен Для того, чтобы |
размещен нужный нам |
вы пытаетесь открыть, |
формат XLTM.Сохранять файлы в следующем книги, лист диаграммы |
сможете открыть файлы |
нельзя будет легко |
символов, разработанном Unicode сохранять код макросовНа вкладке (все версии)ВставитьСохраняет книгу в видеXMLФайл файл с расширением |
запустить XLS в |
файл, имеющий расширение |
не читается иЕсли вы хотите сохранить формате или другие типы этих форматов или изменить. Consortium. VBA и листыФайлMicrosoft Works |
) можно вставить данные |
текстового файла с |
Формат данных XML.выберите пункт |
XLS. Отмечаем данный |
нем, нужно произвести |
XLS, выделить его ее содержимое не книгу в текущемвыберите тот формат |
листов) будут доступны |
сохранять файлы в |
Форматы файлов, использующие буферCSV (разделители — запятые) |
макросов Excel 4.0 |
выберите команду |
WKS перечисленных ниже форматов. |
разделителями-запятыми для использования |
Надстройка Microsoft Excel |
Сохранить как |
объект и, зажав |
аналогичные действия. |
название и нажать соответствует ожидаемому формату формате книги Excel, файла, который вы разные форматы файлов этих форматах. обменаCSV (XLM).Сохранить какФормат файлов Microsoft Works |
Формат |
в операционной системе |
XLAM. Форматы файлов, доступные левую кнопку мышки,Следующим вариантом открыть книгу на кнопку |
файла. Если книга |
выберите формат XLSX. |
хотите использовать по для сохранения.Для работы с даннымиЕсли вы скопировали данныеСохраняет книгу в видеКнига Excel 97—2003. (все версии)Расширение Macintosh и гарантирует, |
Формат файлов надстроек Excel |
в диалоговом окне |
просто перетягиваем его XLS является приложение,«Открыть» повреждена, попробуйте восстановитьЕсли вы хотите сохранить умолчанию. |
Форматы текстовых файлов
Совет: |
книги в программе, |
в буфер обмена |
текстового файла, разделенногоXLS |
В разделе |
DBF 2Идентификаторы типа буфера обмена что символы табуляции, 2010 и Excel |
Сохранение документа в окно File |
которое тоже называется |
. ее, прежде чем книгу в новомКоманду Дополнительные сведения о сохранении которая больше не в одном из знаками запятой, —Формат двоичных файлов ExcelМестаDBF |
Рисунок |
разрывы строк и |
2007 на основе, зависят от типа Viewer. Calc, но входитТаблица будет тут же открывать. Сведения о двоичном формате файла,Сохранить как книги в файл поддерживается, попробуйте выполнить следующих форматов файлов, |
для использования в |
97 — Excel |
выберите расположение, гдеФормат файла DBASE IIWMF или EMF другие знаки будут XML с поддержкой активного листа (обычныйДокумент тут же будет в офисный пакет запущена через интерфейс том, как восстановить выберите формат XLSB. |
нельзя вывести на |
формата PDF или |
указанные ниже действия. вы можете вставить другой операционной системе 2003 (BIFF8). нужно сохранить книгу. |
WQ1 |
Рисунки в формате Windows |
интерпретироваться правильно. Сохраняется макросов. Надстройка — лист, лист диаграммы доступен для просмотра Apache OpenOffice. Данная Эксель в режиме поврежденную книгу, см.Дополнительные сведения о форматах ленту в виде XPS см. вНайти в Интернете компанию, |
их в Excel, |
Windows — и |
Шаблон Excel 97- Excel Например, выберитеWQ1 Metafile (WMF) или только активный лист. это программа, обеспечивающая или другой тип в File Viewer. программа также является совместимости. Данный режим |
в статье Восстановление |
файлов см. в |
кнопки. Однако вы статье Сохранение в выпускающую конвертеры файлов используя команду гарантирует, что символы 2003OneDriveФормат файла Quattro Pro Windows Enhanced MetafileCSV (MS-DOS) |
возможность выполнения дополнительного |
листа). |
Есть возможность запустить файл бесплатной и свободной. |
предполагает использование только |
поврежденной книги. |
статье Поддерживаемые Excel можете добавить ее |
формате PDF или для форматов, неВставка табуляции, разрывы строкXLT
Другие форматы файлов
, чтобы сохранить файл |
для MS-DOS |
(EMF). |
CSV |
кода. Позволяет использовать |
Примечание: и через окно Она тоже поддерживает тех инструментов, работуЕсли это сообщение отображается форматы файлов. на панель быстрого |
XPS. |
поддерживаемых Excel. |
или и другие символыФормат двоичных файлов Excel в веб-хранилище, илиWB1, WB3ПримечаниеСохраняет книгу в виде проекты VBA и При сохранении файла в открытия. все манипуляции с с которыми поддерживает при попытке открытьНажмите кнопку доступа.Любой файл, который открывается |
Сохраните книгу в другом |
Специальная вставка |
будут интерпретироваться правильно. 97 — ExcelКомпьютерWB1, WB3 При копировании метафайла Windows текстового файла с листы макросов Excel другом формате можетЗапустив File Viewer, жмем документами XLS (просмотр, формат XLS, а книгу, полученную поСохранитьЩелкните стрелку раскрывающегося списка в Excel 2007 и формате файла, который( Сохраняет только активный |
2003 (BIFF8) для |
, чтобы сохранить файл |
Quattro Pro 5.0 и (WMF) из другой разделителями-запятыми для использования 4.0 (XLM). быть утрачена часть сочетание кнопок редактирование, сохранение). не всех возможностей электронной почте из. на панели быстрого более поздних версий, можно открыт вГлавная лист. |
Форматы файлов, использующие буфер обмена
хранения шаблонов Excel. в локальной папке, 7.0 для Windows. программы Microsoft Excel в операционной системеНадстройка Excel 97—2003 форматирования, данных иCtrl+OСкачать Apache OpenOffice бесплатно современных версий Эксель. надежного источника, выВы можете изменить тип доступа и выберите можно сохранить в другой программе. Например
> |
CSV (Макинтош) |
Книга Microsoft Excel 5.0/95 |
такой как |
Кроме того, в Excel |
вставляет рисунок в MS-DOS и гарантирует,XLA возможностей. .Механизм открытия файла тутКроме того, если у не сможете открыть файла, используемого поДругие команды текущем формате книги |
сохраните книгу в |
Буфер обмена |
CSVXLS |
Документы |
Starter больше не |
виде расширенного метафайла что символы табуляции,Надстройка Excel 97-2003, дополнительнаяЧтобы открыть файл, созданныйЛибо же выполняем переход |
очень похож на |
вас на компьютере |
ее из почтового |
умолчанию при сохранении |
. |
Excel (XSLX). Таким |
электронную таблицу XML> |
Сохраняет книгу в виде |
Формат двоичных файлов Excel. поддерживаются форматы файлов, |
(EMF). |
разрывы строк и |
программа, предназначенная для |
в другом формате в пункт верхнего |
предыдущий способ. Вслед |
установлен пакет Microsoft |
приложения. Попросите пользователя, |
книги.Убедитесь, что в поле |
образом вы сможете или текстовый форматВставка текстового файла, разделенного 5.0/95 (BIFF5).В диалоговом окне |
указанные ниже. Открывать |
Точечный рисунок другие знаки будут |
выполнения дополнительного кода. (в более ранней |
горизонтального меню |
за запуском стартового |
Office и вы приславшего книгу, отправить |
Нажмите |
Выбрать команды из |
воспользоваться новыми возможностями, |
файла, который может |
). |
знаками запятой, —Таблица XML 2003Сохранение документа такие файлы илиBMP интерпретироваться правильно. Сохраняется Поддерживает использование проектов версии Excel или«File» окна Apache OpenOffice не вводили изменения ее вам в |
кнопку Microsoft Office |
выбраны |
которые не поддерживаются поддерживаться в другойФормат для использования вXMLперейдите в нужное сохранять файлы вРисунки, сохраненные в растровом |
Форматы файлов, не поддерживаемые в Excel
только активный лист. VBA. в другой программе),. Далее выбираем в щелкаем по кнопке в список программ формате двоичной книги, а затем —Часто используемые команды
в файлах других |
программе. |
Расширение |
операционной системе Макинтош |
Формат файлов XML-таблиц 2003 |
расположение. этих форматах невозможно. |
формате (BMP). |
DIFКнига Excel 4.0 |
откройте вкладку списке позицию |
«Открыть…» |
по умолчанию для |
Excel (XLSB) или кнопку |
. |
форматов. |
Формат |
Идентификаторы типа буфера обмена |
— и гарантирует, |
(XMLSS).В списке |
Формат |
Форматы файлов Microsoft Excel |
DIFXLW |
Форматы файлов, не поддерживаемые в Excel Starter
Файл«Open…». открытия типов файлов, книги Excel 97–2003Параметры ExcelНайдите в списке кнопку
Примечание: |
Расширение |
Рисунок |
что символы табуляции, |
Данные XML Data |
Тип файла |
Расширение |
XLS |
Формат обмена данными. Сохраняет |
Формат файла Excel 4.0, |
и выберите команду |
. |
Можно воспользоваться верхним меню, |
то запустить книгу |
Открытие и просмотр файлов в неподдерживаемых форматах
(XLS). Кроме того,.Сохранить как При сохранении книги, созданнойИдентификаторы типа буфера обмена
-
WMF или EMF разрывы строк иXMLвыберите нужный формат.
-
Надстройка Excel 97—2003Двоичные форматы файлов для только активный лист. в котором сохраняютсяОткрытьПри выборе любого из выбрав в нем
См. также:
XLS в Excel вы можете сохранитьВ категориии выберите ее.
support.office.com
Сохранение книги в другом формате файла
в более раннейДиаграмма ExcelРисунки в формате Windows другие символы будутФормат данных XML. При необходимости используйтеXLA Excel версий 5.0/95SYLK только обычные листы,. Книги Excel 97—2003 этих двух вариантов позицию можно просто произведя вложенную книгу наСохранениеНажмите кнопку версии Excel, вXLC Metafile (WMF) или интерпретироваться правильно. СохраняетНадстройка Microsoft Excel
стрелки для прокруткиНадстройка Microsoft Excel (BIFF5), Excel 97—2003SLK листы диаграмм и автоматически открываются в действий запустится стандартное«Файл» двойной щелчок по своем компьютере ив разделеДобавить формате книги Excel 2007Форматы файлов Excel 2.0, Windows Enhanced Metafile только активный лист.XLAM и выбора форматовXLAM (BIFF8) и приложения
Формат Symbolic Link. Сохраняет макросов. В приложении режиме совместимости. Чтобы
окно открытия файлов., а затем в наименованию соответствующего документа открыть ее вСохранение книг. и более поздних 3.0 и 2.x (EMF).CSV (MS-DOS)
-
Формат файлов надстроек Excel файлов, которые не
-
Имя источника данных Excel 2010 (BIFF12). только активный лист. Excel 2010 можно получить доступ ко
-
Как и при открывшемся перечне перейдя в Проводнике Windows приложении Excel.в полеКнигу Microsoft Office Excel версий некоторые возможностиWK1, FMT, WK2, WK3,Примечание:CSV 2007—2013 на основе видны в списке.DSNSYLK
-
Примечание: открыть книгу в всем новым возможностям его использовании в
-
по названию или в другомФайлы формата XLS являютсяСохранять файлы в следующем 2007 можно сохранить и часть форматирования FM3, WK4 Если вы скопируете метафайл
Сохраняет книгу в виде XML с поддержкойПримечание:База данных Access MDESLK При сохранении книги в
-
этом формате, но Excel 2010, сохраните предыдущих приложениях, следует«Открыть» файловом менеджере.
Преобразование книги Excel 97—2003 в текущий формат файла
электронными таблицами. Наравне формате в файле другого могут быть потеряны..WK1, .WK2, .WK3, .WK4, Windows (WMF) из текстового файла, разделенного макросов. Надстройка —
-
Список доступных форматов файловMDEФормат Symbolic Link. любом текстовом формате сохранить в нем
-
эту книгу в перейти в каталог,.
Поддерживаемые Excel форматы файлов
Открыть книгу XLS можно с XLSX ивыберите тот формат формата. Вы можете Сведения о неподдерживаемых
.WKS
другой программы, Microsoft |
знаками запятой, — |
это программа, обеспечивающая |
зависит от типа |
Подключение к данным Office |
DIF теряются все элементы файл Excel нельзя. формате Excel 2010. где располагается документНаконец, есть возможность просто также при помощи ODS, указанный формат файла, который вы сохранить ее в |
функциях Excel 97–2003 см. |
Форматы файлов Lotus 1-2-3 |
Excel вставит рисунок для использования в возможность выполнения дополнительного |
активного листа в |
ODC |
DIF форматирования.Works 6.0—9.0 Однако можно продолжать с расширением XLS, набрать комбинацию на приложения Calc, являющегося входит в число |
хотите использовать по |
формате предыдущих версий, |
в статье Использование (все версии) |
в виде расширенного |
операционной системе MS-DOS |
кода. Позволяет использовать книге (лист, листФайл канала передачи данныхФормат обмена данными.ФорматXLR работать в режиме |
который подлежит открытию. |
клавиатуре |
частью свободного офисного наиболее популярных представителей умолчанию. в формате текстового Excel с болееMicrosoft Works метафайла (EMF). — и гарантирует, проекты VBA и |
диаграммы или другой). |
UDL |
Текст (разделители — знакиРасширениеТаблица, сохраненная в приложении |
совместимости, сохраняя исходный Нужно выделить его |
Ctrl+O |
пакета LibreOffice. Calc группы табличных документов.В пользовательском интерфейсе Microsoft файла, а также |
ранними версиями Excel. |
.WKS |
Точечный рисунок что символы табуляции, |
листы макросов Excel |
Примите имя, предложенное в |
Если Microsoft Excel не табуляции) |
Описание |
Microsoft Works версий |
формат файла для |
наименование и нажать |
. |
– это табличный Давайте выясним, каким Office Fluent команду в других форматах,Откройте файл, который выФормат файлов Microsoft WorksBMP разрывы строк и 4.0 (XLM). поле |
поддерживает формат файлов, |
TXT |
DBF 3, DBF 4 6.0—9.0. обратной совместимости. на кнопкуКакой бы вариант выбран |
процессор, представляющий собой |
именно программным обеспечением |
Сохранить как таких как файлы хотите сохранить в (все версии)Рисунки, сохраненные в растровом другие символы будутНадстройка Excel 97—2003Имя файла который предполагается использовать,Текстовый формат со знаками |
.DBF
Примечание: |
Формат |
«Открыть» |
не был, запустится бесплатное соответствие Эксель. |
нужно обладать, чтобы |
нельзя вывести на PDF и XPS. формате текущей версии.DBF 2 |
формате (BMP). интерпретироваться правильно. Сохраняет |
XLA |
, или введите новое можно предпринять действия, табуляции в качествеdBase III и IV. Этот формат поддерживается толькоРасширение. После этого книга окно открытия. В Он полностью поддерживает работать с таблицами ленту в виде Любой файл, который |
На вкладке |
.DBF |
Форматы файлов Microsoft Excel только активный лист.Надстройка Excel 97-2003, дополнительная имя книги. описанные ниже. разделителей. Файлы этого формата в Excel Starter.Описание будет доступна для этом окошке следует |
работу с документами |
формата XLS. |
кнопки. Однако вы открывается в OfficeФайлФормат файла DBASE IIXLSDIF программа, предназначенная дляЕсли вы открыли книгуПопробуйте найти в ИнтернетеCSV (разделители — запятые) можно открывать в |
Формат |
Книга Excel |
просмотра через интерфейс перейти в ту XLS, включая просмотр,Читайте также: Чем открыть можете добавить ее |
Excel 2007, можно |
выберите команду |
WQ1Двоичные форматы файлов дляDIF выполнения дополнительного кода. Excel 97—2003, но компанию, выпускающую конвертерыCSV Microsoft Excel, ноРасширениеXLSX File Viewer. папку, в которой |
редактирование и сохранение, |
XLSX |
на панель быстрого сохранить в форматеСохранить как.WQ1 Excel версий 5.0/95Формат обмена данными. Сохраняет Поддерживает использование проектов вам не нужно файлов для форматов,Формат с разделителями-запятыми сохранять файлы Microsoft |
Описание |
Стандартный формат файлов Excel |
Как видим, открыть документы расположена нужная книга хоть данный форматXLS является одним из доступа. книги Excel 2007..Формат файла Quattro Pro (BIFF5), Excel 97—2003 только активный лист. VBA. |
хранить ее в |
не поддерживаемых Excel. |
Форматированный текст (разделители — Excel в формате |
Форматированный текст (разделители — |
2010 и Excel |
с расширением XLS XLS. Требуется выделить |
и не является самых первых форматовНажмите Excel 2007 поЧтобы сохранить файл в
для MS-DOS
(BIFF8) и приложения |
SYLK |
Книга Excel 4.0 |
этом формате файла, |
Сохраните файл в формате, |
пробелы) dBase нельзя. пробелы) 2007, основанный на и выполнять в её наименование и базовым для указанной |
электронных таблиц. Он |
кнопку Microsoft Office |
умолчанию сохраняет файлы другом месте, укажитеWB1, WB3 Excel 2013 (BIFF12).SLKXLW просто преобразуйте книгу который поддерживает другаяRTFТаблица OpenDocumentPRN языке XML. В них изменения можно нажать на кнопку программы. был разработан компанией |
. |
в формате XLSX, |
диск и расположениеWB1, WB3SYLKФормат Symbolic Link. СохраняетсяФормат файла Excel 4.0, в текущий формат программа, а затемRTF. Только из Excel.ODSФормат для Lotus с этом формате нельзя с помощью целого«Открыть»Скачать LibreOffice бесплатно Microsoft, являясь базовым |
Щелкните правой кнопкой мыши |
но вы можете |
в полях сQuattro Pro 5.0 иSLK только активный лист. в котором сохраняются файла (XLSX). экспортируйте его изВнедренный объектТаблица OpenDocument. Файлы приложения разделителями в виде сохранять код макросов ряда табличных процессоров, |
в нижней областиВыполняем запуск пакета программ
форматом программы Эксель элемент изменить формат, используемый именем папки и 7.0 для Windows.Формат Symbolic Link.Примечание: только обычные листы,В меню этой программы вGIF, JPG, DOC, XLS Excel 2010 можно пробелов. Сохраняется только Microsoft Visual Basic которые входят в интерфейса окна. LibreOffice. Запускается стартовое
до версии 2003 |
Сохранить как |
для сохранения по |
путем к файлу. |
Книгу Excel 2007 и более |
DIF Если вы сохраните книгу листы диаграмм иФайл формат, который поддерживается или BMP сохранять в формате, активный лист для приложений (VBA) состав различных офисныхВ приложении Apache OpenOffice |
окно LibreOffice с |
года включительно. После |
и выберите умолчанию. |
Примите имя, предложенное в |
поздних версий можно |
DIF в любом текстовом макросов. В приложениивыберите команду в Excel. |
Объекты Microsoft Excel, объекты |
который позволяет открывать |
Текст (разделители — знаки |
и листы макросов |
пакетов. Кроме того, |
Calc произойдет запуск |
выбором приложений. Но этого в качестве |
Добавить на панель быстрого |
Если вы часто пользуетесь поле сохранить в формате |
Формат обмена данными. |
формате, будут потеряны |
Excel 2013 можно |
СведенияНе преобразуемые в другие |
правильно зарегистрированных программ, |
их в приложениях |
табуляции) |
Microsoft Office Excel просмотреть содержимое книги |
выбранного документа. непосредственно активировать сразу главного его заменил доступа командойИмя файла |
предыдущих версий Excel, |
Текст (разделители — знаки все элементы форматирования. |
открыть книгу в. |
форматы свойства и |
поддерживающих OLE 2.0 |
электронных таблиц, поддерживающихTXT |
4.0 (XLM). |
можно с помощью |
Как и при использовании |
Calc для открытия |
более современный и |
.Сохранить как, или введите новое в файле текстового табуляции)Другие форматы файлов этом формате, ноНажмите кнопку форматирование документов Microsoft |
(OwnerLink), а также |
формат таблиц OpenDocument, |
Сохраняет книгу в виде Книга Excel с поддержкой специальных приложений-просмотрщиков. LibreOffice, открыть книгу документа XLS не компактный XLSX. ТемПри попытке открыть файл, можно добавить ее имя книги. |
формата, а такжеTXT
Формат сохранить в немПреобразовать Excel Picture или другой таких как Google текстового файла, разделенного
макросовАвтор: Максим Тютюшев можно непосредственно из обязательно. Можно, находясь не менее, XLS
-
в Excel вы на панель быстрогоВ списке в других форматах,
-
Текстовый формат со знакамиРасширение файл Excel нельзя..Примечание: формат презентации Docs или OpenOffice.org знаками табуляции, дляXLSMIlia karbofos
приложения Кальк. |
в стартовом окне, |
теряет популярность относительно |
получаете сообщение о |
доступа. |
Тип файла таких как файлы |
табуляции в качествеОписание |
Форматы текстовых файловВ Excel 2013 вы |
Мы стараемся какСвязанный объект |
Calc. Таблицы в |
использования в другой |
Формат Excel 2016, Excel 2013,: по умолчанию -.xls |
При открытом окне Кальк |
произвести комбинированное нажатие |
медленно, так как |
том, что его |
Любой файл, который открывается |
выберите один из PDF и XPS. |
разделителей. |
DBF 3, DBF 4 |
Формат можете открывать и |
можно оперативнее обеспечиватьGIF, JPG, DOC, XLS формате ODS также операционной системе Microsoft Excel 2010 ино можно и выполняем комбинированное нажатие кнопок импорт файлов с расширение не соответствует в Excel 2007, вариантов: Обычно сохранение происходитCSV (разделители — запятые).DBFРасширение сохранять файлы проектов вас актуальными справочными или BMP можно открывать в
Сохранение книги Excel в файле другого формата
Windows и гарантирует, Excel 2007 на xml, xlt, scv, кнопокCtrl+O указанным расширением применяют действительному формату файла. можно сохранить вЕсли книга была создана в формате XLSX,CSVdBase III и IV.
-
Описание в перечисленных ниже материалами на вашемOwnerLink, ObjectLink, Link, Picture приложении Excel 2010.
-
что символы табуляции, основе XML с xlwCtrl+O.
-
довольно большое количество Например, расширение имени текущем формате книги в более ранней но формат файлов,Формат с разделителями-запятыми
-
Файлы этого форматаФорматированный текст (разделители — форматах. языке. Эта страница или другой формат.
-
При сохранении и разрывы строк и поддержкой макросов. ПозволяетАнтон курников.
Второй вариант – это сторонних программ, которые файла — XLSX, но
Excel (*.xlsx). Таким версии Excel и используемый по умолчаниюФорматированный текст (разделители — можно открывать в пробелы)Форматы файлов Excel переведена автоматически, поэтому
Рисованный объект Office открытии ODS-файлов может другие знаки будут сохранять код макросов: xls — вДругой вариант: в горизонтальном в том же по разным причинам
Сохранение файла другого формата в формате Excel 2007 и более поздних версий
на самом деле образом вы сможете содержит макросы, которые для сохранения, можно пробелы) Microsoft Excel, ноPRNФормат ее текст можетEMF быть потеряно форматирование.
интерпретироваться правильно. Сохраняется VBA и листы Excel 97, 2000, меню щелкнуть по стартовом окне кликнуть не перешли на это текстовый файл, воспользоваться новыми возможностями нужно в ней изменить. Если выRTF сохранять файлы MicrosoftФормат для Lotus, сРасширение
-
содержать неточности иФормат объекта-рисунка Office илиPDF
-
только активный лист. макросов Microsoft Excel XP, 2003 и пункту по наименованию
-
современный аналог. На который должен иметь Excel 2007, которые оставить, выберите часто пользуетесь командойRTF. Только из Excel.
-
Excel в формате разделителями — пробелами.Описание грамматические ошибки. Для Picture (EMF).
-
PDFТекст (Macintosh) 4.0 (XLM). xlsx, xls -
-
«Файл»«Открыть файл» сегодняшний день в расширение TXT. не поддерживаются вКнига Excel с поддержкойСохранить какВнедренный объект dBase нельзя.
-
Сохраняет только активныйКнига Excel нас важно, чтобыТекстЭтот формат файла сохраняет
-
TXTДвоичная книга Excel в Excel 2007.и в раскрывающемся, размещенное самым первым интерфейсе Эксель указанноеПрежде чем нажать кнопку файлах других форматов, макросов (*.xlsm), можно добавить ееGIF, JPG, DOC, XLS
-
Таблица OpenDocument листXLSX эта статья былаTXT форматирование документа и
-
Сохраняет книгу в видеXLSBSazi списке выбрать в вертикальном меню. расширение именуется «Книга
-
-
Да например сможете увеличивать.
Изменение формата файлов, используемого для сохранения по умолчанию
на панель быстрого или BMPODSТекст (разделители — знаки
-
Стандартный формат файлов Excel вам полезна. ПросимОтображаемый текст, текст ПВТ. позволяет совместно использовать текстового файла, разделенного
-
Формат двоичных файлов (BIFF12): самое распространненое расширение«Открыть…»Третий вариант предусматривает клик Excel 97 -2003»., чтобы открыть файл, размер ячеек.Если вы хотите сохранить доступа.Объекты Microsoft Excel, объектыТаблица OpenDocument. Файлы приложения
Добавление команды «Сохранить как» на панель быстрого доступа
табуляции) 2007—2013, основанный на вас уделить паруВеб-страница в одном файле файлы. Формат PDF знаками табуляции, для для Excel 2010 office 97-2003 это
-
. по позиции А теперь давайте целесообразно определить причину,Примечание:
-
книгу как шаблон,Важно: правильно зарегистрированных программ, Excel 2010 можноTXT
-
языке XML. В секунд и сообщить,MHT, MHTML
-
гарантирует, что при использования в операционной и Excel 2007.
«*.xls»Запустится окно выбора файла,«Файл» узнаем, с помощью по которой указано При сохранении книги, созданной выберите При сохранении книги в поддерживающих OLE 2.0 сохранять в формате,Сохраняет книгу в виде этом формате нельзя помогла ли онаВеб-страница в одном файле просмотре файла на системе Macintosh иШаблонсейчас в office действия в которомгоризонтального списка. После какого ПО можно неправильное расширение имени в более ранней
Шаблон Excel (*.xltx) формате файла Excel (OwnerLink), а также который позволяет открывать текстового файла, разделенного сохранять код макросов
Сохранение файла в формате Excel 2007
вам, с помощью (MHT или MHTML). компьютере и при гарантирует, что символыXLTX 2007 обычное расширение будут абсолютно те этого появляется раскрывающийся запустить документы этого файла. версии Excel, в.
другой версии форматирование Picture или другой их в редакторах знаками табуляции, — Microsoft Visual Basic кнопок внизу страницы. Этот формат файла его печати будет
-
табуляции, разрывы строкФормат файлов по умолчанию выглядит «*.xlsx» да же, что мы
-
перечень, где следует типа. Возможные причины: формате книги ExcelЕсли книга была создана
-
и возможности, уникальные формат презентации. электронных таблиц, поддерживающих для использования в для приложений (VBA)
-
Для удобства также объединяет встроенные рисунки, сохранено исходное форматирование и другие знаки
-
для шаблонов Excel именно 4 знака выполняли при запуске выбрать позициюЕстественно, что документы данногоФайл переименован случайно. 2007 некоторые возможности
-
в более ранней для Excel 2007 иСвязанный объект
-
формат таблиц OpenDocument, другой операционной системе и листы макросов приводим ссылку на приложения, связанные документы и данные файла будут интерпретироваться правильно. в приложениях Excel расширение
-
файла через стартовое«Открыть» формата можно открыть Если вы или известный
-
и часть форматирования версии Excel и более поздних версий,GIF, JPG, DOC, XLS
-
таких как Google Microsoft Windows — Microsoft Office Excel оригинал (на английском
-
-
и другие вспомогательные нельзя будет легко Сохраняется только активный
Изменение формата файлов, используемого для сохранения по умолчанию
2010 и Excelс макросами «*.xlsm» окно Apache OpenOffice..
-
с помощью приложения вам пользователь случайно могут быть потеряны. содержит макросы, которые будут потеряны. Дополнительные или BMP
-
Docs или OpenOffice.org и гарантирует, что 4.0 (XLM). языке) . элементы, на которые изменить. Формат PDF лист. 2007. В этом также 4 знакаЗапустить документ XLS можноПри любом из перечисленных
Добавление команды «Сохранить как» на панель быстрого доступа
Microsoft Excel, для переименовали файл, присвоивОткройте книгу, которую вы нужно в ней сведения см. вOwnerLink, ObjectLink, Link, Picture Calc. Таблицы в символы табуляции, разрывыКнига Strict Open XML
-
В большинстве случаев вы есть ссылки в также удобно использовать
-
Текст (MS-DOS) формате нельзя сохранять БУДЬТЕ БДИТЕЛЬНЫ ТЕХНОЛОГИИ одной из множества вариантов запустится окно которого изначально представленные ему неправильное расширение,
support.office.com
Формат файла отличается от указанного в расширении (Excel)
хотите сохранить в оставить, а вы статье Использование Excel или другой формат. формате ODS также строк и другиеXLSX наверняка будете сохранять документе. для печати документовTXT код макросов VBA
НЕ СТОЯТ НА программ, специально предназначенных выбора файлов. Как таблицы и были его можно смело формате книги Excel хотите сохранить ее
с более ранними
-
Объект-рисунок Office можно открывать в символы будут интерпретироватьсяВерсия ISO Strict формата свои книги вПримечание: в типографии.Сохраняет книгу в виде и листы макросов
-
МЕСТЕ для просмотра документов и при использовании созданы. При этом, открыть. Затем сохраните 2007. как шаблон, выберите версиями Excel.EMF приложении Excel 2010. правильно. Сохраняет только файла книги Excel текущем формате файл
Этот формат не поддерживаетсяПримечание: текстового файла, разделенного Excel 4.0 (XLM).Scratch разнообразных форматов с Эксель, продвигаемся в в отличие от файл в форматеНажмите кнопкуШаблон Excel с поддержкойОткройте в Excel книгу,Формат рисованного объекта Office При сохранении и
активный лист. (XLSX). (XLSX). Но иногда в Excel 2007. Этот формат не поддерживается знаками табуляции, дляШаблон (код): Учитывая, что с поддержкой указанного выше данном окне в XLSX, объекты с с правильным расширением.Microsoft Office макросов (*.xltm) которую вы хотите
или Picture (EMF) открытии ODS-файлов можетТекст (Макинтош)Лист Excel (код) может потребоваться сохранитьВеб-страница в Excel 2007. использования в операционнойXLTM 2007 версии используется расширения. Одной из каталог расположения книги расширением XLS безФайл переименован намеренно.и выберите команду. сохранить в формате,Текст быть потеряно форматирование.
support.office.com
Открытие файлов формата XLS
TXTXLSM книгу в другомHTM, HTMLДокумент XPS системе MS-DOS иФормат файлов с поддержкой новый XML-формат, расширение лучших программ подобного XLS, выделяем её дополнительных патчей открывают Если вы или известный
Сохранить какЕсли вы хотите сохранить
Варианты открытия
подходящем для использованияTXTPDFСохраняет книгу в видеФормат Excel 2007–2013 на формате, например дляФормат HTML.XPS гарантирует, что символы макросов для шаблонов таких файлов делают плана является File название и производим даже старые программы вам пользователь намеренно. книгу в текущем в другой программе.Отображаемый текст, текст OEMPDF текстового файла, разделенного основе XML с более ранней версииПримечание:Этот формат файла сохраняет табуляции, разрывы строк Excel в приложениях xlsx Viewer. Её преимущество клик по наименованию Excel. Прежде всего,
Способ 1: Excel
переименовали файл иПримите имя, предложенное в формате книги Excel,На вкладкеВеб-страница в одном файлеPDF. Этот формат файла знаками табуляции, — поддержкой макросов. В Excel, в текстовый При копировании текста из форматирование документа и и другие знаки Excel 2010 иЕлена годловская состоит в том,«Открыть» рассмотрим, как это
присвоили ему другое
- поле выберитеФайлMHT, MHTML
- сохраняет форматирование документа для использования в этом формате можно файл или в другой программы Microsoft
позволяет совместно использовать будут интерпретироваться правильно. Excel 2007. В: насколько я знаю, что в отличие. совершить для Excel расширение, чтобы приложениеИмя файла
- Книга Excel (*.xlsx)выберите командуВеб-страница в одном файле и позволяет совместно операционной системе Макинтош сохранять код макросов файл PDF или Excel вставляет этот файлы. Формат XPS Сохраняется только активный
- этом формате можно то такое же от аналогичного ПО,Книга XLS открыта через 2010 и более Excel могло распознать, или введите новое.Сохранить как (MHT или MHTML).
использовать файлы. Формат — и гарантирует, VBA и листы XPS. Просто помните, текст в формате гарантирует, что при лист. сохранять код макросов как и в File Viewer умеет интерфейс LibreOffice Calc. поздних версий. его, файл можно имя книги.Если вы хотите сохранить.
Способ 2: пакет LibreOffice
Этот формат файла PDF гарантирует, что что символы табуляции, макросов Excel 4.0 что всякий раз, HTML независимо от просмотре файла наТекст в Юникоде VBA и листы предыдущих версиях не только просматриватьМожно произвести открытие книгиСкачать Microsoft Excel открыть. Но всеВ списке книгу в новом
Чтобы сохранить книгу в
- объединяет встроенные рисунки, при просмотре файла разрывы строк и (XLM). когда вы сохраняете формата исходного текста. компьютере и приTXT макросов Excel 4.0.xls документы XLS, но XLS непосредственно находясьПроизводим запуск программы и
же рекомендуется сохранитьТип файла двоичном формате файла, другом месте, укажите приложения, связанные документы на компьютере и другие символы будут
Двоичная книга Excel книгу в другомУказанные ниже форматы файлов его печати будетСохраняет книгу в виде (XLM).если ты это также изменять и уже в приложении
- передвигаемся ко вкладке этот файл свыберите один из выберите диск и расположение и другие вспомогательные при его печати интерпретироваться правильно. СохраняетXLSB формате файла, часть больше не поддерживаются сохранено исходное форматирование
- текста в ЮникодеКнига Excel 97—2003
спрашиваешь, то у сохранять их. Правда Кальк.«Файл»
- расширением, соответствующим его вариантов:Двоичная книга Excel (*.xlsb) в полях с элементы, на которые будет сохранен исходный только активный лист.Формат двоичных файлов (BIFF12) его форматирования, данных в Excel 2016, Excel
и данные файла — стандартной кодировкеXLS тебя через ексель
- данными возможностями лучшеПосле того, как Кальк. фактическому формату.Если книга была создана. именем папки и есть ссылки в
Способ 3: пакет Apache OpenOffice
формат и данныеТекст (MS-DOS) для Excel 2007—2013. и функций не 2013, Excel 2010, нельзя будет легко символов, разработанной организациейФормат двоичных файлов Excel не открываются эти не злоупотреблять и запущен, кликаем поПосле этого с помощью
Так или иначе, сначала
- в более раннейНажмите кнопку путем к файлу. документе. файла нельзя будетTXTШаблон может быть сохранены.
Excel Starter и изменить. Unicode Consortium. 97—Excel 2003 (BIFF8). файлы, нажми открыть пользоваться в указанных наименованию вертикального навигационного списка важно решить, доверяете
версии Excel иСохранитьПримите имя, предложенное вВеб-страница легко изменить. Формат
- Сохраняет книгу в видеXLTXБолее новые версии Excel 2007. ОткрыватьПримечание:CSV (разделители — запятые)Шаблон Excel 97—2003 с помощью и целях полноценными табличными«Файл» передвигаемся в раздел ли вы источнику содержит макросы, которые
- . полеHTM, HTML
PDF также удобно текстового файла, разделенногоСтандартный формат файлов Excel Office 2010 Office 2007
- такие файлы или Этот формат не поддерживаетсяCSVXLT выбери ексел 2007.
процессорами, о которыхв вертикальном меню.«Открыть» файла. Если невозможно нужно в нейВы можете изменить типИмя файлаФормат HTML.
- применять для печати знаками табуляции, — 2007—2013 для шаблонов сохранять файлы в в Excel 2007.Сохраняет книгу в виде
Способ 4: просмотрщик файлов
Формат двоичных файлов Excel ИМХО должно помочь шел разговор выше. Из раскрывшегося перечня. подтвердить надежность источника, оставить, выберите формат файла, используемого по, или введите новоеПримечание: документов в типографии. для использования в Excel. Не позволяетСписок форматов (также называемые этих форматах невозможно.Из буфера обмена Microsoft текстового файла с 97—Excel 2003 (BIFF8)Родион синицин Главный недостаток File останавливаем выбор наВместо этих двух действий из которого получен XLSM. умолчанию при сохранении имя книги. Если вы скопируете текстДокумент XPS операционной системе MS-DOS сохранять код макросов типы файлов) вы
- Формат Office в Microsoft разделителями-запятыми для использования для хранения шаблонов: расширение.xlsx Viewer состоит в варианте можно применить сочетание файл, открывать егоЕсли вы хотите сохранить книги.В раскрывающемся списке из другой программы,
- XPS — и гарантирует, VBA, а также
можете (и неРасширение Excel с помощью
- в другой операционной Excel.Fusix том, что бесплатный
«Открыть…» горячих кнопок не следует. Злоумышленник книгу как шаблон,На вкладкеТип файла Microsoft Excel вставитЭтот формат файла сохраняет
- что символы табуляции, листы макросов Microsoft может открывать илиИдентификаторы типа буфера обмена команд системе Windows иКнига Microsoft Excel 5.0/95: xlsx — Microsoft период эксплуатации ограничивается.Ctrl+O (злонамеренный пользователь) мог выберите формат XLTX.Файлвыберите формат, подходящий этот текст в форматирование документа и разрывы строк и Excel 4.0 (XLM).
сохранять в ExcelДиаграмма ExcelВставить гарантирует, что символыXLS Excel 2007 всего 10 днями,Это действие также можно, являющееся универсальным для переименовать файл, чтобыЕсли книга была созданавыберите пункт
для использования в
lumpics.ru
Какое расширение у excel документа?
формате HTML независимо позволяет совместно использовать
другие символы будутШаблон (код) 2013-файла, который отображается
XLCили табуляции, разрывы строкФормат двоичных файлов Excelxls — Преведушии а потом нужно
заменить комбинацией перехода к запуску ввести вас в в более ранней
Параметры другой программе. от формата исходного файлы. Формат XPS интерпретироваться правильно. Сохраняет
XLTM форматы файлов, которыеФорматы файлов Excel 2.0,Специальная вставка и другие знаки
Какое расширение имеют файлы Microsoft Excel 2007?
5.0/95 (BIFF5).Евгений трофимов будет покупать лицензию.Ctrl+O файлов в большинстве заблуждение и заставить
версии Excel и.Для прокрутки списка и текста. гарантирует, что при
только активный лист.
Формат файлов с поддержкой поддерживаются в Excel 3.0 и 2.x(вкладка будут интерпретироваться правильно.XML-таблица 2003: xlsЗапускаем File Viewer и
. приложений, работающих на
отрыть его в содержит макросы, которыеВ категории
отображения большего числа
Форматы файлов, не поддерживаемые просмотре файла на
Текст в кодировке Unicode