FileConversionLibrary 1.3.0
dotnet add package FileConversionLibrary --version 1.3.0
NuGet\Install-Package FileConversionLibrary -Version 1.3.0
<PackageReference Include="FileConversionLibrary" Version="1.3.0" />
<PackageVersion Include="FileConversionLibrary" Version="1.3.0" />
<PackageReference Include="FileConversionLibrary" />
paket add FileConversionLibrary --version 1.3.0
#r "nuget: FileConversionLibrary, 1.3.0"
#:package FileConversionLibrary@1.3.0
#addin nuget:?package=FileConversionLibrary&version=1.3.0
#tool nuget:?package=FileConversionLibrary&version=1.3.0
File Conversion Library
This library provides functionality to convert CSV and XML files to various formats such as XML, PDF, Word, JSON, and YAML.
Usage
Initializing the FileConverter
To use the library, you need to create an instance of the FileConverter
class.
// Create a new instance of the FileConverter
var fileConverter = new FileConverter();
CSV to XML Conversion
await fileConverter.ConvertCsvToXmlAsync(
@"C:\Users\User\Desktop\input.csv",
@"C:\Users\User\Desktop\output.xml"
);
CSV to PDF Conversion
await fileConverter.ConvertCsvToPdfAsync(
@"C:\Users\User\Desktop\input.csv",
@"C:\Users\User\Desktop\output.pdf"
);
CSV to Word Conversion
await fileConverter.ConvertCsvToWordAsync(
@"C:\Users\User\Desktop\input.csv",
@"C:\Users\User\Desktop\output.docx"
);
CSV to YAML Conversion
await fileConverter.ConvertCsvToYamlAsync(
@"C:\Users\User\Desktop\input.csv",
@"C:\Users\User\Desktop\output.yaml"
);
CSV to JSON Conversion
await fileConverter.ConvertCsvToJsonAsync(
@"C:\Users\User\Desktop\input.csv",
@"C:\Users\User\Desktop\output.json"
XML to CSV Conversion
await fileConverter.ConvertXmlToCsvAsync(
@"C:\Users\User\Desktop\input.xml",
@"C:\Users\User\Desktop\output.csv"
);
XML to PDF Conversion
await fileConverter.ConvertXmlToPdfAsync(
@"C:\Users\User\Desktop\input.xml",
@"C:\Users\User\Desktop\output.pdf"
);
XML to Word Conversion
await fileConverter.ConvertXmlToWordAsync(
@"C:\Users\User\Desktop\input.xml",
@"C:\Users\User\Desktop\output.docx"
);
XML to YAML Conversion
await fileConverter.ConvertXmlToYamlAsync(
@"C:\Users\User\Desktop\input.xml",
@"C:\Users\User\Desktop\output.yaml"
);
XML to JSON Conversion
await fileConverter.ConvertXmlToJsonAsync(
@"C:\Users\User\Desktop\input.xml",
@"C:\Users\User\Desktop\output.json"
);
Notes
Notes The CsvToXmlConverter, CsvToJsonConverter, CsvToPdfConverter, CsvToWordConverter, and CsvToYamlConverter classes read a CSV file, parse it, and write the content to an XML, JSON, PDF, Word, and YAML file respectively. The first line of the CSV file is assumed to be the header.
The XmlToCsvConverter, XmlToJsonConverter, XmlToPdfConverter, XmlToWordConverter, and XmlToYamlConverter classes read an XML file, parse it, and write the content to a CSV, JSON, PDF, Word, and YAML file respectively. The XML file is assumed to be in the format produced by the CsvToXmlConverter.
All classes handle errors such as file not found and invalid file format, and print an error message to the console.
Contributing
Contributions are welcome. Please fork the repository and create a pull request with your changes.
Author
Bohdan Harabadzhyu
License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- CsvHelper (>= 33.0.1)
- DocumentFormat.OpenXml (>= 3.0.2)
- iTextSharp (>= 5.5.13.3)
- Newtonsoft.Json (>= 13.0.3)
- YamlDotNet (>= 15.1.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 1.3.0:
- (Released: 8 April 2025) - Major architecture refactoring to use generic IConverter.
- Combined FileConverterFacade and ServiceLocator into a unified FileConverter class.
- Fixed CsvToJsonConverter to properly format output as array of objects with type conversion.
- Improved XmlToYamlConverter to correctly preserve hierarchical structure.
- Fixed type conversion issues in XmlToWordConverter.
- Enhanced hierarchical formatting in YAML and Word conversions.
- Rewrote unit tests to match the new architecture.
- Added better support for type conversion across all converters.
- Improved error handling and validation.