You're right, you can't reference another sheet in a DataValidation formula.
But you can't do that in Excel neither...

Just define a named range in Sheet1 on cells A1:A4 and use it instead
of the sheet reference :

String strFormula = "MyNamedRange";

This will be accepted either in Excel and in POI.

Anyway, this was not working in POI until some recent changes, be sure
to use a recent SVN build or get the source from 3.1 and apply the
changes I've posted recently about HSSFDataValidation.


Hope it helps...

Pierre

On Tue, Sep 9, 2008 at 8:24 PM, krishnanand thiyadath
<[EMAIL PROTECTED]> wrote:
> Hi Pierre,
>
> Thanks for your reply.
>
> I am using the following code and adding data validation to a cell. The cell
> to which i am adding the data validation is in Sheet2. And the named range
> that i have created is in Sheet1
>
> String strFormula = "Sheet1!$A$1:$A$4"; // cells that are in different sheet
> is referenced
> data_validation = new
> HSSFDataValidation((short)(start_row),(short)0,(short)(start_row),(short)0);
>
> data_validation.setDataValidationType(HSSFDataValidation.DATA_TYPE_LIST);
>    data_validation.setFirstFormula(strFormula);
>    data_validation.setSecondFormula(null);
>    data_validation.setSurppressDropDownArrow(false);
>    data_validation.createErrorBox("Invalid input !", "Something is wrong ;
> check condition !");
>    data_validation.createPromptBox("Hi , dear user !", "So , you just
> selected me ! Thanks !");
>    fSheet.addValidationData(data_validation);
>
> and then finally writing it to new file.
>
> When i try to open the file, it shows me a error message "Data has been
> lost".
> And Finally when the file is opened, i dont see any data in the cell, to
> which i have added the data validation.
>
> Note: Instead of referencing the cells from different sheet, if i reference
> from the same sheet, then there is no problem.
>
> If you need any clarification or any more information, please let me know.
>
> thanks in advance.
>
>
> On Tue, Sep 9, 2008 at 10:34 PM, Pierre Lavignotte <
> [EMAIL PROTECTED]> wrote:
>
>> Hi,
>>
>> you can use the named range in formulas or in Data Validation too.
>>
>> Search for recent messages with HSSFDataValidation and you will find
>> some exemple code.
>> Come back if you need more information.
>>
>> Pierre
>>
>> On Tue, Sep 9, 2008 at 1:33 PM, krishnanand thiyadath
>> <[EMAIL PROTECTED]> wrote:
>> > Hi Guys,
>> >
>> >  I have created a named range using the following code
>> >
>> >  HSSFWorkbook wb = new HSSFWorkbook();
>> >
>> >  HSSFName name = wb.createName();
>> >  name.setNameName("test");
>> >  name.setReference("sheet1!$A$1:$A$4");
>> >
>> >  But i dont know, how to reference this named range in other cell.
>> >
>> >  For example in MS Excel, if i create a named range, i can use it in
>> > DataValidation, by selecting the named range name as source and type as
>> > LIST.
>> >
>> >  Can any one tell me, how we can use the named range using POI.
>> >
>> > --
>> > with thanks,
>> > krishnanand.
>> >
>>
>>
>>
>> --
>> Cordialement,
>> Pierre Lavignotte
>> Ingénieur Conception & Développement
>> http://pierre.lavignotte.googlepages.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> --
> with thanks,
> krishnanand.
>



-- 
Cordialement,
Pierre Lavignotte
Ingénieur Conception & Développement
http://pierre.lavignotte.googlepages.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to