Solved

Export queries as excel files

Posted on 1998-02-18
13
198 Views
Last Modified: 2010-05-18
Hi,

I'm generating dynamic html sites which represent content of a specific database. The next step is to perform a possibility to download such a report as excel (5.0) format.
Does anyone knows whether there exists already such a filter in any java class and where to get it? I would also be grateful for the accurate description of the composition of an excel spreadsheet file (including header, ...).
Thanks in advance
0
Comment
Question by:trouvain
13 Comments
 
LVL 32

Expert Comment

by:jhance
Comment Utility
I'm not aware of any Java class that write directly to the Excel 5.0 file format.  I'd recommend a different approach, however.  The problem with using a direct to Excel approach is that you are then dependent upon the version of Excel that is installed on the computer and you never know if/when MS will change the file format.  They don't guarantee that it will remain constant.  The .csv format, howver, it widely used and is very easy to both create from another program and use in another non-Excel program.  You might want to consider just dumping your data to a csv file which can be opened by Excel without any special processing.  In other words, Excel know how to deal with a csv file by default.
0
 

Author Comment

by:trouvain
Comment Utility
This answer was very poor indeed. Firstly I asked for the excel save format for my reasons. At the other hand I didn't found any description of the .csv format.
0
 
LVL 5

Expert Comment

by:fontaine
Comment Utility
The best option is to output your data as columns, tab or comma separated. This is easy Java programming and such files are exportable to Excell (all versions!), MS Access (all versions!), and all similar spreadsheet or database, even not from Microsoft!

Example:

Save this in test.txt:

Column1,Column2
Data1,Data2

Open Excell, go to "File|Open...", select test.txt. Excell will prompt a wizard for exporting the file to the spreadsheet!
0
 

Author Comment

by:trouvain
Comment Utility
Sorry,
but this is also too poor for 200 points. I have to provide a more convenient way for my clients to load spreadsheet. I can't tell them to handle import wizards and so on.
0
 
LVL 5

Expert Comment

by:fontaine
Comment Utility
If you use tabs, it is only click "Finish" on the wizard panel automatically poped up when trying to open the file. Difficult, indeed!
0
 
LVL 6

Expert Comment

by:jpk041897
Comment Utility
The only alternative I can think of, would be to use a JDBC-ODBC bridge on the server side.

In this fashion, you could populate an Excel file via ODBC calls, you would then need a signed JNI class to actualy write (or copy) the contents to your clients box. (Or FTP as an alternative).
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 5

Expert Comment

by:fontaine
Comment Utility
trouvain, in my previous answer, simply turn test.txt into test.csv and this time no wizard is needed to export the data to the spreadsheet.
0
 

Author Comment

by:trouvain
Comment Utility
I don't see any progress in these answers. But I have one remark for fontaine:
Perhaps you should have mentioned the quoting. I've found it somewhere else.
0
 
LVL 5

Accepted Solution

by:
fontaine earned 200 total points
Comment Utility
trouvain, you have not tried what I proposed, otherwise you would have accepted the answer!

You rejected my previous answer because of the wizard that was popping up. I then solved this problem. The file to download had to be a file with a ".csv" extension and the syntax I described: columns separated by commas. I *ALWAYS* test my answers. Please do the same!


0
 
LVL 5

Expert Comment

by:fontaine
Comment Utility
And in case one item should include a comma, simply double quote it.

Example:

aaa,bbb,"ccc,ddd" -> 3 colums in Excell, the last being ccc,ddd
0
 
LVL 5

Expert Comment

by:fontaine
Comment Utility
If the item contrains a double quote, double it:

Example:

aaa,bbb,"ccc,d""dd" -> 3 colums in Excell, the last being ccc,d"dd
0
 

Author Comment

by:trouvain
Comment Utility
Do you wanna kidding me? I said I've found the solution for the quoting problem. But it doesn't matter if you test your answers. It seems to me that nobody is able to answer the core question. Since I found no F-Button I'm going to make you a gift with 200 points in it!
0
 
LVL 5

Expert Comment

by:fontaine
Comment Utility
Trouvain, if you had taken a look at the section about questions waiting to be graded, you would have seen that I am currently answering to 1 question on 4 on this site! Experts have no money for answering the questions, only the pleasure to help someone else. If you have no respect for this, don't be astonish if you have no more help!
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
This video teaches viewers about errors in exception handling.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now