XLS і XLSX є найбільш використовуваними і відомими форматами електронних таблиць MS Excel. Ви повинні добре знати про розширені можливості та незліченні параметри форматування Microsoft Office для цих форматів протягом цього століття. З іншого боку, файли CSV — це значення, розділені комами, які зазвичай використовуються для зберігання табличних даних без форматування. Ці файли можна переглядати в будь-якому текстовому редакторі, а також у MS Excel для табличного формату. У цій статті описано програмне перетворення електронних таблиць Excel у форматі XLS/XLSX у формат CSV і CSV у формат XLS/XLSX за допомогою C#.
Нижче описано наступні теми:
.NET API для файлів Excel і перетворення CSV
GroupDocs.Conversion надає .NET API, який дозволяє автоматизувати перетворення різних документів і форматів файлів зображень один в інший. Я буду використовувати цей API для перетворення XLSX у CSV, а потім CSV у XLS або XLSX за допомогою C#. Окрім форматів електронних таблиць, API підтримує перетворення багатьох інших форматів документів і зображень, як-от документи для обробки текстів, презентації, електронні книги, JPG, PNG, WebP та багато іншого.
Ви можете завантажити DLL або інсталятор MSI із розділу завантажень або встановити API у своїй програмі .NET за допомогою NuGet.
PM> Install-Package GroupDocs.Conversion
Перетворення Excel (XLS/XLSX) на CSV у C#
Давайте почнемо з табличних і добре відформатованих даних у форматі XLS або XLSX і перетворимо їх у неформатований формат CSV, розділених комами. Наступні кроки дозволяють перетворити формат XLS або XLSX на CSV у програмах .NET.
- Завантажте файл Excel (XLS або XLSX) за допомогою класу Конвертер.
- Встановіть початковий номер аркуша та кількість аркушів. (необов’язково)
- Установіть формат перетворення вихідного файлу як CSV за допомогою SpreadsheetConvertOptions.
- Викличте метод Convert, щоб перетворити дані електронної таблиці або певні сторінки у формат CSV.
Наступний код показує, як конвертувати XLS або XLSX у формат CSV у C#.
// Перетворення електронних таблиць Excel у формат CSV із значеннями, розділеними комами, у C#
string inputFile = @"path/spreadsheet.xlsx";
string outputFile = @"path/comma-sparated-values.csv";
using (Converter converter = new Converter(inputFile))
{
SpreadsheetConvertOptions options = new SpreadsheetConvertOptions
{
PageNumber = 2,
PagesCount = 1,
Format = SpreadsheetFileType.Csv // Specify the conversion format
};
converter.Convert(outputFile, options);
}
Перетворення CSV на Excel (XLS/XLSX) у C#
Навпаки, якщо у вас є дані, розділені комами, і ви хочете перетворити їх у добре відформатований табличний формат, вам потрібно перетворити ці дані CSV у формат XLS або XLSX. Наступні кроки показують, як конвертувати файл CSV у формат MS Excel XLSX за допомогою C#.
- Підготуйте параметри завантаження для файлу CSV і визначте роздільник.
- Завантажте CSV за допомогою класу Converter.
- Встановіть формат перетворення на XLSX за допомогою SpreadsheetConvertOptions.
- Використовуйте метод Convert для перетворення даних CSV у формат XLSX.
У наведеному нижче коді показано, як конвертувати файл CSV у формат XLSX на C#.
// Перетворення файлів CSV у формат XLS/XLSX у C#
string inputFile = @"path/comma-sparated-values.csv";
string outputFile = @"path/spreadsheet.xlsx";
Contracts.Func<LoadOptions> getLoadOptions =() => new CsvLoadOptions
{
Separator = ','
};
using (Converter converter = new Converter(inputFile))
{
SpreadsheetConvertOptions options = new SpreadsheetConvertOptions();
converter.Convert(outputFile, options);
}
Просто встановіть відповідний формат перетворення та вкажіть відповідне ім’я файлу з розширенням для XLS або будь-якого іншого формату файлу.
Отримайте безкоштовну ліцензію API
Ви можете отримати безкоштовну тимчасову ліцензію, щоб використовувати API без оціночних обмежень.
Висновок
Підводячи підсумок статті, ви навчилися повертати назад і назад електронних таблиць MS Excel XLS/XLSX і файлів CSV за допомогою C#. Ви можете дізнатися більше про .NET Conversion Automation API, використовуючи документацію або переглянувши приклади, доступні на GitHub. Зв’яжіться з нами за будь-яким запитом через форум.