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

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

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

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

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

Aspose::Cells::Startup();
// The path to the documents directory.
U16String dataDir(u"");
// Opening XML Files
LoadOptions loadOptions(LoadFormat::Xml);
// Create a Workbook object and opening the file from its path
Workbook workbook(dataDir + u"Input.xml", loadOptions);
// Show following message on console
std::cout << "XML file opened successfully!" <<std::endl;
Aspose::Cells::Cleanup();

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

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

Aspose::Cells::Startup();
// The path to the documents directory.
U16String dataDir(u"");
// Opening HTML Files
LoadOptions loadOptions(LoadFormat::Html);
// Create a Workbook object and opening the file from its path
Workbook workbook(dataDir + u"Input.html", loadOptions);
// Show following message on console
std::cout << "HTML file opened successfully!" << std::endl;
Aspose::Cells::Cleanup();

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

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

Aspose::Cells::Startup();
// The path to the documents directory.
U16String dataDir = u"";
// Instantiate LoadOptions specified by the LoadFormat.
LoadOptions loadOptions4(LoadFormat::Csv);
// Create a Workbook object and opening the file from its path
Workbook wbCSV(dataDir + u"Book_CSV.csv", loadOptions4);
std::cout << "CSV file opened successfully!" << std::endl;
Aspose::Cells::Cleanup();

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

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

Aspose::Cells::Startup();
//Source directory
U16String sourceDir = u"";
U16String filename = sourceDir + u"InvalidCharacters.csv";
//Load CSV file
LoadFilter filter(LoadDataFilterOptions::CellData);
TxtLoadOptions csvOpt;
csvOpt.SetSeparator(';');
csvOpt.SetLoadFilter(&filter);
csvOpt.SetCheckExcelRestriction(false);
csvOpt.SetConvertNumericData(false);
csvOpt.SetConvertDateTimeData(false);
Workbook workbook(filename, csvOpt);
std::cout << "CSV file opened successfully!" << std::endl;
// Save for check
workbook.Save(u"Output.xlsx");
Aspose::Cells::Cleanup();

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

InvalidCharacters.csv

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

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

Aspose::Cells::Startup();
// The path to the documents directory.
U16String dataDir = u"";
U16String filePath = dataDir + u"CustomSeparator.txt";
// Instantiate Text File's LoadOptions
TxtLoadOptions txtLoadOptions;
// Specify the separator
txtLoadOptions.SetSeparator(u',');
// Specify the encoding type
txtLoadOptions.SetEncoding(EncodingType::UTF8);
// Create a Workbook object and opening the file from its path
Workbook wb(filePath, txtLoadOptions);
// Save file
wb.Save(dataDir + u"output.xlsx");
Aspose::Cells::Cleanup();

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

CustomSeparator.txt

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

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

Aspose::Cells::Startup();
// The path to the documents directory.
U16String dataDir = u"";
// Opening Tab Delimited Files
// Instantiate LoadOptions specified by the LoadFormat.
LoadOptions loadOptions5(LoadFormat::TabDelimited);
// Create a Workbook object and opening the file from its path
Workbook wbTabDelimited(dataDir + u"Book1TabDelimited.txt", loadOptions5);
// Show following message on console
std::cout << "TabDelimited file opened successfully!" << std::endl;
Aspose::Cells::Cleanup();

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

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

Aspose::Cells::Startup();
//Source directory
U16String sourceDir = u"";
// Instantiate LoadOptions specified by the LoadFormat.
LoadOptions loadOptions(LoadFormat::Tsv);
// Create a Workbook object and opening the file from its path
Workbook workbook(sourceDir + u"SampleTSVFile.tsv", loadOptions);
// Using the Sheet 1 in Workbook
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Accessing a cell using its name
Cell cell = worksheet.GetCells().Get(u"C3");
std::cout << "Cell Name: " << cell.GetName().ToUtf8() << " Value: " << cell.GetStringValue().ToUtf8() << std::endl;
Aspose::Cells::Cleanup();

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

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

Aspose::Cells::Startup();
//Source directory
U16String sourceDir = u"";
// Instantiate LoadOptions specified by the LoadFormat.
LoadOptions loadOptions(LoadFormat::Sxc);
// Create a Workbook object and opening the file from its path
Workbook workbook(sourceDir + u"SampleSXC.sxc", loadOptions);
// Using the Sheet 1 in Workbook
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Accessing a cell using its name
Cell cell = worksheet.GetCells().Get(u"C3");
std::cout << "Cell Name: " << cell.GetName().ToUtf8() << " Value: " << cell.GetStringValue().ToUtf8() << std::endl;
Aspose::Cells::Cleanup();

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

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

Aspose::Cells::Startup();
//Source directory
U16String sourceDir = u"";
// Instantiate LoadOptions specified by the LoadFormat.
LoadOptions loadOptions(LoadFormat::Fods);
// Create a Workbook object and opening the file from its path
Workbook workbook(sourceDir + "SampleFods.fods", loadOptions);
// Show following message on console
std::cout << "FODS file opened successfully!" << std::endl;
Aspose::Cells::Cleanup();