Hi all,

I am thinking about extending the ExcelAnt framework to be able to create 
workbooks from various data sources. Some of the people I have worked who use 
Excel heavily often times have to go through several steps to extract data from 
databases and CSV files before then can build their workbooks.   Usually it is 
aggregating data from many sources into a single workbook.  This can be a time 
consuming task simply due to the number files or databases with which they have 
to interact. 


Also, in many cases, they will have some boiler plate sheets they want to 
create.  I believe ExcelAnt can make this less painful by allowing them to 
create workbooks from Ant in a highly repeatable fashion that is also platform 
neutral.

I want to extend ExcelAnt to cover these cases.  I am seeking feedback from you 
on the following proposed additions to ExcelAnt:


Feature Requests for POI ExcelAnt
---------------------------------

The following are upgrades being requested for Apache POI ExcelAnt.

I. Add the ability to create a workbook and persist it to the filesystem.

Example:

    <excelant>
        <createWorkbook file="/absolute/path/to/new.xls" overwrite="true">
            <addSheet name="sheet1">
                <setCell address="A1" type="Cell.Types" value="someValue"/><!-- 
where Cell.Types are the types supported by POI-->
                ...
            </addSheet>
        </createWorkbook>
    </excelant>
    

II. Add the ability to update an existing workbook.

Example:

    <excelant>
        <updateWorkbook file="/absolute/path/to/new.xls" create="true"> <!-- 
will create the WB if it doesn't exist-->
            <updateSheet name="sheet1">
                <setCell address="A1" type="Cell.TypeConstants" 
value="someValue"/>
                ...
            </addSheet>
        </createWorkbook>
    </excelant>
    

    
III. Add the ability to create/update sheets from the ResultSet of a SQL 
statement run through JDBC.

Example:

    <excelant>
        <createWorkbook file="/absolute/path/to/new.xls" overwrite="true">
            <addSheet name="sheet1" startAt="b5" maxRows="100" maxColumns="50">
                <sql statement="select a, b, c from some.table where 
a='something'">
                    <connection driver="driver.class.name"
                                url="jdbc:url"
                                username="username"
                                password="password"/>
                    
                </sql>
            </addSheet>
        </createWorkbook>
    </excelant>


IV. Add the ability to create/update sheets from CSV files.

Example:

<excelant>
    <createWorkbook file="/absolute/path/to/new.xls" overwrite="true">
        <addSheet name="sheet1" startAt="b5" maxRows="100" maxColumns="50">
            <csv file="/absolute/path/to/file.cvs"/>
        </addSheet>
    </createWorkbook>
</excelant>




Not only can I envision that this would help people who want to create 
workbooks 
for various analysis, I also think it would help in testing POI itself.  
Currently with ExcelAnt you have to have existing workbooks.  In some cases it 
might also be nice for a test to create workbook on the fly (though this is a 
slippery slope in some ways, since you are testing against a workbook that POI 
will have created so why wouldn't it test out as expected?).

I'd be curious to know what people think about this idea, if you have any 
opinion at all on this please feel free to share it.  If there are tools that 
do 
something like this already, feel free to share that as well.

Sincerely,

Jon

Reply via email to