Открытие файлов разных форматов

Открытие файлов разных форматов

Aspose.Cells позволяет разработчикам открывать файлы электронных таблиц с различными форматами, такими как SpreadsheetML, значения, разделенные запятыми (CSV), значения с разделителями табуляции или значения, разделенные табуляцией (TSV), файлы ODS. Для открытия таких файлов разработчики могут использовать ту же методологию, что и для открытия файлов различных версий Excel.

Открытие SpreadsheetML файлов

Файлы SpreadsheetML представляют собой XML-представления электронных таблиц, включая всю информацию о них, такую как форматирование, формулы и т. д. Начиная с Microsoft Excel XP, в Microsoft Excel добавлен параметр экспорта XML, который экспортирует ваши электронные таблицы в файлы SpreadsheetML.

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Opening XML Files
intrusive_ptr <Aspose::Cells::ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat::LoadFormat_Xml);
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("Input.xml")), loadOptions);
// Show following message on console
Console::WriteLine(new String("XML file opened successfully!"));

Открытие HTML файлов

Aspose.Cells позволяет открыть файл HTML в объекте Workbook. Файл HTML должен быть ориентирован на Excel, т.е. MS-Excel должен иметь возможность его открыть.

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Opening HTML Files
intrusive_ptr <Aspose::Cells::ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat::LoadFormat_Html);
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("Input.html")), loadOptions);
// Show following message on console
Console::WriteLine(new String("HTML file opened successfully!"));

Открытие CSV файлов

Файлы значений, разделенных запятыми (CSV) содержат записи, в которых значения разделены запятыми. Данные хранятся в виде таблицы, в которой каждый столбец отделяется запятой и заключен в двойные кавычки. Если значение поля содержит символ двойной кавычки, оно экранируется парой символов двойной кавычки. Вы также можете использовать Microsoft Excel для экспорта данных электронной таблицы в CSV.

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Opening CSV Files
intrusive_ptr <Aspose::Cells::ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat::LoadFormat_CSV);
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("Input.csv")), loadOptions);
// Show following message on console
Console::WriteLine(new String("CSV file opened successfully!"));
view raw OpenCSVFile.cpp hosted with ❤ by GitHub

Открытие файлов CSV и замена недопустимых символов

В Excel при открытии файла CSV со специальными символами символы автоматически заменяются. То же самое делается с помощью Aspose.Cells API, что продемонстрировано в приведенном ниже примере кода.

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Opening CSV Files
// Instantiate LoadOptions specified by the LoadFormat.
intrusive_ptr <Aspose::Cells::ITxtLoadOptions> loadOptions = Factory::CreateITxtLoadOptions(LoadFormat::LoadFormat_CSV);
loadOptions->SetSeparator(';');
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("InvalidCharacters.csv")), loadOptions);
// Show following message on console
Console::WriteLine(new String("CSV file opened successfully!"));
// Save for check
workbook->Save(new String("Output.xlsx"));

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

InvalidCharacters.csv

Открытие текстовых файлов с пользовательским разделителем

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

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Set for TxtLoadOptions
intrusive_ptr <Aspose::Cells::ITxtLoadOptions> loadOptions = Factory::CreateITxtLoadOptions();
loadOptions->SetSeparator(',');
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("CustomSeparator.txt")), loadOptions);
// Show following message on console
Console::WriteLine(new String("TXT file opened successfully!"));
// Save for check
workbook->Save(new String("Output.xlsx"));

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

CustomSeparator.txt

Открытие файлов с разделителями табуляции

Файл с разделителями табуляции (текстовый) содержит данные электронной таблицы, но без какого-либо форматирования. Данные располагаются в строках и столбцах, как в таблицах и электронных таблицах. По сути, файл с разделителями табуляцией представляет собой особый тип обычного текстового файла с табуляцией между каждым столбцом.

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Set LoadOptions
intrusive_ptr <Aspose::Cells::ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat::LoadFormat_TabDelimited);
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("TabDelimited.txt")), loadOptions);
// Show following message on console
Console::WriteLine(new String("TabDelimited file opened successfully!"));
// Save for check
workbook->Save(new String("Output.xlsx"));

Открытие файлов со значениями, разделенными табуляцией (TSV)

Файл значений, разделенных табуляцией (TSV) содержит данные электронной таблицы, но без какого-либо форматирования. То же самое и с файлом с разделителями табуляции, где данные располагаются в строках и столбцах, как в таблицах и электронных таблицах.

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Set LoadOptions
intrusive_ptr <Aspose::Cells::ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat::LoadFormat_TSV);
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("Input.tsv")), loadOptions);
// Show following message on console
Console::WriteLine(new String("TSV file opened successfully!"));
// Save for check
workbook->Save(new String("Output.xlsx"));
view raw OpenTSVFile.cpp hosted with ❤ by GitHub

Открытие SXC файлов

StarOffice Calc похож на Microsoft Excel и поддерживает формулы, диаграммы, функции и макросы. Электронные таблицы, созданные с помощью этого программного обеспечения, сохраняются с расширением SXC. Файл SXC также используется для файлов электронных таблиц OpenOffice.org Calc. Aspose.Cells может читать SXC файлов, как показано в следующем примере кода.

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Set LoadOptions
intrusive_ptr <Aspose::Cells::ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat::LoadFormat_SXC);
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("Input.sxc")), loadOptions);
// Show following message on console
Console::WriteLine(new String("SXC file opened successfully!"));
// Save for check
workbook->Save(new String("Output.xlsx"));
view raw OpenSXCFile.cpp hosted with ❤ by GitHub

Открытие FODS файлов

FODS — это электронная таблица, сохраненная в формате OpenDocument XML без сжатия. Aspose.Cells может читать FODS файлов, как показано в следующем примере кода.

#include "Aspose.Cells.h"
// The path to the documents directory.
StringPtr dataDir = new String("");
// Set LoadOptions
intrusive_ptr <Aspose::Cells::ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat::LoadFormat_FODS);
// Create a Workbook object and opening the file from its path
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(
dataDir->StringAppend(new String("Input.fods")), loadOptions);
// Show following message on console
Console::WriteLine(new String("FODS file opened successfully!"));
// Save for check
workbook->Save(new String("Output.xlsx"));