ByteScout Data Extraction Suite - VB.NET - Set custom functions with spreadsheet sdk - ByteScout

ByteScout Data Extraction Suite – VB.NET – Set custom functions with spreadsheet sdk

  • Home
  • /
  • Articles
  • /
  • ByteScout Data Extraction Suite – VB.NET – Set custom functions with spreadsheet sdk

How to set custom functions with spreadsheet sdk in VB.NET with ByteScout Data Extraction Suite

Continuous learning is a crucial part of computer science and this tutorial shows how to set custom functions with spreadsheet sdk in VB.NET

This sample source code below will display you how to set custom functions with spreadsheet sdk in VB.NET. ByteScout Data Extraction Suite 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 be applied to set custom functions with spreadsheet sdk using VB.NET.

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 set custom functions with spreadsheet sdk below and use it in your application. Just copy and paste the code into your VB.NET application’s code and follow the instructions. Enjoy writing a code with ready-to-use sample VB.NET codes.

The trial version of ByteScout Data Extraction Suite can be downloaded for free from our website. It also includes source code samples for VB.NET 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)

Module1.vb
      
Imports Bytescout.Spreadsheet Module Module1 ' This example demonstrates the calculation of custom functions. Sub Main() ' Create Spreadsheet instance Dim spreadsheet As New Spreadsheet() spreadsheet.RegistrationName = "demo" spreadsheet.RegistrationKey = "demo" ' Load document spreadsheet.LoadFromFile("CustomFuncExample.xlsx") ' Add custom formula handler spreadsheet.CustomFunctionsCallback = AddressOf MyFunctions ' Calculate the first worksheet Dim worksheet = spreadsheet.Workbook.Worksheets(0) worksheet.Calculate() ' Save calculated values to neighbor cells to demonstrate custom functions are calculated worksheet("C2").Value = worksheet("B2").Value worksheet("C3").Value = worksheet("B3").Value worksheet("C4").Value = worksheet("B4").Value ' Save modified spreadsheet spreadsheet.SaveAs("result.xlsx") ' Cleanup spreadsheet.Dispose() ' Open saved spreadsheet in associated application (for demo purpose) Process.Start("result.xlsx") End Sub Private Function MyFunctions(ByVal funcname As String, ByVal args As Object(), ByRef handled As Boolean) As Object ' Handle "CUSTOMFUNC_FACTORIAL" function If String.Compare(funcname, "CUSTOMFUNC_FACTORIAL", StringComparison.OrdinalIgnoreCase) = 0 Then handled = True ' Compute factorial If args.Length > 0 Then Dim value As Integer = args(0) If value = 0 Or value = 1 Then Return 1 End If Dim f As Integer = 1 For i As Integer = 1 To value f = f * i Next Return f End If Return Nothing End If ' Handle "CUSTOMFUNC_SUM" function If String.Compare(funcname, "CUSTOMFUNC_SUM", StringComparison.OrdinalIgnoreCase) = 0 Then handled = True ' Compute the sum of values If args.Length > 0 Then Dim sum As Double For Each o As Object In args sum = sum + o Next Return sum End If Return Nothing End If Return Nothing End Function End Module

ON-PREMISE OFFLINE SDK

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

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 Data Extraction Suite Home Page

Explore ByteScout Data Extraction Suite Documentation

Explore Samples

Sign Up for ByteScout Data Extraction Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next