Tuesday, April 7, 2009

Speed Up Start Menu in Windows XP

Speed Up Start Menu in Windows XP: "The Start Menu can be leisurely when it decides to appear, but you can speed things along by changing it's settings from the Registry:

1.

Start Registry Editor (Regedit.exe).
2.

Locate the following key in the registry:

HKEY_CURRENT_USER/Control Panel/Desktop/

3.

On the Edit menu, click Add Value, and then add the following registry value:

'MenuShowDelay'=0
4.

Close the registry editor.

Another easy way to speed up the display of the Start Menu Items is to turn off the menu shadow:

1.

Right click on an open area of the Desktop.
2.

Select Properties.
3.

Click on the Appearance tab.
4.

Click on the Effects button.
5.

Uncheck Show shadows under menus."

Cool Deepz!

Cool Deepz!: "Billionaire School/College Dropouts
Bill Gates

Are college dropouts more successful than people with good education? It would seem so if you consider that many billionaires are people who dumped college. However, what this hides is the fact that although millions quit studies before completing them, very few of them go on to become rich.
What the list of the super-rich dropouts signifies is that in business, a top degree is not as important as having the right aptitude, attitude, determination and vision.

Here are some dropouts who went on to become billionaires:
William Henry Gates III (1955-), along with Paul Allen, co-founded Microsoft Corporation, the world's largest software maker. Bill Gates, the wealthiest person in the world with an estimated net worth of $480 crores (Rs 211,200 crore!), is probably the best-known college dropout.

Gates attended an exclusive prep school in Seattle, went on to study at Harvard University, then dropped out to pursue software development. As students in the mid-70s, he and Paul Allen wrote the original Altair BASIC interpreter for the Altair 8800, the first commercially successful PC.
In 1975, Micro-Soft - later Microsoft Corporation - was born. Three decades on, Gates has been Number One on the Forbes 400 for over a dozen years. And here's something you probably didn't know: The Bill & Melinda Gates Foundation currently provides 90 per cent of the world budget for the attempted eradication of polio.

Larry Ellison

Lawrence Joseph Ellison (1944-) , co-founder and CEO of Oracle Corporation, founded his company in 1977 with a sum of $2,000. Once a school dropout, he is now, according to Forbes, one of the richest people in America with a net worth of around $184 crores. The figure also makes him the ninth richest in the world.

As a young man, Ellison worked for the Ampex Corporation, where one of his projects was a database for the CIA. He called it Oracle, a name he was to reuse years later for the company that made him famous.
Interestingly, the organisation' s initial release was Oracle 2. The number supposedly implied that all bugs had been eliminated from an earlier version.

Ellison is quite a colourful man, and has long dabbled in all kinds of things. Want to learn more? Try his biography, The Difference Between God and Larry Ellison.

Dhirubhai Ambani

Dhirajlal Hirachand Ambani (1932-2002) was born into the family of a schoolteacher. It was a family of modest means. When he turned 16, Dhirubhai moved to Aden, working first as a gas-station attendant, then as a clerk in an oil company.

He returned to India at 26, starting a business with a meagre capital of $375. By the time of his demise, his company - Reliance Industries Ltd - had grown to become an empire, with an estimated annual turnover of $120 crores!

Dhirubhai was, in his lifetime, conferred the Indian Entrepreneur of the 20th Century Award by the Federation of Indian Chambers of Commerce and Industry. A Times of India poll in the year 2000 also voted him one of the biggest creators of wealth in this century.

Dhirubhai's is not just the usual rags-to-riches story. He will be remembered as the one who rewrote Indian corporate history and built a truly global corporate group. He is also credited with having single-handedly breathed life into the Indian stock markets and bringing in thousands of investors to the bourses.

Steve Jobs

Steven Paul Jobs (1955-) and Apple Computer are names that have long gone together.

Born in the United States to an unknown Egyptian-Arab father, Jobs was adopted soon after birth. After graduating high school, he enrolled in Reed College, dropping out after one semester.

In 1976, 21-year-old Jobs and 26-year old Steve Wozniak founded Apple Computer Co. in the family garage. Jobs revolutionised the industry by popularising the concept of home computers.

By 1984, the Macintosh was introduced. He had an influential role in the building of the World-Wide Web, and also happens to be Chairman and CEO of Pixar Animation Studios.

