threebit.NET

Jexcel

Jexcel is a collection of jsp's and beans that will allow a developer to generate the Excel Web Publishing objects in a clients browser. To my knowledge it is the only project of its kind, due (possibly) to the bizzare nature of the Microsoft Web Publishing APIs.

Here is an example of what JExcel can do.

No commercial or proprietary software is required to run Jexcel except a jsp or servlet container, like resin.

download:
1.0 2003-01-11
documentation: readme, changelog
status: Production. Jexcel is ready for production (and is currently in production).
maintainer: Shawn Deleurme
license: GPL
keywords:

-----[ INTRODUCTION ]------------------------------------------------

Jexcel is a reaction to the bizarre windows IE apis designed to 
deliver rich client-side Excel components to the browser. 

The programs in this suite have been built using the design 
philosophy of "simple programs that do one thing well".  You will not
find any monolithic APIs or application frameworks here.

Contact Threebit if you have questions, bugs, bug fixes, etc.

Cheers,
Shawn Deleurme,
shawn -at- deleurme.com


http://www.threebit.net/

-----[ EXAMPLE JSP ]-------------------------------------------------
<html> 
<head></head> 
<body onLoad="run()" >
<% 
  // Jexcel now flushes after every method call.
  List items = new ArrayList () ; 
  ExcelSheet sheet = new ExcelSheet("sheet", out, items,"800", "400", "Transactions");

  // Right a resultset to a sheet, call i thrans and have it start at A1 
  int lastrow = sheet.drawTable("trans", db.query ( sql ), "A1");

  // Opens up a manual formatting block.  The name is really unimportant. 
  sheet.openManual("formatting");
  // Select some rows. 
  sheet.rawWrite(".Range(\"D1:I"+lastrow+"\").Select");
  // Format them as currency. 
  sheet.rawWrite(".Selection.NumberFormat = \"$0.00\"");
  // Autofit is cool. 
  sheet.autofit();
  sheet.closeManual();
%> 
<script language=VBScript>
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' This is where any scripts that need be included and run on startup by the report app end up
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub run ()
  <% for(Iterator i=items.iterator();i.hasNext();){out.println(i.next()+"()\n"); } %>
End Sub
</script>
</body>
</html>

-----[ LICENSE ]-----------------------------------------------------

$Id: readme.txt,v 1.2 2003/01/11 08:15:37 kevino Exp $

Copyright 2003 Shawn Deleurme and Kevin O'Donnell

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

See LICENSE.TXT for a full copy of the GNU General Public License.

http://threebit.net/projects/jexcel.shtml