Calc4Web converts spreadsheet calculations to callable subroutines, Excel custom functions, and Web Services automatically without coding

Organizations often want to make their spreadsheet calculations available to others, and perhaps not just inside an Excel spreadsheet, but outside of an Excel spreadsheet, inside other types of systems and applications or over the Internet.

That’s where Calc4Web comes in. Calc4Web will convert the spreadsheet model to C++ code, and compile that into:

  • Callable subroutines (DLLs) which can be called by programs written in any high level language, such as C/C++, Visual Basic, or Java. This makes your Excel calculations portable to any platform, even Linux
  • Excel custom functions (XLLs/UDFs) which can be called from inside other Excel spreadsheets as add-ins. Converting a large block of spreadsheet cells into a single call function makes the spreadsheet easier to understand and manage, as well as more secure
  • Web Services, a powerful new paradigm that allows functions to be called over the Internet by anyone, anywhere, at any time. Web Services can be used not only on Web pages, but also by any application, including Excel, which has Internet access. With Calc4Web, Excel calculations and models can now go global as they can be used by anyone, anywhere, at any time
Calc4Web makes spreadsheet calculations work in other systems and as Web Services over the Internet

Calc4Web's powerful conversion and code generation technology allows you to make your spreadsheet calculations work in front-, middle,- and back-office systems and over the internet automatically in record time: Weeks of work can now be done in minutes resulting in integrations of spreadsheet calculations that are as much as 500 times faster.

How is this possible? Since Calc4Web automatically reprograms parts or all of the Excel spreadsheet in C++, a huge part of the work that's normally involved in Excel migrations is already done for you. Because the programmer no longer has to reprogram the spreadsheet, he doesn't have to go through the process of learning and understanding the logic behind it, saving both his time and, perhaps more importantly, the Excel user's time. And, because the spreadsheet has now been reprogrammed by a machine, not by a person, it doesn't need to undergo the extensive testing and bug fixing that's normally involved in any code development effort. In fact, all the bug fixing and testing can now be done in Excel before the conversion to C++. All of these steps save a great deal of valuable time and result in migrations of Excel calculations that take minutes, not weeks or months. And, as powerful as it is, Calc4Web is also one of the simplest programs you'll ever use. Simply load up your spreadsheet, and push a button to make the magic happen.

And Calc4Web will work with any Excel spreadsheet calculation, even if you use Excel's built-in functions, the Analysis Toolpak, VBA or even add-in functions from third-party vendors.

Calc4Web lets you use Excel to code in C++

Simply design your algorithm in an Excel spreadsheet, push a button, and Calc4Web will instantly convert parts or all of your spreadsheet into a C++ subroutine that’s error free and immediately usable. No more debugging or testing of C++ code anymore.

Prototype to production at the push of a button

Calc4Web delivers dramatic productivity gains. How? To start with, prototyping in Excel is usually far faster than anything else in your toolbox. And with Calc4Web, once it’s set up, you’re done. Think about it: right now, you might prototype in Excel, and then you start coding. With Calc4Web, you skip the coding, and you skip the C++ debugging and testing. All you do is prototype in Excel, push a button and your perfect, ready to use C++ subroutine is automatically generated. Which translates into much more productive days, and nights spent at home for a change.

Excel is a powerful programming tool

Think Excel’s a toy? Think again. With over 300 built-in functions, Excel puts most toolboxes to shame. Calc4Web has converted all of these built-in functions to C++ subroutines, making them all available to be called by any program. And since Calc4Web even converts spreadsheets that contain user-defined addin functions, the possibilities are limitless, giving everyone the ability to write structured programs out of small, easily maintained spreadsheet components. Calc4Web even lets you create Web services out of the box.

Write structured programs with Excel

Once Calc4Web converts the spreadsheet, it compiles the generated C++ code into not only DLLs but also Excel addins. And since Calc4Web also converts spreadsheets that themselves contain addin functions, it’s simple to implement structured coding techniques in Excel. For example, write a simple spreadsheet to compute the present value of a dollar. Then, use the newly created function in another spreadsheet to sum up the present value of a stream of $100 annual interest payments for the next ten years, and turn this into another function. Then, use the newly created cashflow function to price a portfolio of 30 streams of interest payments. And on and on.