Today, with the iPod, Apple is bigger than ever. Incidentally, Jobs worked for several years at an annual salary of $1. It got him a listing in the Guinness Book as `Lowest Paid Chief Executive Officer.' He was once gifted a $9 crores jet by the company though. And his net worth? More than $3 billion.

Michael Dell

Michael Saul Dell (1965- ) joined the University of Texas at Austin with the intention of becoming a physician. While studying there, he started a computer company in his dormitory, calling it PC's Limited. By the time he turned 19, it had notched up enough success to prompt Dell to dropout.

In 1987, PC's Limited changed its name to Dell Computer Corporation. By 2003, Dell, Inc. was the world's most profitable PC manufacturer.

Dell has won more than his fair share of accolades, including Man of the Year from PC Magazine and EM>CEO of the Year from Financial World . Forbes, in 2005, lists him as the 18th richest in the world with a net worth of around $1600 Crores. Not bad for just another dropout.

Subhash Chandra Goel

Here's something not many people know about Subhash Chandra Goel : The Zee chairman dropped out after standard 12.

Subhash Chandra started his own vegetable oils unit at 19. It was, in a manner of speaking, his first job. Years later, a casual visit to a friend at Doordarshan gave him the idea of starting his own broadcasting company. We all know how that story ran.

Chandra knew nothing about programming, distribution or film rights. What he did understand quite well was the Indian sensibility though. Funded by UK businessmen, Zee came into being as India's first satellite TV network.
Today, it reaches 320 lakhs homes, connecting with 20 crores people in South Asia alone. The network also covers Asians in America, the Middle East, Europe, Australia and Africa, making this dropout a very rich one."

Types of Server

Types of Server: "A Server is a computer or device on a network that manages network resources. For example, a file server is a computer and storage device dedicated to storing files Any user on the network can store files on the server. A print server is a computer that manages one or more printers and a network server is a computer that manages network traffic.

Servers are often dedicated, meaning that they perform no other tasks besides their server tasks. On multiprocessing operating systems however, a single computer can execute several programs at once. A server in this case could refer to the program that is managing resources rather than the entire computer.

What is Server Platform?
A term often used synonymously with operating system. A platform is the underlying hardware or software for a system and is thus the engine that drives the server.

Server types:

Application Servers
Sometimes referred to as a type of middleware, application servers occupy a large chunk of computing territory between database servers and the end user, and they often connect the two.

Middleware is a software that connects two otherwise separate applications For example, there are a number of middleware products that link a database system to a Web server This allows users to request data from the database using forms displayed on a Web browser and it enables the Web server to return dynamic Web pages based on the user's requests and profile.

The term middleware is used to describe separate products that serve as the glue between two applications. It is, therefore, distinct from import and export features that may be built into one of the applications. Middleware is sometimes called plumbing because it connects two sides of an application and passes data between them. Common middleware categories include:


* TP monitors
* DCE environments
* RPC systems
* Object Request Brokers (ORBs)
* Database access systems
* Message Passing


Audio/Video Servers
Audio/Video servers bring multimedia capabilities to Web sites by enabling them to broadcast streaming multimedia content. Streaming is a technique for transferring data such that it can be processed as a steady and continuous stream. Streaming technologies are becoming increasingly important with the growth of the Internet because most users do not have fast enough access to download large multimedia files quickly. With streaming, the client browser or plug-in can starts displaying the data before the entire file has been transmitted.

For streaming to work, the client side receiving the data must be able to collect the data and send it as a steady stream to the application that is processing the data and converting it to sound or pictures. This means that if the streaming client receives the data more quickly than required, it needs to save the excess data in a buffer If the data doesn't come quickly enough, however, the presentation of the data will not be smooth.

There are a number of competing streaming technologies emerging. For audio data on the Internet, the de facto standard is Progressive Network's RealAudio.

Chat Servers
Chat servers enable a large number of users to exchange information in an environment similar to Internet newsgroups that offer real-time discussion capabilities. Real time means occurring immediately. The term is used to describe a number of different computer features. For example, real-time operating systems are systems that respond to input immediately. They are used for such tasks as navigation, in which the computer must react to a steady flow of new information without interruption. Most general-purpose operating systems are not real-time because they can take a few seconds, or even minutes, to react.

Real time can also refer to events simulated by a computer at the same speed that they would occur in real life. In graphics animation, for example, a real-time program would display objects moving across the screen at the same speed that they would actually move.

Fax Servers
A fax server is an ideal solution for organizations looking to reduce incoming and outgoing telephone resources but that need to fax actual documents.

FTP Servers
One of the oldest of the Internet services, File Transfer Protocol makes it possible to move one or more files securely between computers while providing file security and organization as well as transfer control.

Groupware Servers
A GroupWare server is software designed to enable users to collaborate, regardless of location, via the Internet or a corporate Intranet and to work together in a virtual atmosphere.

IRC Servers
An option for those seeking real-time capabilities, Internet Relay Chat consists of various separate networks (or 'nets') of servers that allow users to connect to each other via an IRC network.

List Servers
List servers offer a way to better manage mailing lists, whether they are interactive discussions open to the public or one-way lists that deliver announcements, newsletters, or advertising.

Mail Servers
Almost as ubiquitous and crucial as Web servers, mail servers move and store mail over corporate networks via LANs and WANs and across the Internet.

News Servers
News servers act as a distribution and delivery source for the thousands of public news groups currently accessible over the USENET news network. USENET is a worldwide bulletin board system that can be accessed through the Internet or through many online services The USENET contains more than 14,000 forums called newsgroups that cover every imaginable interest group. It is used daily by millions of people around the world.

Proxy Servers
Proxy servers sit between a client program typically a Web browser and an external server (typically another server on the Web) to filter requests, improve performance, and share connections.

Telnet Servers
A Telnet server enables users to log on to a host computer and perform tasks as if they're working on the remote computer itself.

Web Servers
At its core, a Web server serves static content to a Web browser by loading a file from a disk and serving it across the network to a user's Web browser. The browser and server talking to each other using HTTP mediate this entire exchange."

Thursday, March 26, 2009

TIOBE Software: Tiobe Index

TIOBE Software: Tiobe Index:
TIOBE Programming Community Index for March 2009
March Headline: All time high for JavaScript, all time low for Perl

The TIOBE Programming Community index gives an indication of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, and YouTube are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written."

Thursday, March 19, 2009

Learning Binary...

Learning Binary...: "
Introduction

We’ve all seen binary code. We’ve come to think of them as a bunch of ones and zeroes in long strings… 010010101010101001101011

But these ones and zeroes can also represent decimal numbers. First off, I will show you how to read these numbers as the decimal numbers we’re used to in our daily life. Then, I will show you how to use those numbers and your keypad to translate them into text. Note that your computer doesn’t use the decimal system, so technically, when it converts binary to text, it doesn’t go through the process I will show you. This is just a divertive way of explaining you how the binary system works.

The Binary System

Basics

Let’s think of the example above as empty slots:


First off, you read binary from right-to-left. It’s just the way it’s designed. The first slot from the right represents a value of one, the second from the right a value of two, the third from the right a value of four, the fourth from the right a value of eight, the fifth from the right a value of sixteen, and the cycle continues by multiples of 2. This will never change.


By putting a 1 or a 0 in those slots you are either saying you want to corresponding value that’s attached to that slot or you don’t. A 1 means yes, and a 0 means no. For example, putting a zero in the first slot from the right, but a 1 in the second slot from the right means you want a two, but not a one:

-------------------------------------------------

1 0

-------------------------------------------------

As such, the number above equals to a decimal value of two.


As an example, let’s say you want to represent eight in binary form. Well, thinking about the slots, you want the first slot to be 0 because you don’t want a one, you want the second slot to also be 0 because you don’t want a two, you want the third slot to also to be 0 because you don’t want a four, but you want the fifth slot to be 1 because you want a value of eight. As such, eight in binary form is:

-------------------------------------------------

1 0 0 0 (or simply 1000 without those underlines)

-------------------------------------------------

Now it is important to note that the amount of zeroes that precede the first value of one from the left is unimportant. So for example:

-------------------------------------------------

1 0 0 0 is the same as 0 0 0 1 0 0 0 (1000 = 000100)

-------------------------------------------------

To get it cleared up, here’s another example:

-------------------------------------------------

0 1 is the same as 1

-------------------------------------------------


Exercises

Question: What do the following equal in decimal terms?

a) 100

b) 000100

c) 100000

d) 0010

Answers:

a) 4

b) 4

c) 32

d) 2


More Binary!

If you got the answers above right, then you pretty much understand the basics of binary. Let’s now understand how to get the corresponding decimal values to the numbers which are not multiples of 2.


To get the total value of a binary number, add the values corresponding to each slot. So, for example, three in binary would be:

----------------------------------------------------

11

----------------------------------------------------

The above corresponds to three because if you add the total values of all the slots, that is to say a one from the slot to the right, and a two from the second slot to the right, then it equals three.


As another example, let’s say you want to represent 5 in binary terms. Then you would need a value of one to be added to a value of four, and you would not want a value of two:

---------------------------------------------------

101 [Reading from the right: 1(one) + 0(two) + 1(four) = five]

---------------------------------------------------

Here’s an additional example:

---------------------------------------------------

001011 [Reading from the right: 1(one) + 1(two) + 0(four)
+ 1(eight) + 0(sixteen) + 0(thirty-two) = eleven)

---------------------------------------------------

Exercises

Question: What do the following equal in decimal terms?

a) 11011

b) 110

c) 010101

d) 10110

Answers:

a) 27

b) 6

c) 21

d) 22


If you got the above questions correct [without cheating], then you essentially understand the binary system. Understanding the binary system was the hard part. What follows is pretty easy.


Converting Binary to ASCII (Text)

Basics

ASCII is essentially the letters, numbers and symbols that are stored in our computers through the use of fonts. When the keyboard relays the buttons you pressed, it sends in a code which is then converted to the ASCII equivalent of “k” or “5” or whatever key you pressed.

Here’s an example of a message “hidden” in binary text:

---------------------------------------------------------

0100100001100101011011000110110001101111

---------------------------------------------------------

Now there are only so many letters, numbers and symbols stored for ASCII. Having sets of 8 digits for their binary equivalent is more than enough to represent all of these letters and the like. As such, all strings that represent text like in the above are separated into bits of 8 for simplicity:


----------------------------------------------------------

01001000 01100101 01101100 01101100 01101111

----------------------------------------------------------

Okay, so our example message was separated into 8 digit strings. The decimal value for each of these strings in the example was calculated for you.


----------------------------------------------------------

01001000 = 72
01100101 = 101
01101100 = 108
01101100 = 108
01101111 = 111

----------------------------------------------------------

The result was 72,101,108,108,111. Now, there is something called the ASCII table. It essentially corresponds to the binary numbers from yore to the equivalent letters/symbols/numbers. But since we found the decimal values of these binary strings, we can use a major shortcut.


By pressing ALT + [The Number], you will get the ASCII equivalent of that number. For example, by pressing the ALT key and at then (while keeping it down) the numbers 72 in any text editor, you will get the corresponding “H” to show up.


Let’s do so for the entire example message:

-----------------------------------------------------

72 = H
101 = e
108 = l
108 = l
111 = o

-----------------------------------------------------

So the entire “hidden” message translates to “Hello”.

Excercise

Question: Decode the following message

01000011011011110110111001100111011100100110000101 11010001110
10101101100011000010111010001101001011011110110111 00111001100100001


Hint: The first step on your way to decoding the message (separated into bytes for you)

---------------------------------------------------------

01000011 01101111 01101110 01100111 01110010
01100001 01110100 01110101 01101100 01100001
01110100 01101001 01101111 01101110 01110011
00100001

---------------------------------------------------------"

Thursday, March 12, 2009

Virtualization & Cloud Computing Providers and Contributors

Virtualization & Cloud Computing Providers and Contributors : "Virtualization Technology Providers and Contributors in 2008-2009
The following companies are among the providers and contributors of Virtualization technology: 3PAR, Accellion, Acronis, Actional, Active Endpoints, ActiveGrid, activePDF, ActiveServers, ActiveState, Actuate, Adaptec, Agile Software, AGiLiENCE, Agilysys, Akorri, AlachiSoft, Alter Logic, Altor Networks, Altova, AMD, AMDAHL, Amentra, Amyuni, anacubis, Apani, APC, Appcelerator, AppSense, AppStream, Array Networks, Ascential, Astaro, Attune Systems, Autodesk, AutoVirt, Availl, Avanade, Azul Systems, Barracuda Networks, BEA Systems, B-hive, Black Duck Software, Blackbaud, Blade Network Technologies, Blue Coat, Blue Lane, BlueArc, BlueNote Networks, BluePheonix Solutions, BMC Software, Borland, Bristol Technology, Brix Networks, BroadVision, Brocade, Burton Group, Business Objects, CA, CalAmp, Cassatt, Cast Iron Systems, Catbird, Cayenne Technologies, Ceedo Technologies, Cenzic, Certeon, CiRBA, Cisco Systems, Cision, Citrix Systems, ClearApp, ClearCube Technology, CollabNet, Compass America, Composite Software, Compugen, Compuware, Configuresoft, Continuity Software, Coraid, Courion, Coyote Point Systems, Crescendo Networks, CSC, DataCore, DataSynapse, Dell, Desktone, Digipede Technologies, Double-Take Software, Ecora Software, EDS, eG Innovations, Egenera, Elastra Corporation, Electric Cloud, Embotics, EMC Corporation, Emulex, Endeavors Technology, Enigmatic Corporation, Enterprise Management Associates, Entuity, EqualLogic, Ericom Software, ESRI, EVault, eXludus Technologies, F5 Networks, FalconStor, FastScale Technology, Foedus, Force10 Networks, Fortisphere, Forum Systems, Fujitsu, GemStone Systems, Getronics, GlassHouse, Green Hills Software, Grid Dynamics, GridGain Systems, GT Software, Hitachi, HP, Hyper9, Hyperic, IBM, ICEsoft, IGEL Technology, Illumita, ILOG, IMEX Research, Information Builders, Ingres, InstallFree, Integrien, Intel, Intellium, International Computerware, iTKO LISA, JBoss, Juniper, KACE, Kidaro, LeftHand Networks, Leostream, Lifeboat Distribution, Liquid Computing Corporation, Liquid Technology, Lynux Works, Mainline, ManageIQ, Managed Methods, ManageSoft, Marathon Technologies, McAfee, Mellanox Technologies, Microsoft, Mid-Atlantic Computers, Mindbridge Software, Mindreef, MKS, MonoSphere, Motorola, MQSoftware, mySoftIT, NASTEL, Ncomputing, NEC, Neocleus, NeoPath Networks, Neoware, NetApp, Netegrity, Neterion, Netuitive, Neverfail, Nexaweb, NextAxiom, Nimbus, Nimsoft, Niyuta, NoMachine, Novell, ONStor, Opalis Software, Open Kernel Labs, OpenSpan, OPNET Technologies, Optaros, OpTier, Oracle, Pano Logic, Parallels, Parasoft, Perforce Software, PHD Technologies, Phoenix Technologies, Phurnace Software, Pillar Data Systems, PlateSpin/Novell, Progress Software, Prolifics, ProSync Technology, Provision Networks, QLogic, Quest Software, Racemi, Raritan, Raxco Software, Red Hat, Reflex Security, Resolution Enterprises, RingCube Technologies, Riverbed Technology, Rogue Wave Software, RSA Security, Sagnet Solutions, SanDisk Corporation, SAP, SAVVIS, ScaleMP, Scalent Systems, Seanodes, Secure Command, Secure Computing, Sentillion, Shavlik Technologies, ServInt Internet Services, Silpion IT Solutions, SIMtone, Skytap, Skyway Software, Software AG, Sonasoft, SourceGear, Splunk, StackSafe, SteelEye Technology, StillSecure, StoneFly, Stonesoft, Stoneware, StoreVault, StrikeIron, STT WebOS, Sun Microsystems, SunGard, Supermicro Computer, Surgient, SWsoft, Sybase, Symantec, Systar, TBD Networks, Tenfold, TheInfoPro, Thinstall, Third Brigade, TIBCO Software, Tidal Software, Tideway Systems, TOA Solutions, TRANGO Virtual Processors, Trend Micro, Tresys Technology, Trigence, Tripwire, Ulteo, Unisys, United Devices, VaST Systems, VDIworks, VeeAm Software, Verari Systems, Verio, VeriSign, Vicom Computer Services, VirtenSys, Virtera, Virtual Iron, VirtualLogix, Virtugo Software, Virtutech, VisionCore, Vizioncore, VKernel, VMLogix, vmSight, VMware, Vordel, vThere-Sentillion, Vyatta, WaveMaker, Web Age Solutions, WSO2, Wyse Technology, XDS, XenoCode, Xiotech, xkoto, Xsigo Systems, Zenith Optemedia, Zeus Technology.

Cloud Computing Technology Providers and Contributors in 2008-2009
The following companies are among the providers and contributors of Cloud Computing technology: 10Gen, 3Leaf, 3Tera, Absolute Performance, Accenture, Akamai, Amazon.com, Appirio, Appistry, Areti Internet, Boomi, Box.net, Canaan Partners, Cloud9 Analytics, CloudWorks, CNI Systems, CohesiveFT, CSRware, DataDirect, Dell, DNAmail, eBay, Elastra, EMC, EngineYard, Enki Consulting, Enomaly, Excelian, Flexiscale, Fortress ITX, Forum, GigaSpaces, GoGrid, Google, HP, IBM, IBRIX, Joyent, JumpBox, Layered Technologies, Level 3 Communications, Linxter, LongJump, MDV, Microsoft, Moka5 (MokaFive), Mosso, NewServers, Nirvanix, Ocarina Networks, OpSource, Panorama Software, Peer1 Networks, Pervasive Software, Platform Computing, PLX Technology, Qlayer, Rackspace, RampRate, Red Hat, RightScale, rPath, Salesforce.com, Saugatuck Technology, ServePath, Skills Matter, Skytap, SnapLogic, SOASTA, Sun Microsystems, Symphoniq, Symphony Services, Tap In Systems, Teneros, Terremark, Transitive Corporation, Univa UD, Verizon Business, Vertica, VMware, XCalibre, Zabovo.com, ZOHO and Zuora."

Friday, March 6, 2009

Jumper: JasperReport Export to Excel Snippet code


Jumper: JasperReport Export to Excel Snippet code
:
"Sample code that will export JasperReport(.jasper) to excel, pay attention to the bold code
that's all the tricks. The sample servlet will accept two parameter the date and the name of the report.


/*
* JasperToExcel.java
*/

import bean.report.RowStatistics;
import java.io.*;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import javax.servlet.*;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.data.JRMapCollectionDataSource;
import net.sf.jasperreports.engine.export.JExcelApiExporter;
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;

/**
*
* @author amontejo
* @version
*/
public class JasperToExcel extends HttpServlet {

public static final String REPORT_DIRECTORY = '/reports';

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
String reportName = request.getParameter('reportname');
String selectedyear = request.getParameter('SelectedYear');
InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream('/' + REPORT_DIRECTORY + '/' + reportName + '.jasper');

ServletContext context = this.getServletConfig().getServletContext();
JasperPrint jasperPrint = null;
HashMap parameterMap = new HashMap();

parameterMap.put('parayear', new String(selectedyear));

try {
ServletOutputStream servletOutputStream = response.getOutputStream();
JRDataSource dataSource = createReportDataSource(request, selectedyear, reportName);
jasperPrint = JasperFillManager.fillReport(reportStream, new HashMap(), dataSource);
generateXLSOutput(reportName, jasperPrint, response);
} catch (Exception e) {
}
}

private String tagreport(String string) {
java.util.Calendar calendar = java.util.Calendar.getInstance();
return string + calendar.get(calendar.MONTH) + calendar.get(calendar.DAY_OF_MONTH) + calendar.get(calendar.YEAR);
}

private void generateXLSOutput(String reportname,
JasperPrint jasperPrint,
HttpServletResponse resp)
throws IOException, JRException {
String reportfilename = tagreport(reportname) + '.xls';
JExcelApiExporter exporterXLS = new JExcelApiExporter();

exporterXLS.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);
exporterXLS.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, resp.getOutputStream());
resp.setHeader('Content-Disposition', 'inline;filename=' + reportfilename);
resp.setContentType('application/vnd.ms-excel');

exporterXLS.exportReport();
}


//
/** Handles the HTTP GET method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/** Handles the HTTP POST method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return 'Short description';
}
//
}"