open-insight/LSL2/STPROC/GEMBOXSAMPLE.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

136 lines
6.5 KiB
Plaintext

Function GemBoxSample(Void)
$insert LOGICAL
$insert REVDOTNETEQUATES
Declare function Reactor_Services
Declare subroutine Reactor_Services
Debug
* StartDate = Iconv('11/17/2017', 'D')
* EndDate = Iconv('11/21/2017', 'D')
* For ScheduleDate = StartDate to EndDate
* rv = Reactor_Services('ClearWafersProcessed', ScheduleDate)
* rv = Reactor_Services('UpdatePerformanceTrackers', ScheduleDate)
* Next ScheduleDate
*
* Return
// Start the .NET engine.
hDotNet = StartDotNet('')
Status = Get_Status(StatusCode)
// Load a .NET assembly. This creates the system object (hDotNet).
rv = Set_Property.Net(hDotNet, 'AssemblyName', 'C:\Program Files (x86)\GemBox Software\GemBox.Spreadsheet 3.9\Bin\NET3X4X\GemBox.Spreadsheet.dll')
Status = Get_Status(StatusCode)
// Create a Spreadsheet handle/class directly from the system object. This is necessary to activate the product license.
hSpreadsheetInfo = Create_Class.Net(hDotNet, 'GemBox.Spreadsheet.SpreadsheetInfo', 0)
Status = Get_Status(StatusCode)
// Set the product license.
rv = Send_Message.Net(hSpreadsheetInfo, 'SetLicense', 'EUZ6-PWUP-BDWC-VA5A')
Status = Get_Status(StatusCode)
// Create an Excel file handle/class directly from the system object. This will be the primary object used.
hExcelFileFactory = Create_Class.Net(hDotNet, 'GemBox.Spreadsheet.ExcelFile', 0)
Status = Get_Status(StatusCode)
* hLoadOptions = Create_Class.Net(hDotNet, 'GemBox.Spreadsheet.LoadOptions', 0)
* Status = Get_Status(StatusCode)
* hXlsxDefault = Get_Property.Net(hLoadOptions, 'XlsxDefault', 1)
* Status = Get_Status(StatusCode)
// Load a worksheet from a specific path. This does not generate a handle/class. It just loads into the ExcelFile object the content of an actual Excel file.
* rv = Send_Message.Net(hExcelFile, 'Load', 'E:\apps\Scheduler\Daily (Template).xlsx' : @FM : hXlsxDefault, 'System.String' : @FM : 'GemBox.Spreadsheet.LoadOptions')
* hExcelFile = Send_Message.Net(hExcelFileFactory, 'Load', 'E:\apps\Scheduler\Daily (Template).xlsx' : @FM : hXlsxDefault, 'System.String' : @FM : 'GemBox.Spreadsheet.LoadOptions', 1)
hExcelFile = Send_Message.Net(hExcelFileFactory, 'Load', 'E:\apps\Scheduler\Daily (Template).xlsx', 'System.String', 1)
Status = Get_Status(StatusCode)
* Debug
// Create a Worksheet collection handle/class from the Worksheets property of the ExcelFile class.
hWorksheets = Get_Property.Net(hExcelFile, 'Worksheets', 1)
Status = Get_Status(StatusCode)
* rv = Send_Message.Net(hWorksheets, 'Add', 'MySheet')
* Status = Get_Status(StatusCode)
WorkSheetCount = Get_Property.Net(hWorksheets, 'Count')
Status = Get_Status(StatusCode)
Debug
hActiveWorksheet = Get_Property.Net(hWorksheets, 'Item[2]', 1)
Status = Get_Status(StatusCode)
hRows = Get_Property.Net(hActiveWorksheet, 'Rows', 1)
Status = Get_Status(StatusCode)
RowCount = Get_Property.Net(hRows, 'Count')
Status = Get_Status(StatusCode)
hColumns = Get_Property.Net(hActiveWorksheet, 'Columns', 1)
Status = Get_Status(StatusCode)
ColumnCount = Get_Property.Net(hColumns, 'Count')
Status = Get_Status(StatusCode)
hActiveRow = Get_Property.Net(hRows, 'Item[1]', 1)
Status = Get_Status(StatusCode)
hCells = Get_Property.Net(hActiveRow, 'Cells', 1)
Status = Get_Status(StatusCode)
hActiveCell = Get_Property.Net(hCells, 'Item[1]', 1)
Status = Get_Status(StatusCode)
LastColumnIndex = Get_Property.Net(hCells, 'LastColumnIndex')
Status = Get_Status(StatusCode)
ColumnWidth = Get_Property.Net(hCells, 'Width')
Status = Get_Status(StatusCode)
CellValue = Get_Property.Net(hActiveCell, 'Value')
Status = Get_Status(StatusCode)
rv = Set_Property.Net(hActiveCell, 'Value', 25)
Status = Get_Status(StatusCode)
* hActiveWorksheet = Get_Property.Net(hWorksheets, 'ActiveWorksheet', 1)
* Status = Get_Status(StatusCode)
* WorksheetName = Get_Property.Net(hActiveWorksheet, 'Name')
WorksheetName = Get_Property.Net(hActiveWorksheet, 'Name')
Status = Get_Status(StatusCode)
* Methods = Get_Info.Net(hActiveWorksheet, REVDOTNET_INFO_METHODS)
* Status = Get_Status(StatusCode)
* Properties = Get_Info.Net(hActiveWorksheet, REVDOTNET_INFO_PROPERTIES)
* Status = Get_Status(StatusCode)
* Debug
rv = Send_Message.Net(hWorksheets, 'Add', 'Hello World')
Status = Get_Status(StatusCode)
rv = Send_Message.Net(hExcelFile, 'Save', 'E:\apps\Scheduler\Hello World.xlsx')
Status = Get_Status(StatusCode)
// Free all
Free_Class.Net()
* Dim ef As ExcelFile = New ExcelFile
* Dim ws As ExcelWorksheet = ef.Worksheets.Add("Hello World")
*
* ws.Cells(0, 0).Value = "English:"
* ws.Cells(0, 1).Value = "Hello"
*
* ws.Cells(1, 0).Value = "Russian:"
* ' Using UNICODE string.
* ws.Cells(1, 1).Value = New String(New Char() {ChrW(&H417), ChrW(&H434), ChrW(&H440), ChrW(&H430), ChrW(&H432), ChrW(&H441), ChrW(&H442), ChrW(&H432), ChrW(&H443), ChrW(&H439), ChrW(&H442), ChrW(&H435)})
*
* ws.Cells(2, 0).Value = "Chinese:"
* ' Using UNICODE string.
* ws.Cells(2, 1).Value = New String(New Char() {ChrW(&H4F60), ChrW(&H597D)})
*
* ws.Cells(4, 0).Value = "In order to see Russian and Chinese characters you need to have appropriate fonts on your PC."
* ws.Cells.GetSubrangeAbsolute(4, 0, 4, 7).Merged = True
*
* ef.Save("Hello World.xlsx")
*
Return ''
UnusedCode:
* hLoadOptions = Create_Class.Net(hDotNet, 'GemBox.Spreadsheet.LoadOptions', 0)
* Status = Get_Status(StatusCode)
* XlsxDefault = Get_Property.Net(hLoadOptions, 'XlsxDefault', 0)
* Status = Get_Status(StatusCode)
* Methods = Get_Info.Net(hWorksheets, REVDOTNET_INFO_METHODS)
* Status = Get_Status(StatusCode)
* Properties = Get_Info.Net(hWorksheets, REVDOTNET_INFO_PROPERTIES)
* Status = Get_Status(StatusCode)
return