Granted, there are some things that aren’t easy to do in a spreadsheet. Looping, for example. But Calc4Web has you covered there, too: write the loop in VBA, calling into a Calc4Web generated function. And then have Calc4Web convert the VBA to C++ code. Virtually any calculation engine that can be written in C++ (or any other language) can be created with Excel and Calc4Web. Only faster. There are plenty of visual tools out there that remove the drudgery of programming user interfaces. Now there’s finally a visual tool for programming calculation logic: Calc4Web.

Calc4Web turns Excel into a visual programming language.

Calc4Web makes even veteran C++ programmers more productive. Calc4Web turns Excel into a real visual programming language, unlike C++ (or Visual Basic, for that matter). Think about how code gets written in a procedural language: A has to come before B which has to come before C. Everything must be specified, step by step. Excel, on the other hand, is like a free-form tool: lay out your logic anywhere, and the inherent relationships among the variables is automatically, and naturally defined. Excel is the ultimate environment, since you get to see the formulas, as well as the results of the formulas, all along the way. Errors are found and fixed much faster. Projects shrink from weeks to days, and hours to minutes.

Debugging and testing in Excel is easier, less painful, and much faster than in C++

Calc4Web drastically cuts down on code development time. In many cases, by as much as 90%. Think about it, when you develop code, writing the actual code often takes up a fraction of the time. Most of the development time is spent debugging and testing. And debugging and testing. And debugging and testing until the values are finally on the mark. With Calc4web, you get to do your debugging and testing in Excel, where the logic of your calculations is crystal clear, and where the values of all your variables are right in front of you. The process of debugging and testing in C++ can be a painful and gut wrenching experience involving putting breakpoints everywhere, stopping in every iteration of a loop, thinking like a computer and solving multiple C++ puzzles. Perphaps for some people it’s fun. But one thing is for sure for everyone, debugging and testing in C++ is incredibly time consuming. Debugging and testing in Excel on the other hand, is painless, straightforward, and FAST.

Calc4Web's Breakthrough Patent-Pending Technology Makes Excel Run 300 Times Faster

Calc4Web uses a patent-pending software technology to speed up Excel spreadsheets, allowing them to run up to 300 times faster. "Coffee break" spreadsheets, those taking several minutes to calculate, can now run in the blink of an eye. Very large "overnight" spreadsheets taking eight hours can now run in a mere minute and a half. That's an astonishing 300 times faster. With Calc4Web, spreadsheet users finally get to leave work on time.

The Secret To Calc4Web's Speed

Calc4Web completely takes advantage of the fact that programming code runs much faster than spreadsheet code. Calc4Web's patent-pending technology actually converts Excel spreadsheet formulas into C++ programming code, and then compiles it into binary code (0's and 1's).

Whenever Excel performs a calculation, it must trade off between speed and flexibility. Every time the user hits F9 to recalculate, Excel needs to convert every cell in the spreadsheet into the binary 0's and 1's that the computer understands, as well as determine the right order to calculate the cells, and how to format them. Calc4Web isn't hampered by any of that. Calc4Web directly generates binary code, so when the calculations are performed there's no overhead. This makes Excel run up to 300 times faster.

Essentially, Calc4Web is a programmer, but far better because Calc4Web can code much faster, much cheaper, and, best of all, with no errors or bugs. The implications of this are far-reaching: Calc4Web technology empowers spreadsheet users who have no programming knowledge with the ability to program in C++. Excel is their interface for programming in C++.

The Calc4Web Paradigm

Calc4Web works on calculations: numbers go in, and valuations come out. It's what you use Excel for: to figure out the fair value of an investment, or the expected profits for a firm, or the amount of money you need to put away to retire, or the cash flows on a portfolio, or any of a million other things. In every case, there's a set of inputs that drive the calculation, and an output that you're interested in arriving at.

