And FlexCel is much more than just an API to read or write xls files. On a high level view, FlexCel contains:

Similar documents
Aspose.Cells Product Family

An automatic predictive datamining tool. Data Preparation Propensity to Buy v1.05

INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3

1. MENU ICONS PORTFOLIO ALFRED (DASHBOARD) REPORTING DOMAIN EXCHANGE WATCHLIST * SETTINGS LIVE TRADING FLOOR * Protrada Quick Start Guide

What you should know about: Windows 7. What s changed? Why does it matter to me? Do I have to upgrade? Tim Wakeling

Page 18. Using Software To Make More Money With Surveys. Visit us on the web at:

Registry Tuner. Software Manual

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

Windows Presentation Foundation: What, Why and When

Easy Casino Profits. Congratulations!!

Mobile App Testing Guide. Basics of Mobile App Testing

SysPatrol - Server Security Monitor

Semester Thesis Traffic Monitoring in Sensor Networks

Choosing a Computer for Running SLX, P3D, and P5

Chapter 7 Lab - Decimal, Binary, Octal, Hexadecimal Numbering Systems

SECTION 5: Finalizing Your Workbook

Chapter 2. My Early Days Trading Forex

Telemarketing Selling Script for Mobile Websites

João Diogo Almeida Premier Field Engineer Microsoft Corporation

Using Crystal Reports with VFP

What s New: Crystal Reports for Visual Studio 2005

The Easy Way To Flipping Domain Names

Introducing the.net Framework 4.0

How Can I Get the Money Flowing? (Transcript of Lecture found at

Here are several tips to help you navigate Fairfax County s legal system.

C# and Other Languages

Pivot Charting in SharePoint with Nevron Chart for SharePoint

Table of Contents. FleetSoft Installation Guide

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

New & Affordable. VariDome. Achieve a quicker payback from your investment in Doming Equipment! MDS MiniDome 1 MDS MiniDome 2 MDS VariDome

OpenIMS 4.2. Document Management Server. User manual

BI solutions with Visio Graphical visualizations with Visio, SharePoint and Visio Services

XML in IDSS. This overview is divided broadly into two sections, each of which answers one of the following questions:

THE WINNING ROULETTE SYSTEM.

How to create PDF maps, pdf layer maps and pdf maps with attributes using ArcGIS. Lynne W Fielding, GISP Town of Westwood

Password Memory 6 User s Guide

Unit 1 Number Sense. In this unit, students will study repeating decimals, percents, fractions, decimals, and proportions.

Banana is a native application for Windows, Linux and Mac and includes functions that allow the user to manage different types of accounting files:

Visual Scoring the 360 View: 5 Steps for Getting Started with Easier, Faster and More Effective Lead Scoring

Getting Started with WebSite Tonight

Building Applications Using Micro Focus COBOL

Storing Measurement Data

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

CB Linked Server for Enterprise Applications

Arbs2U Is it right for me? 17 October 2014

Christopher Seder Affiliate Marketer

Universiteit Leiden. Opleiding Informatica

THE COACH S BEST FRIEND!

Framework as a master tool in modern web development

Product Guide. Sawmill Analytics, Swindon SN4 9LZ UK tel:

List of most-wanted corrections or additions for Siemens WinCC Flexible Software.

DiskPulse DISK CHANGE MONITOR

Documentum Desktop Client on Windows 2000 Terminal Services

You are granted free resale rights of this ebook. You can resell this ebook for as

Simple Powerful. Efficient! Inventory. Network Audit and Computer Inventory Within Minutes. DATA CONCEPT software. PC Hardware Inventory

A Simple Guide to Churn Analysis

Toad for Data Analysts, Tips n Tricks

FrenzelSoft Stock Ticker

How to Backtest Expert Advisors in MT4 Strategy Tester to Reach Every Tick Modelling Quality of 99% and Have Real Variable Spread Incorporated

This Report Brought To You By:

Airplane Buying Cheat Sheet. How To Get A Discount On Your Next Airplane:

Timing the Trade How to Buy Right before a Huge Price Advance

Excel Formatting: Best Practices in Financial Models

Quick Preview PROPERTY DAMAGE

MicroStrategy Desktop

Do you wish you could attract plenty of clients, so you never have to sell again?

OPEN XML SDK DEVELOPING OPEN XML SOLUTIONS. Zeyad Rajabi

Jan Brzeski s Introductory List-Building

AIMMS 4.0. Portable component Linux Intel version. Release Notes for Build 4.9. Visit our web site for regular updates AIMMS

Which Reporting Tool Should I Use for EPM? Glenn Schwartzberg InterRel Consulting info@interrel.com

Choosing a computer for ANY-maze

System Requirements for Microsoft Dynamics NAV 2016

Back Propagation Neural Networks User Manual

Reporting Services. White Paper. Published: August 2007 Updated: July 2008

Print Audit 6 Technical Overview

Free Report. My Top 10 Tips to Betting Like a Pro With Zero Risk

Why Your Business Needs a Website: Ten Reasons. Contact Us: Info@intensiveonlinemarketers.com

CMS Training Session 1

Linux Process Scheduling Policy

Create stunning flash movies online in minutes with the easiest flash maker in the world! Try the world's best online flash movie maker.

Using Impatica for Power Point

Is ETL Becoming Obsolete?

A Step By Step Guide On How To Attract Your Dream Life Now

Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA.

Using Mail Merge in Microsoft Word 2003

I Miss My Pet: A workbook for children about pet loss

Advantage of Jquery: T his file is downloaded from

Technical White Paper The Excel Reporting Solution for Java

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

CrossPlatform ASP.NET with Mono. Daniel López Ridruejo

YOUR SECRET WEAPON IN THE WAR AGAINST PAPER: ADOBE ACROBAT AND PDF

Using Microsoft Word. Working With Objects

So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)

