ByteScout Barcode Suite - C# - Convert xls to xml and xml to xls with spreadsheet sdk - ByteScout

ByteScout Barcode Suite – C# – Convert xls to xml and xml to xls with spreadsheet sdk

  • Home
  • /
  • Articles
  • /
  • ByteScout Barcode Suite – C# – Convert xls to xml and xml to xls with spreadsheet sdk

How to convert xls to xml and xml to xls with spreadsheet sdk in C# and ByteScout Barcode Suite

Learn to convert xls to xml and xml to xls with spreadsheet sdk in C#

Every ByteScout tool includes simple example C# source codes that you can get here or in the folder with installed ByteScout product. ByteScout Barcode Suite is the set that includes three different SDK products to generate barcodes, read barcodes and read and write spreadsheets: Barcode SDK, Barcode Reader SDK and Spreadsheet SDK and you can use it to convert xls to xml and xml to xls with spreadsheet sdk with C#.

The SDK samples given below describe how to quickly make your application do convert xls to xml and xml to xls with spreadsheet sdk in C# with the help of ByteScout Barcode Suite. IF you want to implement the functionality, just copy and paste this code for C# below into your code editor with your app, compile and run your application. Complete and detailed tutorials and documentation are available along with installed ByteScout Barcode Suite if you’d like to learn more about the topic and the details of the API.

The trial version of ByteScout Barcode Suite can be downloaded for free from our website. It also includes source code samples for C# and other programming languages.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

Bytescout.XLS.Utils.SimpleXMLConverter.cs
      
using System; using System.Data; using System.IO; using Bytescout.Spreadsheet; namespace Bytescout.Spreadsheet.Utils { /// <summary> /// class for simple XLS to XML and XML to XLS conversion /// </summary> public class SimpleXMLConverter { private readonly Spreadsheet document; public SimpleXMLConverter(Spreadsheet document) { this.document = document; } public void LoadXML(string path) { DataSet dataSet = new DataSet(); dataSet.ReadXml(path); foreach (DataTable table in dataSet.Tables) { Worksheet worksheet = document.Workbook.Worksheets.Add(table.TableName); // Add columns worksheet.Columns.Insert(0, table.Columns.Count); /*// Add row for header worksheet.Rows.Insert(0); // Fill headers for (int i = 0; i < table.Columns.Count; i++) { worksheet.Cell(1, i).Value = table.Columns[i].ColumnName; }*/ // Add rows for data worksheet.Rows.Insert(0, table.Rows.Count); // Fill data for (int i = 0; i < table.Rows.Count; i++) { for (int j = 0; j < table.Columns.Count; j++) { worksheet.Cell(i + 1, j).Value = table.Rows[i][j].ToString(); } } } } public void SaveXML(string path) { DataSet dataSet = new DataSet(); for (int i = 0; i < document.Workbook.Worksheets.Count; i++) { Worksheet worksheet = document.Workbook.Worksheets[i]; DataTable table = dataSet.Tables.Add(worksheet.Name); #region Add Columns for (int column = 0; column <= worksheet.UsedRangeColumnMax; column++) { table.Columns.Add( string.Format("Column_{0}", column)); } #endregion #region Add rows for (int row = 0; row <= worksheet.UsedRangeRowMax; row++) { object[] data = new object[worksheet.UsedRangeColumnMax + 1]; for (int column = 0; column <= worksheet.UsedRangeColumnMax; column++) { if (worksheet.Cell(row, column).Value != null && worksheet.Cell(row, column).Value.ToString().Trim() == "") data[column] = null; else data[column] = worksheet.Cell(row, column).Value; } table.Rows.Add(data); } #endregion } dataSet.WriteXml(path); } private void PrintDataSet(DataSet ds) { Console.WriteLine("DataSet name: {0}", ds.DataSetName); foreach (DataTable table in ds.Tables) { int rowCount = table.Rows.Count; int columnCount = table.Columns.Count; Console.WriteLine("\nTable: {0} ({1} rows)", table.TableName, rowCount); foreach (DataColumn column in table.Columns) { Console.Write("{0}\t", column.ColumnName); } Console.WriteLine(); for (int i = 0; i < rowCount; i++) { for (int column = 0; column < columnCount; column++) { Console.Write("{0}\t", table.Rows[i][column]); } Console.WriteLine(); } } } } }

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Barcode Suite Home Page

Explore ByteScout Barcode Suite Documentation

Explore Samples

Sign Up for ByteScout Barcode Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Program.cs
      
using System; using System.Data; using System.IO; using Bytescout.Spreadsheet; using Bytescout.Spreadsheet.Utils; using System.Diagnostics; namespace SimpleXMLConverterSample { internal class Program { private static void Main(string[] args) { // sample XLS to XML conversion SampleXLStoXMLConversion(); // sample XML to XLS conversion SampleXMLtoXLSConversion(); } /// <summary> /// shows how to convert existing XLS (Excel) document into XML using Bytescout.Spreadsheet and Bytescout.Spreadsheet.Utils.SimpleXMLConverter /// </summary> private static void SampleXLStoXMLConversion(){ Spreadsheet document; // read XLS and save as XML document = new Spreadsheet(); document.LoadFromFile("AdvancedReport.xls"); SimpleXMLConverter tools = new SimpleXMLConverter(document); tools.SaveXML("AdvancedReport.xml"); document.Close(); } /// <summary> /// shows how to convert XML data into XLS excel using Bytescout.Spreadsheet and Bytescout.Spreadsheet.Utils.SimpleXMLConverter /// </summary> private static void SampleXMLtoXLSConversion() { // read XML and convert into XLS (Excel) and save Spreadsheet document = new Spreadsheet(); SimpleXMLConverter tools = new SimpleXMLConverter(document); tools.LoadXML("AdvancedReport.xml"); // delete output file if exists already if (File.Exists("Output.xls")){ File.Delete("Output.xls"); } // Save document document.SaveAs("Output.xls"); // Close Spreadsheet document.Close(); // open generated XLS document in default program Process.Start("Output.xls"); } } }

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Barcode Suite Home Page

Explore ByteScout Barcode Suite Documentation

Explore Samples

Sign Up for ByteScout Barcode Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Barcode Suite Home Page

Explore ByteScout Barcode Suite Documentation

Explore Samples

Sign Up for ByteScout Barcode Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next