Calc4Web takes a spreadsheet you've built, and after being told which cells hold the inputs and outputs, it takes all the calculations in between the inputs and the outputs and turns them into a new program. It doesn't throw away your spreadsheet, it just makes a new copy of the model in C++, and then compiles it into binary code. This code can work inside Excel, as an AddIn function, or outside Excel, to be called from C, C++, Visual Basic or any other high level programming language. Or even as a Web Service.

How fast is the binary code? Lightning fast. As fast as if someone had manually rewritten the spreadsheet formulas in C++. Because that's exactly what Calc4Web has done.

Since the binary code can be used as an Excel add-in function, you're now free to use it in your spreadsheet, replacing the output cells with a single formula using the newly created function, and getting rid of all the other cells.

The binary code created by Calc4Web is a file that the computer knows how to read, but not people. This means that modelers can distribute the binary code, instead of the spreadsheet, to other users, without worrying about the recipients inadvertently breaking the spreadsheet by accidentally adding rows or columns without fully understanding the implications. In addition, proprietary algorithms can now be kept from prying eyes, allowing for safer and wider distribution of intellectual property.

Put another way, Calc4Web takes a spreadsheet model like this:


and turns it into this:


With Calc4Web, the mortgage IRR methodology is hidden from view. Even when the cursor goes over the IRR cell, the methodology does not get revealed.

However, Calc4Web functions are not limited to calculating just a single value. They can accommodate a range of outputs as well. For example, you can use Calc4Web to encapsulate the logic behind mortgage-backed security cashflow calculations into a Calc4Web array function that can be used over and over again. In this example, the new function returns two columns: the date of the cash flow, and the total cash flow from principal and interest:


This is a very useful function to have around and give to others. It doesn't shrink the spreadsheet as much as a function that has only one output, like IRR. But it's still much easier to work with, and doesn't require copying and pasting all the formulas everywhere you want to use it, being forced to remember about absolute and relative references, and all the other dangers of copying a block of formulas from one spreadsheet to another.

But Calc4Web also has another powerful trick. For example, take the following portfolio of three mortgage bonds. The portfolio is specified in B6:F8, with one row per bond, and columns to specify the necessary information about each bond. This information is referenced lower down in the spreadsheet, and the new cash flow function is used to easily generate the cash flows on each security in the portfolio:


There is one input area, B6:F8, which is a range. The cash flows for each bond are calculated, and off to the right, we add up the cash flows to get the total cash flows on the portfolio.

Now for the trick: we can use Calc4Web again, where the spreadsheet includes the cash flow function Calc4Web just created, to get another new function for the cash flows on a portfolio in one fell swoop:


This is one of Calc4Web's most powerful features: the ability to turn spreadsheets into C++ functions, and then, using those functions in a spreadsheet, convert the spreadsheet again. This gives you the power of structured C++ programming without the pain.

Calc4Web allows Excel spreadsheet users to be C++ programmers without any knowledge of C++. This has powerful implications. Spreadsheet users who must currently wait for IT resources to put their models into production can now at last be in control of their own destiny. They can now produce C++ programs that their systems can understand using only the Excel spreadsheet. What's more, they can do it faster, more efficiently, and error-free. Calc4Web marks a major advancement in the development of Excel technology.



"Once you’ve used Calc4Web, you may find that you simply can’t be without it."

Rick Grehan, InfoWorld

"It's not just cool. It's simple."

Tom Yager, InfoWorld

"With Calc4Web, I'm able to write sophisticated C++ programs in minutes using only an Excel spreadsheet. Doing it directly in C++ would take several days."

Jerome Montpetit, Risk Manager, Canadian Financial Institution

"A highly specialized tool that can bring significant benefits to some development tasks."

Peter Aitken, DevSource

"Calc4Web does just one thing: converts Excel spreadsheets and VBA to C++ DLLs and addins. But the implications of this, and it's myriad uses, are much more far-reaching in terms of latency reduction and productivity enhancement."

Andy Webb, e-FOREX

  Copyright 2004-2007, Options Unlimited Research Corp.