The Hexadecimal Number System and Memory Addressing

Pre-Algebra Lecture 6

Pattern Insight Clone Detection

Hypercosm. Studio.

Transcription:

INTRODUCTION If you develop applications for the.net Framework, be it Winforms, ASP.NET or WPF, you are likely to need to interface with Excel sooner or later. You might need to create Excel files that your users can analyze, or import Excel files created by your users into your application. Even when this is a very common task, neither Excel nor the.net framework provide a good way to create this interface. Among the usual methods we can find: 1) Using OLE Automation: Besides being slow and not reliable, requires you to have an Excel license for each installation of your application, even if it is ASP.NET running in a server. 2) Using an OLEDB database driver for Excel: While better than OLE automation in regard to speed or stability, it has very limited formatting support. 3) Saving as CSV and importing the file in Excel: Not only it has limited format support, but it also might have problems with locales, in places where the decimal separator is the, and not the. 4) Excel 2007 provides a new xml format with the idea of overcoming those limitations, but at this moment most people do not have Excel 2007. Xls is the file format everybody expects, not xlsx. Also, creating a full featured xslx file in xml can be a very complex thing. Just because it is xml it does not mean it is easy. FlexCel Studio is designed to overcome these problems. On a very affordable package, you get a dll that is completely self-contained and that allows your application to read and write Excel files in a fast and reliable way, without needing to install Excel or any other external file. You can forget about all of the headaches associated with the above solutions and just get your job done.

And FlexCel is much more than just an API to read or write xls files. On a high level view, FlexCel contains: 1) Reading/writing API for xls files that you can use to manipulate Excel files. Different from other third party alternatives, FlexCel API is specially designed to modify documents, and this means it can modify xls files that it can t completely parse. For example, if you have a file with macros, even when FlexCel does not currently offers the ability to read or write macros, it will preserve them. Virtually every feature of the original Excel file you are modifying is preserved, so you do not have to worry about losing things when editing files. 2) A recalculation engine. Very accurate and fast, with more than 200 functions supported, it can recalculate almost any formula you put in your document (including array formulas). This way, you can run FlexCel on an environment where Excel is not installed (like a server) and create pdf files with the actual calculated data. 3) A reporting engine. On the foundation of the xls API mentioned earlier, there is a full reporting engine implemented. It works like a reporting tool, but using Excel as the report designer, and allowing any power user to modify the reports in Excel without changing the code. You design the entire report directly in Excel instead of code, providing a clean separation between data and presentation that will make the job of modifying those reports much easier later. 4) A state-of the-art rendering engine. Also included with FlexCel is a rendering package that can natively print and preview an Excel file without having Excel installed, export the file to PDF without having Excel or Acrobat or any third party add on, or export the file to images. All the work is done on pure C# code, and the results are very detailed. From conditional formats to 2-D charts, from rotated text to page headers, almost every Excel feature is rendered, producing amazingly similar documents to the ones you would get printing directly from Excel. And since FlexCel uses GDI+ to do the rendering, printing is device independent, meaning that it will print the same everywhere. While printing with Excel can result in very different things depending on the printer, FlexCel output is virtually the same everywhere you print. 5) A basic PDF API to create PDF files. In order to natively convert Excel files to PDF, we had to develop our own PDF library. Even when it is not fully featured and its main goal is to be used for the conversion, it is available to you and you can use it to create non complex standalone pdf files, Mentioning all the features available on FlexCel on this small paper would be impossible, even when we will try to resume the most important things on the following lines. But the main idea of this paper is to get you started so you download the trial and test it for yourself, because you might find a lot of more things than what is mentioned here.

POWERFUL If you have been working some time with Excel, you know it is a quite complex application, with thousands of options and documented and undocumented features. While we do not support every single feature on Excel, we support a huge range of them. And as FlexCel strength is on modifying files, it can support things it does not actually understand. For example, there is no built in support to create a pivot table. But you can create an empty pivot table on Excel, open the file with FlexCel, insert rows with the data and save the new file. The new file will contain a completely valid Pivot Table with the correct data. (You can see an actual example of this on the Pivot Table demo) There are just too many features accumulated over the years to be mentioned here. From the very accurate recalculation that honors things like 1904 dates or precision as displayed to the ability to read and write encrypted files. From the ability to read and write pxl (pocket Excel) files to the chart and conditional format rendering, to the ability to read and save from/to streams without creating temporary files. As they say a picture is worth a thousand words, let s take a look at the following one: Image 1 An xls file generated with FlexCel and the same file natively exported to PDF It shows a file created with FlexCel (You can give it a try yourself with the HTML Demo on the FlexCel package) and the same file exported to PDF with FlexCel. The first thing you realize looking at the xls file to the left is that this is not a CSV export. There is rich format, some Wordart (the number 1 ), a static image, a dynamic image with a shadow and one hyperlink. And as you can see at the pdf file at the right, everything has been exported to the pdf file, including the hyperlink (that is fully functional on the pdf file too). The pdf output is not exactly the same as the Excel one, but we think it is really close and one of the best you will get. And we are always working to make it better. But we could be speaking for ages about all the available things. Let s just resume it saying that whatever you want to do with an Excel file, you can probably do it with FlexCel. And as in so many other places in this document, we would like to encourage you to download the almost forty included demos and see all the features for yourself.

FAST FlexCel for.net is fast. Really fast. We are always profiling the code and evaluating the algorithms to make FlexCel run as fast as they it can possibly run, and no more. Correctness is always first, as it should be, but performance is an important second. But take note, you will not find any silly benchmarks on our page measuring the thousand of cells you can write on a millisecond, even when we know FlexCel has very good numbers on any benchmark. But we just look at them as meaningless, because they measure a very specific aspect of very complex application, and on real life you mix a lot of things together. It doesn t matter if you over optimized a specific method so it takes four nanoseconds instead of five, if when you try to do some real work the component starts to crawl. Those simple benchmarks are not answering the real questions, which are more like: How does this component scale when reading or writing tens of thousands of cells, with images, charts and formatting? How does it handle many components working on parallel threads? We do not optimize FlexCel for benchmarks but for real use, with real data that our users and ourselves provide, everything working together as it will on the real life. With shared data for shared threads. Trying to keep memory usage as low as possible (considering that the full file is in memory) so the component does not start to swap to the hard disk. Trying new and more efficient algorithms to do the same things. Because performance is not a goal that you achieve and forget; it is a path that you are always traveling without actually getting to the destination. We will not try to tell you that large and complex reports will not take their time to complete. They will, because creating a complex Excel file is a memory and computationally expensive task. But we make our best so complex files degrade performance as little as possible, and you still get reasonable times. And please do not take our word for it. Just download the FlexCel trial and verify it by yourself, we are pretty sure you will not be disappointed. SOLID Having the fastest and more powerful component would be meaningless if it crashes every third document it opens. We have many years of experience building Excel components, and several thousand regression tests that have been accumulated over that time that ensure FlexCel "just works". It might not be the sexiest of the features, or something that you even realize, but the fact that it works in a reliable and expected way is the most important thing to us. There is nothing worse than having your project freeze because of a bug on a third party code, and we work very hard to avoid this situation as much as we possibly can.

PORTABLE FlexCel doesn t have any p/invokes on its code, and the most of it is plain managed code. On Version 4 we introduced some code that needs unmanaged permissions, but it is only used to convert images to black and white or 256 colors. This means that if you are not using the colorconversion capabilities of the component to export xls files to images, FlexCel can run on an environment without unmanaged permissions. And this also means that FlexCel works on Mono, on Compact Framework, on 64 bits, or wherever the.net framework goes. Had we made just one call to a Win32 dll, all code would be tied to the Win32 platform. Image 2 Screenshot of the "CustomPreview" and "Virtual DataSets" demos running under Mono As you can see from the screenshot, you can even run the FlexCel previewer under Mono. Mono support for Winforms is not near perfect yet, so there are errors on the rendering and you could not use the previewer on a real application. But For server side work (for example to create the pdf you can see on the second window, or to create any xls file) FlexCel under Mono just works, and the final result is the same as you would have got under windows. The rendering engine is not available on Compact Framework (due to limitations on GDI+ under CF), but the FlexCel API, Reporting and Calculation engines are fully available, allowing you to modify files on Pocket devices. Or just use FlexCel as a very sophisticated formula calculator.

DOCUMENTED AND SUPPORTED FlexCel documentation is divided on three different layers: 1) Reference: We provide a complete API documentation where every method is documented. 2) Concepts: Because reference is not enough to get started, we also include conceptual pdf files where we explain the theory underlying the tasks. 3) How To: Almost 40 demos on how to perform the things you want to do, each one documented on its own. All of them are accessible from a MainDemo demo browser so you can find them easily, or they can be run as standalone applications when you want to study them on their own. And as expected, we also provide email and newsgroup support for those times where the documentation is just not enough. AFFORDABLE We believe you should not have to sell a house to buy our components, nor to hire a lawyer to understand our licensing terms. So we make it simple: One license per developer and this is it. Each license is royalty free, and never expires (you might need to pay for upgrades in the future, but you can continue using the code you bought forever). This means that if you are the only developer working on a project, the only thing you need to buy is a Single Developer License. No server licenses, no usage fees. If you are part of a team with four or more developers, you can buy a Server License that allows unlimited developers on unlimited projects to use FlexCel, for a very small price. If you had developed your application using OLE Automation and you needed to install Excel in just one machine that didn t had it (because it was a server or they were running Open Office), you would probably spend more money than to buy an unlimited royalty-free license for FlexCel. FULL SOURCE CODE The money you spend buying a third party component is just a small fraction of the money you are going to spend using it. Once you buy a component, you will spend hundreds of hours coding over it, and this is a much bigger and somehow hidden price than the original money you paid for the component. So, what happens if someday you can't get the component anymore? If you need to recompile it on a newer framework version, and you have a binary dll, you are out of luck. We believe you have the right to have the full source code, so you can know that whatever happens to us, you can still compile your application. And you can have a peek inside to know why something is not working as you hoped it would. So all FlexCel licenses come with FULL source code. Because you shouldn t buy components that do not come with it.