webxcel

🤔 A REST backend built with plain VBA Microsoft Excel macros. Yes. Macros. (by michaelneu)

Webxcel Alternatives

Similar projects and alternatives to webxcel

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better webxcel alternative or higher similarity.

webxcel reviews and mentions

Posts with mentions or reviews of webxcel. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-28.
  • I HATE EXCEL I HATE EXCEL I HATE EXCEL I HATE EXCEL I HATE EXCEL
    1 project | /r/ProgrammerHumor | 9 Jun 2023
    Not only can excel be a database, but it can also be an web server with API to access the spreadsheets as a database. Take a look at WebExcel
  • When Excel isn't just a database, but THE database
    2 projects | /r/talesfromtechsupport | 28 Sep 2022
    See webxcel, an excel macro that turns your workbook into a backend "database" with a rest api. It is an entire http server running in excel serving the worksheets. It even supports fastapi for using php pages.
  • Error using OCX “Class not registered” [VBA PowerPoint]
    13 projects | /r/vba | 8 Apr 2021
    Option Explicit ' bits and pieces from: https://github.com/michaelneu/webxcel/blob/master/src/Modules/wsock32.bas ' and https://github.com/michaelneu/webxcel/blob/master/src/Classes/TcpClient.cls Public Const WSADESCRIPTION_LEN = 256 Public Const WSASYS_STATUS_LEN = 128 Public Const WSADESCRIPTION_LEN_ARRAY = WSADESCRIPTION_LEN + 1 Public Const WSASYS_STATUS_LEN_ARRAY = WSASYS_STATUS_LEN + 1 Public Type WSADATA wVersion As Integer wHighVersion As Integer szDescription As String * WSADESCRIPTION_LEN_ARRAY szSystemStatus As String * WSASYS_STATUS_LEN_ARRAY iMaxSockets As Integer iMaxUdpDg As Integer lpVendorInfo As String End Type Public Const AF_INET = 2 Public Const SOCK_STREAM = 1 Public Const INADDR_ANY = 0 Public Type IN_ADDR s_addr As Long End Type Public Type sockaddr_in sin_family As Integer sin_port As Integer sin_addr As IN_ADDR sin_zero As String * 8 End Type Public Const FD_SETSIZE = 64 Public Type fd_set fd_count As Integer fd_array(FD_SETSIZE) As Long End Type Public Type timeval tv_sec As Long tv_usec As Long End Type Public Type sockaddr sa_family As Integer sa_data As String * 14 End Type Public Const INVALID_SOCKET = -1 Public Const SOL_SOCKET = 65535 Public Const SO_RCVTIMEO = &H1006 Public Declare PtrSafe Function WSAStartup Lib "wsock32.dll" (ByVal versionRequired As Long, wsa As WSADATA) As Long Public Declare PtrSafe Function WSAGetLastError Lib "wsock32.dll" () As Long Public Declare PtrSafe Function WSACleanup Lib "wsock32.dll" () As Long Public Declare PtrSafe Function socket Lib "wsock32.dll" (ByVal addressFamily As Long, ByVal socketType As Long, ByVal protocol As Long) As Long Public Declare PtrSafe Function connect Lib "wsock32.dll" (ByVal s As Long, ByRef address As sockaddr_in, ByVal namelen As Long) As Long Public Declare PtrSafe Function htons Lib "wsock32.dll" (ByVal hostshort As Long) As Integer Public Declare PtrSafe Function bind Lib "wsock32.dll" (ByVal socket As Long, name As sockaddr_in, ByVal nameLength As Integer) As Long Public Declare PtrSafe Function listen Lib "wsock32.dll" (ByVal socket As Long, ByVal backlog As Integer) As Long Public Declare PtrSafe Function select_ Lib "wsock32.dll" Alias "select" (ByVal nfds As Integer, readfds As fd_set, writefds As fd_set, exceptfds As fd_set, timeout As timeval) As Integer Public Declare PtrSafe Function accept Lib "wsock32.dll" (ByVal socket As Long, clientAddress As sockaddr, clientAddressLength As Integer) As Long Public Declare PtrSafe Function setsockopt Lib "wsock32.dll" (ByVal socket As Long, ByVal level As Long, ByVal optname As Long, ByRef optval As Long, ByVal optlen As Integer) As Long Public Declare PtrSafe Function send Lib "wsock32.dll" (ByVal socket As Long, buffer As String, ByVal bufferLength As Long, ByVal flags As Long) As Long Public Declare PtrSafe Function recv Lib "wsock32.dll" (ByVal socket As Long, ByVal buffer As String, ByVal bufferLength As Long, ByVal flags As Long) As Long Public Declare PtrSafe Function inet_addr Lib "wsock32.dll" (ByVal hostname As String) As Long Public Declare PtrSafe Function closesocket Lib "wsock32.dll" (ByVal s As Long) As Long Sub Client() ' initialize winsock (WSAStartup) Dim wVersionRequested As Long wVersionRequested = &H202 ' try for version 2.2 Dim WinsockData As WSADATA, WinsockResult As Long WinsockResult = WSAStartup(&H101, WinsockData) If WinsockResult <> 0 Then ' error MsgBox "WSAStartup Error: " & WinsockResult Exit Sub End If Dim host As String, port As Long, m_clientSocket As Long host = "192.168.1.1" ' local router, commonly port = 80 Dim IPaddress As sockaddr_in IPaddress.sin_addr.s_addr = inet_addr(host) IPaddress.sin_family = AF_INET IPaddress.sin_port = htons(port) m_clientSocket = socket(AF_INET, SOCK_STREAM, 0) Dim connectResult As Long connectResult = connect(m_clientSocket, IPaddress, 16) If connectResult = -1 Then ' error MsgBox "Connect Error" WinsockResult = WSACleanup() Exit Sub End If Dim message As String message = "GET / HTTP/1.1" WinsockResult = send(m_clientSocket, ByVal message, Len(message), 0) Dim buffer As String, x As Long message = "" Do buffer = Trim(ReceiveBytes(m_clientSocket, 1024)) If Len(buffer) > 0 Then message = message & buffer End If Loop While Len(buffer) > 0 MsgBox "Reply: " & Trim(message) ' clean up WinsockResult = WSACleanup() If WinsockResult <> 0 Then ' error MsgBox "Cleanup Error: " & WinsockResult End If End Sub Public Function ReceiveBytes(ByVal a_clientSocket As Long, ByVal bytes As Long) As String Dim buffer As String, i As Long buffer = "" For i = 0 To bytes - 1 buffer = buffer & Chr(0) Next Dim readBytes As Long readBytes = recv(a_clientSocket, buffer, bytes, 0) If readBytes <> -1 Then ReceiveBytes = Left(buffer, readBytes) End If End Function
  • Host http server in vba
    1 project | /r/excel | 7 Apr 2021
    Have you seen this? https://github.com/michaelneu/webxcel
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 24 Apr 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →

Stats

Basic webxcel repo stats
4
415
0.0
over 4 years ago

michaelneu/webxcel is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of webxcel is Visual Basic.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com