An easy to understand guide on how to convert xls to xml and xml to xls with spreadsheet sdk in VB.NET with this source code sample. What is ByteScout Data Extraction Suite? It is the bundle that includes three SDK tools for data extraction from PDF, scans, images and from spreadsheets: PDF Extractor SDK, Data Extraction SDK, Barcode Reader SDK. It can help you to convert xls to xml and xml to xls with spreadsheet sdk in your VB.NET application.
Want to save time? You will save a lot of time on writing and testing code as you may just take the VB.NET code from ByteScout Data Extraction Suite for convert xls to xml and xml to xls with spreadsheet sdk below and use it in your application. IF you want to implement the functionality, just copy and paste this code for VB.NET below into your code editor with your app, compile and run your application. Enjoy writing a code with ready-to-use sample codes in VB.NET.
You can download free trial version of ByteScout Data Extraction Suite from our website to see and try many others source code samples for VB.NET.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
Imports Bytescout.Spreadsheet Imports System.IO Module Module1 Sub Main() ' sample XLS to XML conversion SampleXLStoXMLConversion() ' sample XML to XLS conversion SampleXMLtoXLSConversion() End Sub ''' <summary> ''' shows how to convert existing XLS (Excel) _document into XML using Bytescout.Spreadsheet and Bytescout.Spreadsheet.Utils.SimpleXMLConverter ''' </summary> Sub SampleXLStoXMLConversion() Dim document As New Spreadsheet() document.LoadFromFile("AdvancedReport.xls") ' read XLS and save as XML Dim tools As New SimpleXMLConverter(document) tools.SaveXML("AdvancedReport.xml") document.Close() End Sub ''' <summary> ''' shows how to convert XML data into XLS excel using Bytescout.Spreadsheet and Bytescout.Spreadsheet.Utils.SimpleXMLConverter ''' </summary> Sub SampleXMLtoXLSConversion() ' read XML and convert into XLS (Excel) and save Dim document As New Spreadsheet() Dim tools As New SimpleXMLConverter(document) tools.LoadXML("AdvancedReport.xml") ' remove output file if already exists If File.Exists("AdvancedReportFromXML.xls") Then File.Delete("AdvancedReportFromXML.xls") End If document.SaveAs("AdvancedReportFromXML.xls") document.Close() ' open in default spreadsheets viewer/editor Process.Start("AdvancedReportFromXML.xls") End Sub End Module
60 Day Free Trial or Visit ByteScout Data Extraction Suite Home Page
Explore ByteScout Data Extraction Suite Documentation
Explore Samples
Sign Up for ByteScout Data Extraction Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
Imports Bytescout.Spreadsheet Public Class SimpleXMLConverter Dim _document As Spreadsheet Sub New(ByRef document As Spreadsheet) _document = document End Sub Sub LoadXML(ByVal path As String) Dim dataSet As New DataSet() dataSet.ReadXml(path) For Each table As DataTable In dataSet.Tables Dim worksheet As Worksheet = _document.Workbook.Worksheets.Add(table.TableName) ' Add columns worksheet.Columns.Insert(0, table.Columns.Count) ' Add rows for data worksheet.Rows.Insert(0, table.Rows.Count) ' Fill data For i As Integer = 0 To table.Rows.Count - 1 For j As Integer = 0 To table.Columns.Count - 1 worksheet.Cell(i + 1, j).Value = table.Rows(i)(j).ToString() Next Next Next End Sub Sub SaveXML(ByVal path As String) Dim dataSet As New DataSet() For i As Integer = 0 To _document.Workbook.Worksheets.Count - 1 Dim worksheet As Worksheet = _document.Workbook.Worksheets(i) Dim table As DataTable = dataSet.Tables.Add(worksheet.Name) For column As Integer = 0 To worksheet.UsedRangeColumnMax table.Columns.Add(String.Format("Column_{0}", column)) Next For row As Integer = 0 To worksheet.UsedRangeRowMax Dim data() As Object Array.Resize(data, worksheet.UsedRangeColumnMax + 1) For column As Integer = 0 To worksheet.UsedRangeColumnMax data(column) = worksheet.Cell(row, column).Value Next table.Rows.Add(data) Next Next dataSet.WriteXml(path) End Sub Sub PrintDataSet(ByRef ds As DataSet) Console.WriteLine("DataSet name: {0}", ds.DataSetName) For Each table As DataTable In ds.Tables Dim rowCount As Integer = table.Rows.Count Dim columnCount As Integer = table.Columns.Count Console.WriteLine("\nTable: {0} ({1} rows)", table.TableName, rowCount) For Each column As DataColumn In table.Columns Console.Write("{0}\t", column.ColumnName) Next Console.WriteLine() For i As Integer = 0 To rowCount - 1 For column As Integer = 0 To columnCount - 1 Console.Write("{0}\t", table.Rows(i)(column)) Next Console.WriteLine() Next Next End Sub End Class
60 Day Free Trial or Visit ByteScout Data Extraction Suite Home Page
Explore ByteScout Data Extraction Suite Documentation
Explore Samples
Sign Up for ByteScout Data Extraction Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
60 Day Free Trial or Visit ByteScout Data Extraction Suite Home Page
Explore ByteScout Data Extraction Suite Documentation
Explore Samples
Sign Up for ByteScout Data Extraction Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
also available as: