Click here to Skip to main content
15,885,309 members
Articles / Programming Languages / C#
Article

ExcelQuicker

Rate me:
Please Sign up or sign in to vote.
2.92/5 (16 votes)
26 Jun 20054 min read 113.1K   3.7K   54   28
The program is designed to simplify the development of reports, based on Office Excel 2000 or above environment.

Background

  1. Worldwide

    As we know, Microsoft Office is the most fashionable system all over the world. And Excel is one of the most important elements. We can see Office on nearly every PC with Windows OS.

  2. Performance

    The function of Excel is very powerful, specially in routine reporting, data statistics and analysis, and is even comparable to the popular report systems such as Crystal Reports and Fast Report.

    As we know, Excel not only supports .xls files but also can cope with .htm and several other formats. Besides various supported formats, it allows OLAP, rich style and VBA macros. Even many companies develop applications based on Excel.

  3. Low-Cost

    Talking about report services, I think most programmers are familiar with Crystal Reports and Fast Report. But the price of these professional report systems is very high. I know a full-license of Crystal Reports will cost several million RMB (Chinese currency).

    Comparing with these report systems, Microsoft Office system only costs several dollars. Yes, we can know it is several times cheaper than other report systems.

  4. Development

    If we are familiar of the Excel COM Interfaces, we can see they are not friendly indeed. Microsoft provides us the best applications but does not expose the best and efficient way. That's why I developed this control.

  5. Technology

    Lots of people know how powerful the Excel is. But they encounter technical problems often. Such as they cannot dispose memory efficiently after an operation, or the rate of output of an Excel document maybe too slow. Indeed, these are only caused by their inexperience on developing on Excel and the complex structures of Excel COM Interface.

Introduction

Yes, those reasons are why ExcelQuicker is invented now. It is based on the cut-price Office system and it can provide powerful functions as Office's. Meanwhile, it combines Excel COM interface and shows you a new, simple and clear class diagram.

ExcelQuicker does not only provides us .xls format report, but also can create .html online reports. Inside it, there is favorable design and algorithmic optimization. The rate of generating reports is very fast, and you can see that from the statistics below (environment: P4 2.4G CPU+ 1G RAM):

Image 1

As the diagram shows, at the beginning, it will cost 25 minutes when we generate a report with 2W records (20000 rows * 10 columns). But now ExcelQuicker v2.2 only needs 2 minutes. And it also illustrates that I am upgrading and optimizing ExcelQuicker constantly. I think it will be better in the future.

CSS - HTML = VBA - Excel

Besides performance, ExcelQuicker brings us a new idea that is design mode. I think every web application developer knows how important the CSS is to a web page. Now, the idea is that the VBA macro is also very important to reports when we use ExcelQuicker to develop reports.

We can record some VBA macros in Excel applications and save them in an Excel file. The Excel file assumes it as Excel template document when we are using ExcelQuicker. It will create report files based on this Excel template document. And you can set the VBA hooker to call these VBA macros in an Excel document. You can change the reports easily without re-compile the projects.

For example, at the beginning, customer requires us to design report title font in red. But after sometime, he changes the requirement and asks us to create black title font. In this case, if we design the title font style as VBA macros in an Excel document, we only need to modify those VBA macros in the Excel template document. It's not necessary to re-compile the project now. It's very convenient.

Maybe you know nothing about Excel VBA macros. It doesn't matter. You can record VBA macros in Excel applications easily. And then, nearly 80% of those VBA macros can be used in ExcelQuicker.

You can write as follows to construct a VBAHooker object:

C#
EQVBAHooker vba = new EQVBAHooker("AdjustWidth");

It means that it will call the VBA macro "AdjustWidth" automatically in the Excel document at runtime.

Finally, ExcelQuicker not only relies on VBA macros call. Indeed, it's a framework, it has many classes and can help you to create reports.

Estimation

I comparing here the benefits of ExcelQuicker and Crystal Reports.

Image 2

You can choose ExcelQuicker based on Office 2000 or Office 2003. Office 2000 is 200 dollars less than Office 2003, but your application using ExcelQuicker based on Office 2003 in much more stable and safe than that using Office 2000. Whatever your choice, I think you know they are much cheaper than a Crystal Reports solution.

So, my advice is that keep calm when you need to choose report solutions. If there is no special requirement, I think it's not necessary to adopt Crystal Reports.

Moreover, as an open source and non-commercial software, I advice you choose ExcelQuicker. It can bring you a highly efficient and performable experience in development or runtime.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
President TCWH
China China
I've worked as a software architect and developer based on Microsoft .NET framework and web technology since 2002, having rich experience on SaaS, multiple-tier web system and website development. I've devoted into open source project development since 2003, and have created 3 main projects including DataQuicker (ORM), ExcelQuicker (Excel Report Generator), and RapidWebDev (Enterprise-level CMS)

I worked in BenQ (8 mo), Bleum (4 mo), Newegg (1 mo), Microsoft (3 yr) and Autodesk (5 yr) before 2012. Now I own a startup company in Shanghai China to deliver the exceptional results to global internet users by leveraging the power of Internet and the local excellence.

Comments and Discussions

 
SuggestionHello ! Pin
Mazen el Senih21-Mar-12 11:36
professionalMazen el Senih21-Mar-12 11:36 
I've read down there you have also wrote this library for windows forms
if you don't mind I think we all like you to post an update for this article contains the win forms sample
whether it's in chinese or whatever we all speak the same programming languages right ?!
Got my five and please inform me if so. Thumbs Up | :thumbsup:
GeneralExcelQuicker for Winforms Pin
dswdl7-Feb-09 22:10
dswdl7-Feb-09 22:10 
GeneralRe: ExcelQuicker for Winforms Pin
IBOLS4-Feb-10 17:28
IBOLS4-Feb-10 17:28 
GeneralSample Project Can't be Run Pin
Aaron61523-Feb-08 3:19
Aaron61523-Feb-08 3:19 
Generalexcel project deployment Pin
fatih isikhan11-Apr-06 3:56
fatih isikhan11-Apr-06 3:56 
GeneralRe: excel project deployment Pin
Dogu Tmerdem - removed28-Jun-06 2:13
Dogu Tmerdem - removed28-Jun-06 2:13 
GeneralRe: excel project deployment Pin
fatih isikhan28-Jun-06 2:20
fatih isikhan28-Jun-06 2:20 
GeneralWinformsexample Pin
hugobq10-Jan-06 7:14
hugobq10-Jan-06 7:14 
QuestionRe: Winformsexample Pin
nguyen van long1-Jun-06 21:24
nguyen van long1-Jun-06 21:24 
GeneralFaulty CHM Pin
SohailB3-Sep-05 2:15
SohailB3-Sep-05 2:15 
GeneralExcel.EXE Pin
Member 197457326-Aug-05 1:40
Member 197457326-Aug-05 1:40 
GeneralRe: Excel.EXE Pin
Eunge12-Sep-05 1:03
Eunge12-Sep-05 1:03 
GeneralWindows Forms sample Pin
Alomgir Miah11-Jul-05 9:49
Alomgir Miah11-Jul-05 9:49 
GeneralRe: Windows Forms sample Pin
Eunge11-Jul-05 18:32
Eunge11-Jul-05 18:32 
GeneralRe: Windows Forms sample Pin
js ko11-Sep-05 20:42
sussjs ko11-Sep-05 20:42 
QuestionRe: Windows Forms sample Pin
Golyakoff Andrew2-Aug-06 0:22
Golyakoff Andrew2-Aug-06 0:22 
AnswerRe: Windows Forms sample Pin
Golyakoff Andrew2-Aug-06 0:23
Golyakoff Andrew2-Aug-06 0:23 
GeneralRe: Windows Forms sample Pin
sv21913-Apr-07 12:58
sv21913-Apr-07 12:58 
GeneralRe: Windows Forms sample Pin
dylan chou13-Sep-13 0:49
dylan chou13-Sep-13 0:49 
GeneralNaming of "source" files Pin
fwsouthern28-Jun-05 18:00
fwsouthern28-Jun-05 18:00 
GeneralRe: Naming of "source" files Pin
Eunge30-Jun-05 4:05
Eunge30-Jun-05 4:05 
GeneralFormulas Pin
angel.carrillo20-Jun-05 5:57
angel.carrillo20-Jun-05 5:57 
GeneralRe: Formulas Pin
Eunge20-Jun-05 18:20
Eunge20-Jun-05 18:20 
GeneralGood project! Pin
uuy12-Jun-05 19:59
uuy12-Jun-05 19:59 
GeneralRe: Good project! Pin
Eunge13-Jun-05 7:06
Eunge13-Jun-05 7:06 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.